本文介绍几个测试网络连通性的常用命令,以Windows平台为主,包括ping
,telnet
,tracert
,pathping
。
Ping
Ping
是最常用的网络连通性测试命令,作用是通过ICMP协议,测试数据包能否到达目的主机。
常用参数
-t
: ping指定主机,直到停止。Ctrl+Break
,查看统计信息并继续。Ctrl+C
,停止。-a
: 将地址解析为主机名。-n size
: 请求size次。-l size
: 发送缓冲区大小。-f
: 在数据包中设置“不分段”标记(仅适用于 IPv4)。
奇巧淫技
除了使用参数-t
一直ping
目的主机到天荒地老之外,还有其他的奇巧淫技。
(1) -a
的作用:不知道谁占用了IP地址,可以尝试使用-a
参数ping
一下,有时候会解析到主机名,然后通过主机名查找到人。1
2
3
4
5
6
7
8
9
10
11
12C:\Users\Jeremy>ping -a 127.0.0.1
正在 Ping Jeremy-Dell [127.0.0.1] 具有 32 字节的数据:
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64
来自 127.0.0.1 的回复: 字节=32 时间<1ms TTL=64
127.0.0.1 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 0ms,平均 = 0ms
其中,Jeremy-Dell
就是主机名。
(2) 测试MTU大小。MTU
是最大传输单元(Maximum Transmission Unit),通常指在无需分段的情况下,可以传输的最大IP报文(包含IP头)。以太网的默认MTU是1500。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23C:\Users\Jeremy>ping -f -l 1472 192.168.10.1
正在 Ping 192.168.10.1 具有 1472 字节的数据:
来自 192.168.10.1 的回复: 字节=1472 时间=2ms TTL=64
来自 192.168.10.1 的回复: 字节=1472 时间=2ms TTL=64
来自 192.168.10.1 的回复: 字节=1472 时间=2ms TTL=64
来自 192.168.10.1 的回复: 字节=1472 时间=2ms TTL=64
192.168.10.1 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 2ms,最长 = 2ms,平均 = 2ms
C:\Users\Jeremy>ping -f -l 1473 192.168.10.1
正在 Ping 192.168.10.1 具有 1473 字节的数据:
需要拆分数据包但是设置 DF。
需要拆分数据包但是设置 DF。
需要拆分数据包但是设置 DF。
需要拆分数据包但是设置 DF。
192.168.10.1 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),
由上面的测试可知,当ping
的包大小是1472时,不需要分包,否则需要分包,提示错误。
IP包头长度是20,ICMP包头长度是8,加起来1472+20+8=1500,正好是MTU大小。
所以,当需要测试网络延时,通过-l
不需要选择超过1472的包,因为再大的包也就分包了。
Telnet
Telnet
不仅可以远程连接服务器,还可以用于测试TCP端口的连通性。在虚拟机03:网络设置中曾经介绍过Telnet的使用方法。再总结一下。
Telnet的安装
Windows7以上版本默认没有安装Telnet客户端,需要手动安装。安装路径为:控制面板->程序->启用或关闭Windows功能->勾选“Telnet客户端”,确定即可。
使用
测试服务器192.168.80.23
的4000
端口。如果成功,则黑屏,如果失败,则会提示。1
2C:\Users\Jeremy>telnet 192.168.80.23 4000
正在连接192.168.80.23...无法打开到主机的连接。 在端口 4000: 连接失败
Tracert
Tracert
命令的作用是显示数据包在ip网络经过的路由器的ip地址,尤其是可以检测出哪一跳的路由不可达。1
2
3
4
5
6
7
8
9
10
11C:\Users\Jeremy>tracert 219.147.1.66
通过最多 30 个跃点跟踪到 219.147.1.66 的路由
1 3 ms 1 ms 1 ms 192.168.10.1
2 8 ms 19 ms 11 ms 100.64.0.1
3 5 ms * 5 ms 60.235.29.61
4 14 ms 10 ms 9 ms 219.147.1.70
5 6 ms 5 ms 4 ms 219.147.1.66
跟踪完成。
Pathping
Pathping
是Windows自带的网络诊断工具,在一段时间内,从本地至目的地之间发送多个Echo Request消息给中间经过的每个节点,然后基于数据包从每个路由器返回的信息来计算结果。所以,pathping
可以显示每个节点的数据包丢失的百分比,以便判断具体哪个节点或子网可能出现网络故障[1]。pathping
是ping
和tracert
的结合体,执行与tracert
相同的路由跟踪命令去识别这条路径上有哪些路由,然后ping
每个节点100个数据包,获取返回信息后去计算每个节点的统计信息。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27C:\Users\Jeremy>pathping 219.147.1.66
通过最多 30 个跃点跟踪到 219.147.1.66 的路由
0 Jeremy-Dell [192.168.10.110]
1 192.168.10.1
2 100.64.0.1
3 60.235.29.61
4 * 219.147.1.70
5 219.147.1.66
正在计算统计信息,已耗时 125 秒...
指向此处的源 此节点/链接
跃点 RTT 已丢失/已发送 = Pct 已丢失/已发送 = Pct 地址
0 Jeremy-Dell [192.168.10.110]
0/ 100 = 0% |
1 3ms 0/ 100 = 0% 0/ 100 = 0% 192.168.10.1
0/ 100 = 0% |
2 5ms 0/ 100 = 0% 0/ 100 = 0% 100.64.0.1
0/ 100 = 0% |
3 18ms 0/ 100 = 0% 0/ 100 = 0% 60.235.29.61
0/ 100 = 0% |
4 --- 100/ 100 =100% 100/ 100 =100% 219.147.1.70
0/ 100 = 0% |
5 5ms 0/ 100 = 0% 0/ 100 = 0% 219.147.1.66
跟踪完成。
通过以上跟踪219.147.1.70
可达,但ping
的丢包率是100%,可见加了防火墙。
如果本文对你有所帮助,请小额赞助。
~~ EOF ~~