介绍一些Windows下的经常使用网络命令,用于网络故障的分析和排查。不求所有记下,但求留个印象,在网络出现问题时可以想到有这些个工具。程序员
环境:shell
ping是用于判断两个电脑的IP层是否连通的一个工具,经过发送一个ICMP回显报文,若是两电脑链接,该报文将会被返回。不然ICMP错误报文将被返回。缓存
基本使用 ping 主机名/域名/ipbash
ping xx-pc #主机名
ping 192.168.0.205 #ip
ping baidu.com #域名
复制代码
大小、次数、跳跃数、时间服务器
# 发送缓冲包大小,默认32,最大65527
ping /l 1000 10.0.99.221
# 发送次数,默认四次
ping /n 10 10.0.99.221
# 一直发送直到中断
ping /t 10.0.99.221
# 设置TTL值(可认为是容许中转路由数,即跳跃数),默认是IP协议默认的TTL值
ping /i 10 10.0.99.221
# 等待的时间,单位毫秒
ping /w 10 10.0.99.221
复制代码
宽松选路/严格选路 到达目的地址前须要通过的一些地址,严格选路是严格按照地址顺序,宽松选路是只须要通过地址便可(即每一个地址之间能够通过不少其余地址)。因为IP报文自身的限制,最多可指定的地址列表为9个。网络
# 宽松选路
ping /j 10.12.0.1 10.29.3.1 10.1.44.1 10.0.99.221
# 严格选路
ping /k 10.12.0.1 10.29.3.1 10.1.44.1 10.0.99.221
复制代码
测试了下,并不成功,mac系统上对应的命令,没有这类选项,难道是不支持了「(°ヘ°)。工具
用于显示当前TCP/IP网络配置以及刷新DHCP和DNS设置。学习
显示测试
# 显示全部网络适配器(包括虚拟机)的基本信息:
# 适配器名、IPv四、IPv六、子网掩码、默认网关
ipconfig
# 显示全部适配器的所有信息,基本信息加上:
# 物理地址、DHCP是否启用、自动配置是否启用、DNS 服务器
# DHCPv6 IAID、 DHCPv6 客户端 DUID、TCPIP 上的 NetBIOS
ipconfig /all
# 显示 DNS 解析程序缓存的内容。
ipconfig /displaydns
复制代码
修改ui
# 清除 DNS 解析程序缓存
ipconfig /flushdns
# 更新指定适配器的 IPv4 地址,名称可用通配符
ipconfig /renew "Local*"
# 刷新全部 DHCP 租用并从新注册 DNS 名称
ipconfig /registerdns
复制代码
显示协议统计信息和当前 TCP/IP 网络链接
链接信息
# 显示全部链接和监听,实时显示
netstat -a
# 每一个链接或监听所涉及的执行程序
netstat -b
# 显示 proto 指定的协议的链接(TCP、UDP、TCPv六、UDPv6)
netstat -p proto
复制代码
路由表
# 显示路由表,包括:IPv四、IPv六、默认路由、接口列表
netstat -r
复制代码
统计信息
# 显示每一个协议统计(IP四、IP6的:IP、ICMP、TCP、UDP)信息
# 加上p参数能够指定协议
netstat -s
# 显示以太网统计信息
netstat -e
复制代码
路由表相关命令
# 显示路由表
route print
复制代码
还有手动添加、修改、删除的命令,感受用处不大,用的时候再去查吧,就不一一介绍了。
显示DNS相关信息
# 使用默认服务器的交互模式
nslookup
# 使用 "server" (对应的DNS服务器)的交互模式
nslookup - server
# 仅查找使用默认服务器的 "host"(域名)
nslookup host
# 仅查找使用 "server" 的 "host"
nslookup host server
复制代码
跟踪路由信息,基于ICMP回显报文和UDP端口错误,等价于traceroute程序。
-h maximum_hops
搜索目标的最大跃点数。-j host-list
与主机列表一块儿的松散源路由(仅适用于 IPv4)。跟ping同样,但一样没法使用,缘由未知。-w timeout
等待每一个回复的超时时间(以毫秒为单位)。# 基本使用
tracert www.baidu.com
# 设置跳转次数和时间
tracert -h 10 -w 5 www.baidu.com
# 设置宽松路径
tracert -j 10.1.16.113 www.baidu.com
复制代码
显示和修改地址解析协议(ARP)使用的“IP 到物理”地址转换表(ARP缓存)。
# 添加arp缓存项
arp -s inet_addr eth_addr [if_addr]
# 删除arp缓存项
arp -d inet_addr [if_addr]
# 查看arp缓存项
arp -a [inet_addr] [-N if_addr] [-v]
复制代码
-N if_addr
:显示指定if_addr的arp缓存-v
:详细模式显示,全部无效项和环回接口上的项都将显示。公众号二分之一程序员,专一计算机基础的学习,欢迎关注 :)