tracepath
tracepath指令可以追蹤數據到達目標主機的路由信息,同時還能夠發現MTU值。它跟蹤路徑到目的地,沿着這條路徑發現MTU。它使用UDP端口或一些隨機端口。它類似於Traceroute,只是不需要超級用戶特權,並且沒有花哨的選項。tracepath 6很好地替代了tracerout 6和Linux錯誤隊列應用程序的典型示例。tracepath的情況更糟,因為商用IP路由器在ICMP錯誤消息中沒有返回足夠的信息。很可能,當它們被更新的時候,它會改變
此命令的適用范圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、語法
tracepath [ -n] [ -l pktlen] destination [ port]
2、選項列表
| 選項 |
說明 |
| -n |
不查看主機名字 |
| -l |
設置初始化的數據包長度,默認65535 |
3、輸出
| root@mops:~ # tracepath6 3ffe:2400:0:109::2 1?: [LOCALHOST] pmtu 1500 1: dust.inr.ac.ru 0.411ms 2: dust.inr.ac.ru asymm 1 0.390ms pmtu 1480 2: 3ffe:2400:0:109::2 463.514ms reached Resume: pmtu 1480 hops 2 back 2 |
第一列顯示探針的TTL,后面是冒號。通常TTL的值是從網絡中得到的,但有時回復並不包含必要的信息,我們不得不猜測它。在這種情況下,數字后面跟着?。
第二列顯示網絡跳,對探測作出答復。如果探測未發送到網絡,則為路由器地址或者[localhost]地址。
行的其余部分顯示了有關到達相關工作跳的路徑的各種信息。作為規則,它包含RTT的值。此外,它可以顯示路徑MTU,當它改變。如果路徑是不對稱的,或者探測在到達指定跳之前完成,則顯示前向和后向跳數之間的差異。這一信息不可靠。F.E.第三行顯示1的不對稱性,這是因為第一次TTL為2的探針在第一跳時由於路徑MTU發現而被拒絕。
最后一行總結了到達目的地的所有路徑的信息,顯示了檢測到的路徑MTU、到達目的地的跳數以及我們對從目的地到我們的跳數的猜測,這在路徑不對稱時可能有所不同。
4、實例
追蹤到www.qq.com的路由
| [root@localhost ~]# ping -c 2 www.qq.com //ping目標地址,可以看到目標ip PING www.qq.com (111.30.132.101) 56(84) bytes of data. 64 bytes from 111.30.132.101: icmp_seq=1 ttl=53 time=23.9 ms 64 bytes from 111.30.132.101: icmp_seq=2 ttl=53 time=33.0 ms [root@localhost ~]# tracepath www.qq.com //追蹤路由 1: 192.168.1.9 (192.168.1.9) 0.067ms pmtu 1500 1: 192.168.1.1 (192.168.1.1) 3.569ms 1: 192.168.1.1 (192.168.1.1) 4.055ms 2: 192.168.1.1 (192.168.1.1) 17.651ms pmtu 1492 2: 10.46.80.1 (10.46.80.1) 13.434ms 3: 183.203.226.201 (183.203.226.201) 9.547ms 4: 211.138.99.57 (211.138.99.57) 70.194ms asymm 5 5: 221.183.14.5 (221.183.14.5) 17.023ms 6: 221.176.19.237 (221.176.19.237) 206.968ms 7: 221.183.8.149 (221.183.8.149) 29.488ms asymm 8 8: 221.183.27.106 (221.183.27.106) 57.434ms 9: 111.30.145.34 (111.30.145.34) 27.426ms |