一、IP協議利用存活時間TTL來發出探測包跟蹤數據包到達目標ip主機所經歷的路由網關數量,每通過一個路由器,TTL的值就減去1。當TTL值爲0時,主機就取消發送數據包,並回傳一份ICMP報文。 二、在linux系統中,traceroute 命令利用ICMP協議實現定位本地計算機與目標計算機進行網絡通訊過程當中經歷的全部路由器。 三、IP協議包頭部中的TTL 值能夠反映數據包通過的路由器的跳數,經過控制獨立ICMP 請求報文段中的TTL 值,觀察該報文被拋棄的返回信息,traceroute命令可以遍歷到數據包傳輸路徑上的全部路由器。
-4 Use IPv4 -6 Use IPv6 -d --debug Enable socket level debugging -q Set the number of probes per each hop. Default is 3 -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 開啓或關閉數據包的正確性檢驗。