这篇文章给大家分享的是有关Linux中traceroute命令怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Linux常用命令traceroute命令 用于追踪数据包在网络上的传输时的全部路径,它默认发送的数据包大小是40字节。

traceroute

显示数据包到主机间的路径

补充说明

通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。

traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其ip地址。

语法

traceroute(选项)(参数)选项

-d:使用Socket层级的排错功能;-f:设置第一个检测数据包的存活数值TTL的大小;-F:设置勿离断位;-g:设置来源路由网关,最多可设置8个;-i:使用指定的网络界面送出数据包;-I:使用ICMP回应取代UDP资料信息;-m:设置检测数据包的最大存活数值TTL的大小;-n:直接使用IP地址而非主机名称;-p:设置UDP传输协议的通信端口;-r:忽略普通的RoutingTable,直接将数据包送到远端主机上。-s:设置本地主机送出数据包的IP地址;-t:设置检测数据包的TOS数值;-v:详细显示指令的执行过程;-w:设置等待远端主机回报的时间;-x:开启或关闭数据包的正确性检验。参数

主机:指定目的主机IP地址或主机名。

实例

traceroutewww.58.comtraceroutetowww.58.com(211.151.111.30),30hopsmax,40bytepackets1unknown(192.168.2.1)3.453ms3.801ms3.937ms2221.6.45.33(221.6.45.33)7.768ms7.816ms7.840ms3221.6.0.233(221.6.0.233)13.784ms13.827ms221.6.9.81(221.6.9.81)9.758ms4221.6.2.169(221.6.2.169)11.777ms122.96.66.13(122.96.66.13)34.952ms221.6.2.53(221.6.2.53)41.372ms5219.158.96.149(219.158.96.149)39.167ms39.210ms39.238ms6123.126.0.194(123.126.0.194)37.270ms123.126.0.66(123.126.0.66)37.163ms37.441ms7124.65.57.26(124.65.57.26)42.787ms42.799ms42.809ms861.148.146.210(61.148.146.210)30.176ms61.148.154.98(61.148.154.98)32.613ms32.675ms9202.106.42.102(202.106.42.102)44.563ms44.600ms44.627ms10210.77.139.150(210.77.139.150)53.302ms53.233ms53.032ms11211.151.104.6(211.151.104.6)39.585ms39.502ms39.598ms12211.151.111.30(211.151.111.30)35.161ms35.938ms36.005ms

记录按序列号从1开始,每个纪录就是一跳,每跳表示一个网关,我们看到每行有三个时间,单位是ms,其实就是-q的默认参数。探测数据包向每个网关发送三个数据包后,网关响应后返回的时间;如果用traceroute-q4www.58.com,表示向每个网关发送4个数据包。

有时我们traceroute一台主机时,会看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。

有时我们在某一网关处延时比较长,有可能是某台网关比较阻塞,也可能是物理设备本身的原因。当然如果某台DNS出现问题时,不能解析主机名、域名时,也会有延时长的现象;您可以加-n参数来避免DNS解析,以IP格式输出数据。

如果在局域网中的不同网段之间,我们可以通过traceroute来排查问题所在,是主机的问题还是网关的问题。如果我们通过远程来访问某台服务器遇到问题时,我们用到traceroute追踪数据包所经过的网关,提交IDC服务商,也有助于解决问题;但目前看来在国内解决这样的问题是比较困难的,就是我们发现问题所在,IDC服务商也不可能帮助我们解决。

跳数设置

[root@localhost~]#traceroute-m10www.baidu.comtraceroutetowww.baidu.com(61.135.169.105),10hopsmax,40bytepackets1192.168.74.2(192.168.74.2)1.534ms1.775ms1.961ms2211.151.56.1(211.151.56.1)0.508ms0.514ms0.507ms3211.151.227.206(211.151.227.206)0.571ms0.558ms0.550ms4210.77.139.145(210.77.139.145)0.708ms0.729ms0.785ms5202.106.42.101(202.106.42.101)7.978ms8.155ms8.311ms6bt-228-037.bta.net.cn(202.106.228.37)772.460msbt-228-025.bta.net.cn(202.106.228.25)2.152ms61.148.154.97(61.148.154.97)772.107ms7124.65.58.221(124.65.58.221)4.875ms61.148.146.29(61.148.146.29)2.124ms124.65.58.221(124.65.58.221)4.854ms8123.126.6.198(123.126.6.198)2.944ms61.148.156.6(61.148.156.6)3.505ms123.126.6.198(123.126.6.198)2.885ms9***10***

其它一些实例

traceroute-m10www.baidu.com#跳数设置traceroute-nwww.baidu.com#显示IP地址,不查主机名traceroute-p6888www.baidu.com#探测包使用的基本UDP端口设置6888traceroute-q4www.baidu.com#把探测包的个数设置为值4traceroute-rwww.baidu.com#绕过正常的路由表,直接发送到网络相连的主机traceroute-w3www.baidu.com#把对外发探测包的等待响应时间设置为3秒

感谢各位的阅读!关于“Linux中traceroute命令怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!