全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
71
本书精选了运行于 Linux 环境下的多款常用网络管理工具,分别详细地介绍了这些软
件的功能、特点、适用范围、安装和使用方法。本书涉及到的网络工具主要有:系统管理、
网络地址管理、网络连通性测试、网络性能测试、网络安全性测试、系统日志、服务器监
控、远程操作、远程管理、虚拟机工具等,对于每个工具都介绍了操作实例,使读者能更
好的掌握这些工具的使用技巧,使系统更加稳定、网络更加安全。
本书内容全面、语言简练、通俗易懂,可作为网络管理员的即查即用工具手册,同时
也可作为 Linux 爱好者、学员的学习用书。
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
72
第 3章 网络连通性测试工具
在组建计算机网络时,首先应将各网络设备进行连接,并保证这些网络设备能正常工
作,再就是通信线缆没有损坏,没有在高强度的辐射、干扰的环境中,确认线路能正常通
信,最后是在计算机上进行相应的设置,在计算机上通过相应的工具软件测试网络的通信
质量,本章就将介绍如何测试网络的连通性。
3.1 Linux 图形界面下测试网络
目前所使用的大多数新版本的 Linux 操作系统都具有图形操作界面,这样使操作更为
快捷直观,在 Linux 操作系统中可利用“Network Tools”工具进行网络连通性测试。
执行“应用程序”/“系统工具”/“网络工具”菜单命令,将弹出如图 3-1 所示的“Network
Tools”对话框。
图 3-1 “Network Tools”对话框
在“Network Tools”对话框中有“设备”、“Ping”、“网络统计”、“Traceroute”、“端口
扫描”、“查询”、“Finger”和“Whois”8 个选项卡。
3.1.1 网络设备查询
在“Network Tools”对话框中选择“设备”选项卡,该选项卡的“网络设备”列表框
中列出了所有的网络设备,本机为单网卡,所以列出了一个环回设备“Loopback
Interface(lo)”和计算机上的第一块网卡“Ethernet Interface(eth0)”。
单击“网络设备”下拉列表,在弹出的列表中选择“Loopback Interface(lo)”,此时将
在 IP 信息列表中显示环回网址,IPv4 的环回网址是“127.0.0.1”,IPv6 的环回网址是“::1”,
在对话框的下方显示了环回设备的一些详细信息。
在“网络设备”下拉列表中选择“Ethernet Interface(eth0)”,此时将在 IP 地址栏中显
示已设置好的 IPv4 地址和 IPv6 地址,子网掩码信息,在对话框的下方还会显示网卡的接
口信息和接口统计信息,如图 3-2 所示。
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
73
图 3-2 “Network Tools”对话框的“设备”选项卡
3.1.2 网络连通性测试
在“Network Tools”选项卡中单击“Ping”选项卡,在“网络地址”文本框中输入目
标主机或目标设备的 IP 地址,也可输入网络中主机的名称或网络设备的名称。
输入目标主机名和 IP 地址后,再在“发送”文本框中输入发送数据包的数量,也可
选择“发送无限制请求”选项,再单击“Ping”按钮即可在文本框中显示测试结果,如图
3-3 所示。
图 3-3 “Ping”选项卡
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
74
从上图中的返回结果可以看出,与网络中 IP 地址为 192.168.0.66 的主机进行测试,共
计发送 5 个数据包,每个数据包的大小为 64Bytes,信息包响应返回最短时间为 0.02 毫秒,
最长返回时间为“2.63 毫秒”,平均返回时间为“1.08 毫秒”,证明本机与 IP 为 192.168.0.66
的主机能正常通信,并通信正常。
3.1.3 网络信息统计
在“Network Tools”对话框中单击“网络统计”选项卡,在该选项卡中有“路由表信
息”、“激活网络服务”、“多播信息”三个单选项,选中任何一个单选项,再单击“网络统
计”按钮即可显示出对应的统计信息,如图 3-4 所示就是显示了本机的路由表。
图 3-4 “网络统计”选项卡
3.1.4 网络路由跟踪
由于 Internet 网络遍布全球,这个网络体系非常的庞大,而这个大的网络就是利用非
常多的网络设备将其连接起来的,这些网络设备就相当于铁路上的站点。例如,从四川达
州站坐火车到上海市,中途需要经过哪些火车站。在计算机网络中也一样,如果本机要访
问“WWW.Google.cn”网站,由本地计算机到 Google 网站需要经过哪些站点呢,这就可
以利用 Linux 中的路由跟踪功能,在“Network Tools”对话框中选择“Traceroute”选项卡,
在“网络地址”文本框中输入目的网站地址,再单击“跟踪”按钮,此时将在列表中显示
出本机到达目标网站经过了哪些站点,并返回了每个站点间的数据包响应时长,如图 3-5
所示。
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
75
图 3-5 路由跟踪功能
3.1.5 网络端口扫描
通过“Network Tools”对话框中的“端口扫描”工具,还可以扫描出目标主机当前所
开放的端口号,例如,在网络地址栏中输入目标主机的 IP 地址“192.168.0.1”,再单击“扫
描”按钮,即可在列表中看到该主机所开放的端口,如图 3-6 所示。
图 3-6 端口扫描
在网络地址文本框中可输入目标主机的域名(如 WWW.Goole.cn),或者是目标主机
所对应的 IP 地址(如 203.208.33.100),如果扫描的是 Internet 网络中的目标主机,则需要
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
76
先将该接入 Internet。
3.1.6 网络查阅
在“Network Tools”对话框中选择“查阅”选项卡,再在“网络地址”文本框中输入
目标主机的名称或是 IP 地址,在“信息类型”列表框中选择需要显示的信息类型,再单
击“查阅”按钮,即可在对话框的下方显示出所需要的信息,如图 3-7 所示,显示了目标
主机的反向解析明称。
图 3-7 “Network Tools”对话框中的“查阅”工具
3.1.7 查询登录用户的信息
在“Network Tools”对话框中选择“Finger”选项卡,在该选项卡中直接输入需查询
的主机名称或 IP 地址,单击“Finger”按钮,此时即可显示出指定主机上已登录的用户,
例如,如图 3-8 所示就显示了 IP 地址为“192.168.0.10”主机当前已登录的用户列表。
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
77
图 3-8 查询登录用户的信息
3.1.8 域名查询工具
在“Network Tools”对话框中还有一个域名查询工具“WhoIs”,利用该工作可以查询
指定域名的注册公司名、网络营运商名称、域名注册日期和到期日期等信息,如图 3-9 所
示就显示了“msn.com.cn”域名的注册公司、网络营运商、DNS 服务器名称、注册日期、
到期日期等信息。
图 3-9 域名查询
以上工具都能测试成功的话,说明网络也就是畅通的。
3.2 Linux 命令行工具
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
78
3.2.1 Ping——网络连通性测试命令
“ping”命令是 Packet internet groper 的缩写,是在网络测试中使用最频繁的工具之一,
该命令提供两种基本服务:首先,利用该命令可确定一个或多个网络节点之间的下层连接
是否可用;其次可提供基本的网络性能统计数据,该数据可用于诊断与通信质量相关的网
络问
。
命令格式:ping [选项] <主机名或 IP 地址>
该命令各选项说明如表 3-1 所示。
表 3-1 三类 IP地址
命令选项 说明
-d 使用 Socket 的 SO_DEBUG 功能;
-c<发送包次数> 设置发送测试包的次数;
-f 极限检测,利用报文进行泛洪;
-i<间隔秒数> 指定发送数据包的间隔时间;
-I<网络界面> 使用指定的网络界面送出数据包;
-l<前置载入> 设置在送出要求信息之前,先行发出的数据包;
-n 在返回信息中不显示目标主机的名称,而只是显示 IP 地址;
-p<范本样式> 设置填满数据包的范本样式;
-q 不显示“ping”命令的执行过程,只显示结束统计信息;
-r 忽略普通的 Routing Table,直接将数据包送到远端主机上;
-R
路由过程;
-s<数据包大小> 设置数据包的大小;
-t<存活数值> 设置存活数值 TTL 的大小;
-v 详细显示命令的执行过程。
1. 确定网络设备系统可用性
“ping”命令可用于测试网络设备的一般可用性,被测试的网络设备可没有一般的操作
系统,例如,测试本机与网络中一个 ADSL Modem 是否可达,其操作方法如下:
[root@rh01 ~]# ping -c 4 192.168.1.1 //向 ADSL Modem 发出 4 条测试信息
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=1.00 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.934 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.938 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.951 ms
--- 192.168.1.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 0.934/0.956/1.002/0.034 ms, pipe 2
[root@rh01 ~]#
由以上返回结果可以看出,本机利用“ping”命令向 ADSL Modem 发出了四条测试信
息,总计也返回了四条报文,即测试过程中没有报文稿丢失。
若本机与 ADSL Modem 不能正常通信,则返回报文信息如下所示:
[root@rh01 ~]# ping -c 4 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
79
--- 192.168.1.1 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3000ms
[root@rh01 ~]#
在使用“ping”命令时,若本机与被测试的目标机不在同一网络中,但这两个网络间
的路由设备没有正常工作时,那么利用“ping”命令测试结果必然会将报文全部丢失,即
网络连接不通。如图 3-10 所示,本机处于网络 A,目标设备处于网络 B,两个网络间是以
一个路由器进行连接的,若该路由器没有工作,则本机与目标机是无法通信的。
ADSL Modem
(192.168.1.1)
路由器
本机
(192.168.0.10)
网络 A
网络 B
图 3-10 两个不同的网段
在使用“ping”命令测试与网络中其他设备之间的连通性时,若不加任何参数,而是
直接测试 Ping 网络中的主机,则本机将会一直不断地向目标设备发送测试数据包,并返回
报文信息,直到按快捷键“Ctrl+C”结束发送数据包,并统计报文信息。
2. 测试网络性能
“ping”命令可用来测量发送一个消息到远程目标,并显示发出测试信息到报文信息返
回的时长,“ping”命令这种用法的本质就是测试在给定时的两个设备之间路径的有关性能,
但并不是设备间连通性或设备的详细
。
在不同的时间测试相同的网络通信性能,都会有不同的返回结果,而影响网络通信质
量的因素有很多,如天气、网络设备所处的环境湿度、燥音、温度和设备使用量、硬件故
障、软件故障等等。
“ping”命令提供确定系统响应时间的方法,但它更多的是做一些用以确定观察到的性
能问题,确认其性能是否与系统反应较慢或网络组件的延迟相关。默认情况下,“Ping”命
令每秒向远程主机发出一个 ICMP 请求,在收到返回的报文信息后,再计算发出 ICMP 请
求与收到报文信息的时长,例如:
[root@rh01 ~]# ping 192.168.0.13
PING 192.168.0.13 (192.168.0.13) 56(84) bytes of data.
64 bytes from 192.168.0.13: icmp_seq=0 ttl=128 time=2.21 ms
64 bytes from 192.168.0.13: icmp_seq=1 ttl=128 time=0.230 ms
64 bytes from 192.168.0.13: icmp_seq=2 ttl=128 time=0.468 ms
64 bytes from 192.168.0.13: icmp_seq=3 ttl=128 time=0.848 ms
--- 192.168.0.13 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
80
rtt min/avg/max/mdev = 0.230/0.939/2.210/0.766 ms, pipe 2
[root@rh01 ~]#
从返回的报文信息中可以看出,每条报文信息中都包括报文尺寸目标主机名或 IP 地
址、报文序号、返回时间值和统计信息摘要,其信息返回时间单位为毫秒(1 秒=1000 毫
秒),最后将统计出返回时间的最小值、平均值和最大值,由以上返回报文结果可以看出,
向 IP 地址为 192.168.0.13 发送数据包请求测试,每个数据包的大小为 64byte(也是“ping”
命令的默认大小),但用户也可根据自己的需要更改数据包的大小,其方法是添加“-s”选
项,例如:
[root@rh01 ~]# ping -s 100 rh01 //向名为“rh01”的主机发送数据包大小为 100byte
的信息
PING rh01 (192.168.0.10) 100(128) bytes of data.
108 bytes from rh01 (192.168.0.10): icmp_seq=0 ttl=64 time=4.35 ms
108 bytes from rh01 (192.168.0.10): icmp_seq=1 ttl=64 time=0.092 ms
108 bytes from rh01 (192.168.0.10): icmp_seq=2 ttl=64 time=0.463 ms
108 bytes from rh01 (192.168.0.10): icmp_seq=3 ttl=64 time=0.488 ms
--- rh01 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 0.092/1.348/4.350/1.740 ms, pipe 2
[root@rh01 ~]#
发送数据包的体积越大,则需要更好的网络性能,所以发 100byte 的数据包要比发送
64byte 的数据包所要求的网络通信质量高。由以上的返回结果可以看出,“ping”命令要求
发送数据包大小为 100byte,而实际发送的数据包大小为 108byte,也就是说在指定的数据
包大小上加了 8byte,尽管数据包的大小尺寸有所增加,但是不会对网络有太大的影响。
“ping”命令使用序号来跟踪请求和应答,每个请求的序号给出下一个数值并且每个请
求用相应的应答来匹配,该序号化是在任何请求如果没有收到相应的应答时,用来确定报
文是否丢失。通常情况下,在一个小的网络中出现报文稿丢失的的现像不常见,但对于一
些较远的大型网站,报文丢失就是一件很正常的事了,例如,测试与美国 DELL 网站的连
通性。
[root@rh01 ~]# ping -c 10 www.dell.com
PING www1.ins.dell.com (143.166.224.244) 56(84) bytes of data.
64 bytes from ps3-www1.us.dell.com (143.166.224.244): icmp_seq=0 ttl=237 time=399 ms
64 bytes from ps3-www1.us.dell.com (143.166.224.244): icmp_seq=1 ttl=237 time=387 ms
64 bytes from ps3-www1.us.dell.com (143.166.224.244): icmp_seq=2 ttl=237 time=255 ms
64 bytes from ps3-www1.us.dell.com (143.166.224.244): icmp_seq=3 ttl=237 time=220 ms
64 bytes from ps3-www1.us.dell.com (143.166.224.244): icmp_seq=4 ttl=237 time=215 ms
64 bytes from ps3-www1.us.dell.com (143.166.224.244): icmp_seq=5 ttl=237 time=214 ms
64 bytes from ps3-www1.us.dell.com (143.166.224.244): icmp_seq=6 ttl=237 time=215 ms
64 bytes from ps3-www1.us.dell.com (143.166.224.244): icmp_seq=8 ttl=237 time=182 ms
64 bytes from ps3-www1.us.dell.com (143.166.224.244): icmp_seq=9 ttl=237 time=220 ms
--- www1.ins.dell.com ping statistics ---
10 packets transmitted, 9 received, 10% packet loss, time 9006ms
rtt min/avg/max/mdev = 182.435/257.058/399.910/75.245 ms, pipe 2
[root@rh01 ~]#
由以上返回的报文结果可以看出,本机总共发出了 10 个测试数据包,但只返回了 9
个报文,因此有 10%的报文稿丢失,这能明显地看出,是由于 Internet 路由对于网络通信
可能过于繁忙造成的。
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
81
在某些特殊情况下,用户可能需要确认各个请求提供额外的时间,即不是默认的 1 秒,
如果在后继的 ICMP 请求之间需要额外时间,可在“ping”命令后添加“-i”选项,并指定
时间间隔值,当然,时间间隔越长,则报文丢失率就越低。
例如,测试与中国 DELL 网站的通信情况,设置时间延迟 2 秒,其操作方法如下:
[root@rh01 ~]# ping -c 10 -i 2 www.dell.com.cn
PING www.dell.com.cn (203.127.132.30) 56(84) bytes of data.
64 bytes from 203.127.132.30: icmp_seq=0 ttl=106 time=828 ms
64 bytes from 203.127.132.30: icmp_seq=1 ttl=106 time=507 ms
64 bytes from 203.127.132.30: icmp_seq=2 ttl=106 time=405 ms
64 bytes from 203.127.132.30: icmp_seq=3 ttl=106 time=449 ms
64 bytes from 203.127.132.30: icmp_seq=4 ttl=106 time=447 ms
64 bytes from 203.127.132.30: icmp_seq=5 ttl=106 time=678 ms
64 bytes from 203.127.132.30: icmp_seq=6 ttl=106 time=686 ms
64 bytes from 203.127.132.30: icmp_seq=7 ttl=106 time=456 ms
64 bytes from 203.127.132.30: icmp_seq=8 ttl=106 time=416 ms
64 bytes from 203.127.132.30: icmp_seq=9 ttl=106 time=377 ms
--- www.dell.com.cn ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 18013ms
rtt min/avg/max/mdev = 377.739/525.495/828.595/143.656 ms, pipe 2
[root@rh01 ~]#
由以上报文信息可以看出,与中国 DELL 网站的通信状态良好,没有任何报文丢失,
当然这与延迟报文时间有关,还和网络繁忙状态也有关。
3. ping命令的其他选项
“ping”命令的选项也较多,但一般情况下都不会使用很多的选项,常用的选项就有
“-c”、“-s”、“-i”、“-q”和“-n”选项,“-f”参数由于会造成网络阻塞。
在“ping”命令后添加“-c”选项是指定发送 ICMP 请求的数量,当发送数量完成后,
系统将会自动统计信息统计信息;添加“-s”选项可设置发出 ICMP 请求的数据包大小;
添加“-i”参数可指定发送每个 ICMP 请求的间隔时间;添加“-q”参数将只显示返回的
报文信息统计结果;若是添加了“-n”参数则不会在报文中显示域名(主机名),将只显示
IP 地址;若添加“-f”选项,则可向目标计算机发送大量的 ICMP 请求,其速度就是目标
主机 CPU 的处理速度,添加此参数后会导致网络阻塞,或是使目标主机瘫痪。
例如,向网络中名为“help5”的主机发送 20 条 ICMP 数据请求,只显示报文统计结
果,其操作方法如下:
[root@rh01 ~]# ping -c 20 -q help5 //向主机发送 20 条 ICMP 请求
PING help5 (192.168.0.1) 56(84) bytes of data.
--- help5 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19018ms
rtt min/avg/max/mdev = 0.553/0.953/1.233/0.167 ms, pipe 2
[root@rh01 ~]#
3.2.2 Traceroute——路由跟踪命令
Traceroute 命令检测并记录到达一个指定网络目标的路径,在 Internet 网络中,不同网
段中的各主机需要使用路由器将其连接起来,达到相互通信的目的,路由器的功能则是将
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
82
信息从一个接口转发 IP 报文稿到别一个接口。“traceroute”命令使用 IP 报文中包含的生存
期(TTL)字段,并试图从沿路由到达目标的每个主机处获得一个 ICMP 的
TIME-EXCEEDED 消息,随着试图连接目标的一个不可达端口,将导致沿路径到达最终目
标期间从每个路由器获得一个系统的响应。该命令通过以下操作完成任务,向外发送 TTL
为 1 的请求(或探测)并将 TTL 加 1,到达目标主机或超出 TTL 最大值时结束。默认情
况下,TTL 的最大值为 30,也可根据实际情况改变该设置。
命令选项:traceroute [选项] <主机名或 IP 地址>
该命令的各选项如表 3-2 所示。
表 3-2 “traceroute”命令的选项
命令选项 说明
-d 使用 Socket 层级的排错功能;
-f<存活数值> 设置第一个检测数据包存活数值 TTL 的大小;
-F 设置勿离断位;
-g<网关> 设置来源路由网关,最多可设置 8 个;
-i<网络界面> 使用指定的网络界面送出数据包;
-I 使用 ICMP 回应取代 UDP 资料信息;
-m<存活数值> 设置检测数据包的最大存活数值 TTL 的大小;
-n 直接使用 IP 地址而非主机名称;
-p<通信端口> 设置 UDP 传输协议的通信端口;
-r 忽略普通的 Routing Table,直接将数据包送到远端主机上;
-s<来源地址> 设置本地主机送出数据包的 IP 地址;
-t<服务类型> 设置检测数据包的 TOS 数值;
-v 详细显示指令的执行过程;
-w<超时秒数> 设置等待远端主机回报的时间;
-x 开启或关闭数据包的正确性检验。
例如,显示本机到 computer1 主机的路由列表,其操作方法如下:
[root@rh01 ~]# traceroute computer1
traceroute: Warning: computer1 has multiple addresses; using 203.208.33.101
traceroute to computer1 (203.208.33.101), 30 hops max, 38 byte packets
1 router-1 (192.168.0.1) 39.947 ms 1.358 ms 0.923 ms
2 203.208.33.101 (203.208.33.101) 63.150 ms 30.987 ms 37.913 ms
[root@rh01 ~]#
默认情况下,“traceroute”命令总共发送三个探测(各自有不同的 TTL 值)到每一跳。
使用该命令后在屏幕上输出的第一行包括目标及 IP 地址、“traceroute”命令使用的默认跳
数以及发送报文的长度,第二行(以 1 开头)显示“traceroute”命令遇到的第一跳,如图
3-11 所示。
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
83
路由器
(192.168.0.1)
本机
(192.168.0.10)
网络 A
网络 B
computer1
(203.208.33.101)
Probe
ttl=1
Time
Exceeded
图 3-11 traceroute的第一跳
因为“computer1”与本机处于不同的物理网络中,就必须使用某个路由器达到
“computer1”主机,由于网络 A 和网络 B 之间只使用了一个路由器进行了连接,所以第一
个报文就被送到了路由器,发送的第一个报文就是 ttl 字段值为 1 的 ICMP 请求。在 IP 协
议中,任何报文稿达到路由器都要将 TTL 减 1,这样该字段的值为 0,当一个路由器获得
一个 TTL 为 0 的报文后,该路由器丢弃该报文并通知发送方,同时近使该路由器响应一个
TIME-EXCEEDED 消息返回给本机,最后 traceroute 计算它发出报文稿到获得响应的时间
量 RTT,该时间以“毫秒”为单位在主机名或 IP 地址之后显示出来。从以上返回的结果
可以看出,第一个探测报文序列的 RTT 使用了 39.947 毫秒,第二探耗用时间为 1.35 毫秒,
第三探耗用了 0.923 毫秒。
第二行表明第二个路由选择跳步并显示 traceroute 用第一跳更慢的 RTT 到达目标系统
“computer1”,如图 3-12 所示。
路由器
(192.168.0.1)
本机
(192.168.0.10)
网络 A
网络 B
computer1
(203.208.33.101)
Port
Unreachable
Probe
ttl=2
图 3-12 traceroute的第二跳
第二个探测报文稿发出后,路由器将 TTL 的值减 1,然后将该报文稿传递给
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
84
“computer1”,因为 traceroute 试图访问一个未使用的端口,所以“computer1”主机将响应
一个 PORT UNREACHABLE 错误。
“traceroute”命令对目标由什么构成没有任何限制,但惟一的要求就是该设备必须支
持 IP 地址。
1. traceroute显示代码
在跟踪远程主机的路由时,由于沿途中各路由设备的环境变化、繁忙的现像,可能造
成网络波动和一些无法预知的 traceroute 输出,这些输出将在屏幕上以相应的代码进行显
示,如表 3-3 所示。
表 3-3 “traceroute”显示代码
显示代码 说明
* 探测报文没有获得响应;
! 接收到的报文中 TTL 值为 1;
!H 目标主机不可到达;
!N 目标网络不可到达;
!P 目标协议不可到达;
!S 源路由选项错误,一般情况下该代码不会出现,若出现该代码,则表
示网络中某一路由器有程序错误或硬件故障;
!F 探测报文需要分段,一般情况下该代码不会出现,若出现该代码,则
表示网络中某一路由器有程序错误或硬件故障;
!X 由于通信被管理性的禁止,该路径被阻塞或关闭;
!N> 一个 ICMP 错误代码,N 是错误号。
例如,利用“traceroute”命令跟踪“www.usa.com”主机的路由地址,其操作方法如
下:
[root@rh01 ~]# traceroute www.usa.com
traceroute to www.usa.com (206.207.87.12), 30 hops max, 38 byte packets
1 help5 (192.168.0.1) 2.073 ms 2.193 ms 8.422 ms
2 1.39.67.125.broad.dz.sc.dynamic.163data.com.cn (125.67.39.1) 25.904 ms 21.420
ms 24.930 ms
……
15 gi2-8.dc1.boi.spro.net (198.60.194.26) 349.814 ms 340.946 ms 339.913 ms
16 * * *
17 * * *
18 * * *
[root@rh01 ~]#
从以上返回结果可以看出,从本地到达网络 206.207.87.12 时超时,并以“*”指明该
问题,可能是由于远程路由繁忙所导致。
在跟踪路由的时候,会由于各个时间段落网络的繁忙程序不相同,所以在不同的时间
跟踪相同的目标主机,其返回信息都会不相同,例如,以下是再次跟踪 IP 为 206.207.87.12
的主机路由的信息:
[root@rh01 ~]# traceroute www.google.cn
traceroute: Warning: www.google.cn has multiple addresses; using 203.208.33.101
traceroute to cn.l.google.com (203.208.33.101), 30 hops max, 38 byte packets
1 help5 (192.168.0.1) 1.306 ms 7.860 ms 7.004 ms
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
85
2 1.38.67.125.broad.dz.sc.dynamic.163data.com.cn (125.67.38.1) 79.051 ms 11.932
ms 25.032 ms
3 61.188.246.49 (61.188.246.49) 18.840 ms 20.472 ms 9.378 ms
4 222.213.1.93 (222.213.1.93) 17.542 ms 12.856 ms 11.893 ms
5 202.97.70.105 (202.97.70.105) 31.512 ms 16.414 ms 14.584 ms
6 202.97.42.73 (202.97.42.73) 38.426 ms 11.368 ms 15.012 ms
7 202.97.34.129 (202.97.34.129) 67.361 ms 470.366 ms 100.260 ms
8 202.97.53.62 (202.97.53.62) 68.954 ms 44.054 ms 41.024 ms
9 202.97.57.182 (202.97.57.182) 64.380 ms 43.469 ms 44.206 ms
10 203.208.33.101 (203.208.33.101) 64.711 ms 44.652 ms 43.859 ms
[root@rh01 ~]#
再次重复跟踪一次,其显示结果如下:
[root@rh01 ~]# traceroute www.google.cn
traceroute: Warning: www.google.cn has multiple addresses; using 203.208.33.101
traceroute to cn.l.google.com (203.208.33.101), 30 hops max, 38 byte packets
1 help5 (192.168.0.1) 1.040 ms 1.004 ms 5.154 ms
2 1.38.67.125.broad.dz.sc.dynamic.163data.com.cn (125.67.38.1) 41.018 ms 12.403
ms 31.933 ms
3 61.188.246.49 (61.188.246.49) 18.193 ms 12.147 ms 12.297 ms
4 222.213.1.93 (222.213.1.93) 20.285 ms 10.855 ms 10.098 ms
5 202.97.70.105 (202.97.70.105) 31.813 ms 10.254 ms 9.927 ms
6 202.97.42.73 (202.97.42.73) 42.039 ms 18.569 ms 15.264 ms
7 202.97.34.129 (202.97.34.129) 62.110 ms 37.289 ms 39.890 ms
8 202.97.53.62 (202.97.53.62) 67.628 ms 40.404 ms 71.781 ms
9 202.97.57.182 (202.97.57.182) 97.065 ms 46.018 ms 100.011 ms
10 203.208.33.101 (203.208.33.101) 81.095 ms 75.892 ms 63.129 ms
[root@rh01 ~]#
由以上返两次对谷歌网站的路由跟踪返回结果中可以看出,其返回的 TTL 值是不相同
的,就这是因为在不同的时间,网络的繁忙程度不一样所导致。
2. traceroute命令选项的应用
在前面已经介绍了“traceroute”命令各选项的用途,当在“traceroute”命令的后面跟
上相应的选项,就可指定跟踪方式或者是显示结果。
例如,由于 TTL 的默认最大值是 30,当目标主机所处的网络与本机所处的网络间路
由数较多的话(多于 30 个),则无法跟踪到达目标,此时可利用“traceroute”命令的“-m”
参数进行修改,跟踪 IP 地址为 128.197.2.200 的主机,并设置其最大路由量为 35,操作方
法如下:
[root@rh01 ~]# traceroute -m 35 128.197.2.200
traceroute to 128.197.2.200 (128.197.2.200), 35 hops max, 38 byte packets
1 help5 (192.168.0.1) 58.712 ms 2.486 ms 3.039 ms
2 1.38.67.125.broad.dz.sc.dynamic.163data.com.cn (125.67.38.1) 8.921 ms 12.405
ms 15.580 ms
3 61.188.246.49 (61.188.246.49) 24.282 ms 21.901 ms 9.612 ms
4 222.213.1.93 (222.213.1.93) 10.311 ms 14.585 ms 11.344 ms
5 202.97.70.105 (202.97.70.105) 34.990 ms 10.744 ms 14.167 ms
6 202.97.70.50 (202.97.70.50) 31.417 ms 17.039 ms 15.630 ms
……
全国新华书店有售,或者在网上购买该图书:http://www.china-pub.com
咨询网址:Http://www.helpkj.com 邮箱:helpkj@163.com QQ:448936063
86
[root@rh01 ~]#
在默认情况下,“traceroute”基于 UDP 协议发送探测报文,但在网络中并非所有的路
由器都必须支持 UDP 协议,此时可利用“traceroute”命令的“-I”参数,表示使用 ICMP
协议来替代 UDP 协议,例如:
[root@rh01 ~]# traceroute -m 35 -I 128.197.2.200
traceroute to 128.197.2.200 (128.197.2.200), 35 hops max, 38 byte packets
1 help5 (192.168.0.1) 58.003 ms 1.814 ms 5.073 ms
2 1.38.67.125.broad.dz.sc.dynamic.163data.com.cn (125.67.38.1) 15.942 ms 14.624
ms 23.995 ms
3 61.188.246.49 (61.188.246.49) 17.672 ms 18.352 ms 14.571 ms
4 222.213.1.93 (222.213.1.93) 12.075 ms 13.324 ms 10.050 ms
5 202.97.70.105 (202.97.70.105) 30.344 ms 11.002 ms 13.698 ms
6 202.97.70.50 (202.97.70.50) 31.737 ms 9.950 ms 16.890 ms
7 202.97.43.153 (202.97.43.153) 56.029 ms 33.470 ms 35.080 ms
8 202.97.33.118 (202.97.33.118) 69.581 ms 50.986 ms 48.959 ms
……
[root@rh01 ~]#
若网络中所有的路由设备都支持 UDP 协议,默认情况下“traceroute”命令将使用 UDP
协议的 33434 端口进行跟踪,当该端口被其他应用程序占用了,则可使用“traceroute”命
令的“-p”参数指定端口号,此时系统将会以新的端口号替代默认端口号,例如:
[root@rh01 ~]# traceroute -m 35 -p 65000 128.197.2.200
traceroute to 128.197.2.200 (128.197.2.200), 35 hops max, 38 byte packets
1 help5 (192.168.0.1) 1.138 ms 0.934 ms 0.998 ms
2 1.131.215.222.broad.dz.sc.dynamic.163data.com.cn (222.215.131.1) 41.987 ms
8.872 ms 23.120 ms
3 61.188.246.49 (61.188.246.49) 18.312 ms 11.548 ms 11.127 ms
4 222.213.1.93 (222.213.1.93) 17.880 ms 12.073 ms 11.786 ms
5 202.97.70.105 (202.97.70.105) 32.934 ms 9.128 ms 16.923 ms
6 202.97.70.50 (202.97.70.50) 33.828 ms 16.257 ms 15.953 ms
7 202.97.43.153 (202.97.43.153) 63.941 ms 32.359 ms 33.912 ms
8 202.97.33.158 (202.97.33.158) 107.944 ms 42.156 ms 115.410 ms
9 202.97.51.222 (202.97.51.222) 158.935 ms 132.942 ms 135.896 ms
10 p11-0.core01.lax04.atlas.cogentco.com (154.54.13.105) 237.503 ms 184.341 ms
222.914 ms
11 p0-0.core01.lax01.atlas.cogentc