网络03:网络连通性测试的相关命令

本文介绍几个测试网络连通性的常用命令,以Windows平台为主,包括pingtelnettracertpathping

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
12
C:\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
23
C:\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.234000端口。如果成功,则黑屏,如果失败,则会提示。

1
2
C:\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
11
C:\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]
pathpingpingtracert的结合体,执行与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
27
C:\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 ~~