traceroute命令小解

一.參數:
[options]的內容有:[-n]:顯示的地址是用數字表示而不是符號[-v]:長輸出[-p]:UDP端口設置(缺省爲33434)[-q]:設置TTL測試數目(缺省爲3)[-t]:設置測包的服務類型[data size]:每次測試包的數據字節長度(缺省爲38)
 
二.Traceroute的工做原理: Traceroute最簡單的基本用法是:traceroute hostname Traceroute程序的設計是利用ICMP及IP header的TTL(Time To Live)欄位(field)。首先,traceroute送出一個TTL是1的IP datagram(其實,每次送出的爲3個40字節的包,包括源地址,目的地址和包發出的時間標籤)到目的地,當路徑上的第一個路由器(router)收到這個datagram時,它將TTL減1。此時,TTL變爲0了,因此該路由器會將此datagram丟掉,並送回一個「ICMP time exceeded」消息(包括髮IP包的源地址,IP包的全部內容及路由器的IP地址),traceroute 收到這個消息後,便知道這個路由器存在於這個路徑上,接着traceroute 再送出另外一個TTL是2 的datagram,發現第2 個路由器...... traceroute 每次將送出的datagram的TTL 加1來發現另外一個路由器,這個重複的動做一直持續到某個datagram 抵達目的地。當datagram到達目的地後,該主機並不會送回ICMP time exceeded消息,由於它已經是目的地了,那麼traceroute如何得知目的地到達了呢? Traceroute在送出UDP datagrams到目的地時,它所選擇送達的port number 是一個通常應用程序都不會用的號碼(30000 以上),因此當此UDP datagram 到達目的地後該主機會送回一個「ICMP port unreachable」的消息,而當traceroute 收到這個消息時,便知道目的地已經到達了。因此traceroute 在Server端也是沒有所謂的Daemon 程式。 Traceroute提取發 ICMP TTL到期消息設備的IP地址並做域名解析。每次 ,Traceroute都打印出一系列數據,包括所通過的路由設備的域名及 IP地址,三個包每次來回所花時間。 Traceroute 有一個固定的時間等待響應(ICMP TTL到期消息)。若是這個時間過了,它將打印出一系列的*號代表:在這個路徑上,這個設備不能在給定的時間內發出ICMP TTL到期消息的響應。而後,Traceroute給TTL記數器加1,繼續進行。
相關文章
相關標籤/搜索