tracert和traceroute的異同

tracert和traceroute都是用來探測數據包經過網絡路徑的工具。


原理:

共同點:
IP數據包頭部TTL字段每經過一個路由設備都會減1,當IP數據包TTL爲0且未達到數據包目的IP主機時,當前路由設備會返回一個ICMP time extend(表明TTL爲0)包。IP包中的TTL字段從第一個包的1開始遞增,直到收到目的主機返回的數據包。

不同點:
tracert:發送ICMP Echo Request(與ping相同)數據包。當數據包到達目的主機時,目的主機返回一個ICMP Echo Reply(ICMP報文類型0)數據包,就像ping一樣。這時,tracert就可以結束了。
traceroute:發送UDP數據包,目的端口從33434開始,每一個報文會把目的端口增加1,直到33534。當數據包到達目的主機時,目的主機返回一個ICMP 類型3,代碼也是3的報文,表示端口不可達,traceroute就可以結束了。

traceroute實際上更有優勢,因爲現代版的traceroute只要加-I選項就相當於tracert的功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章