traceroute是一個路由追蹤工具,可以用來檢測發出數據包的主機到目標主機之間所經過的網關數量。traceroute的原理是試圖以最小的TTL(存活時間)發出探測包來跟蹤數據包到達目標主機所經過的網關,然后監聽一個來自網關ICMP的應答。
[superadmin@ycyzharry ~]$ traceroute 172.19.80.21 traceroute to 172.19.80.21 (172.19.80.21), 30 hops max, 60 byte packets 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 * * * 28 * * * 29 * * * 30 * * *
命令參數:
-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 開啟或關閉數據包的正確性檢驗。
舉例如下:
traceroute -n -m 5 -q 4 -w 3 www.baidu.com
-n 顯示IP地址,不查主機名。
-m 設置跳數。
-q 4 每個網關發送4個數據包。
-w 3 把對外發探測包的等待響應時間設置為3秒。