traceroute 路由跟蹤

2021-08-25 05:02:24 字數 2663 閱讀 1202

traceroute是乙個通用的tcp/ip工具,它能顯示出資料報從本地機到達目標機時經過的所有路由器。由於traceroute會人為地給網路造成一些通訊負擔,所有它主要被系統或網路管理員,作為乙個簡單而有效的網路手工查錯工具使用,普通使用者最好少用。儘管如此,traceroute對於使用者了解internet的結構,了解自身的網路故障會有很大幫助。

下面給出的語法和例子都是在unix作業系統下的情況,在其它作業系統中,該命令可能有不同的使用方法或表示,例如在windows nt和windows 95下,類似的命令叫tracert。

traceroute的語法為:

traceroute [-m max_ttl] [-n ] [-p port] [-q nqueries] [-r] [-s src_addr]

[-t typeofservice] [-v] [-w waittime] host [packetsize]

其中,

-m max_ttl:指定最大生存期(maximum time-to-live)。也就是資料報從本地機到達目標機所經過的最大跳步(hop),即最多經過這麼多路由器。預設值為30步。

-p:指定包傳輸時使用的udp埠號。

-q:指定每次跳步傳送的探詢包的數目,預設值為3。

-v:列出詳細資訊。

-w waittime:指定每次跳步等待接收響應包的最長時間,預設值為3秒。

packetsize:指定每個跳步傳輸的資料報的大小,預設值為38個位元組。

traceroute實際上是通過給目標機的乙個非法udp埠號傳送一系列udp資料報來工作的。使用預設設定時,本地機給每個路由器傳送3個資料報,最多可經過30個路由器。如果已經經過了30個路由器,但還未到達目標機,那麼traceroute將終止。每個資料報都對應乙個max_ttl值,同一跳步的資料報該值一樣,不同跳步的資料報的值從1開始,每經過乙個跳步值加1。當本地機發出的資料報到達路由器時,路由器就響應乙個icmp time exceed訊息,於是traceroute就顯示出當前跳步數,路由器的ip位址或名字,3個資料報分別對應的周轉時間(以ms為單位)。如果本地機在waittime內未收到響應包,那麼在資料報的周轉時間欄就顯示出乙個星號。當乙個跳步結束時,本地機根據當前路由器的路由資訊,給下乙個路由器又發出3個資料報,周而復始,直到收到乙個icmp port_unreachable的訊息,意味著已到達目標機,或者已達到指定的最大跳步數。

% traceroute www.cnc.ac.cn

traceroute to www.cnc.ac.cn (159.226.1.17), 30 hops max, 40 byte packets

1 router1.sp.net.edu.cn (202.112.35.254) 2 ms 2 ms 2 ms

2 202.112.1.210 (202.112.1.210) 4 ms 2 ms 2 ms

3 202.38.96.1 (202.38.96.1) 3 ms 2 ms 2 ms

4 159.226.1.17 (159.226.1.17) 3 ms 2 ms 2 ms

例中www.cnc.ac.cn是中科院的www伺服器,本地機是cernet高效能計算中心sp2的乙個節點機。首先從sp2連到cernet的hub(202.112.35.254)出去,然後經過cernet和casnet的路由器到達目標伺服器。可以看到,資料報的平均周轉時間為2ms,這是相當快的速度了。

% traceroute www.mhpcc.edu

traceroute to wailea.mhpcc.edu (164.122.9.37), 30 hops max, 40 byte packets

1 router1.sp.net.edu.cn (202.112.35.254) 2 ms 2 ms 2 ms

2 202.112.1.198 (202.112.1.198) 7 ms 11 ms 4 ms

3 us-igw.net.edu.cn (202.112.1.206) 45 ms 54 ms *

4 gsl-stock-3-serial10/4.gsl.net (204.59.160.245) 554 ms 552 ms 575 ms

5 gsl-sl-stock-fddi.gsl.net (204.59.128.198) 559 ms 553 ms 551 ms

6 sl-mae-w-h3/0-t3.sprintlink.net (144.228.10.110) 562 ms 557 ms 564 ms

7 mae-west.dren.net (198.32.136.81) 571 ms 622 ms 587 ms

8 wahiawa-nctams.dren.net (138.18.232.2) 677 ms 617 ms 621 ms

9 maui.dren.net (138.18.236.1) 611 ms 649 ms 629 ms

10 bcn77-f11-7.mhpcc.edu (164.122.7.7) 613 ms 608 ms 610 ms

11 wailea.mhpcc.edu (164.122.9.37) 622 ms 617 ms *

要到達mhpcc的www伺服器,在第3跳步到達cernet通往美國的路由器,然後經過sprint公司的其它路由器在第8跳步到達hawaii,最後經過maui的路由器到達目標節點。可以看出,從本地機發往國內幾個路由器的周轉時間為幾十ms,到達美國後猛增到500多ms。

Traceroute路由跟蹤技術

一 traceroute概述 traceroute是一種將資料報途經路由,ip位址回顯的指令,基於icmp協議實現,通過不斷傳送不可交付的ip資料報,獲取從源主機到目標主機的路由ip。二 traceroute工作原理 traceroute工具從源主機向目的主機傳送一連串的ip資料報,資料報中封裝的是...

關於路由跟蹤指令 traceroute

我們都用過ping命令來檢查主機與目標位址是否連通,自己的主機與目標位址的通訊包通訊速率,所謂的通訊包也就是那些什麼tcp ip,udp包。原理 關於路由跟蹤 路由跟蹤指令對linux來說是traceroute,在windows則是tracert,這次就主要來說traceroute。tracerou...

跟蹤路由 Tracert

tracert 跟蹤路由 是路由跟蹤實用程式,用於確定 ip 資料報訪問目標所採取的路徑。tracert 命令用 ip 生存時間 ttl 欄位和 icmp 錯誤訊息來確定從乙個主機到網路上其他主機的路由。tracert 工作原理 通過向目標傳送不同 ip 生存時間 ttl 值的 internet 控...