tracert使用詳解


概念

Tracert(跟蹤路由)是路由跟蹤實用程序,用於確定 IP數據包訪問目標所采取的路徑。Tracert 命令使用用 IP 生存時間 (TTL) 字段和 ICMP 錯誤消息來確定從一個主機到網絡上其他主機的路由。

常規使用

C:\Users\A>Tracert www.baidu.com

通過最多 30 個躍點跟蹤
到 www.a.shifen.com [112.80.248.76] 的路由:

  1    <1 毫秒   <1 毫秒   <1 毫秒 hzyj [192.168.2.1]
  2     3 ms     2 ms     3 ms  101.71.194.1
  3     3 ms     2 ms     2 ms  124.90.33.185
  4     9 ms     8 ms     8 ms  101.69.245.197
  5    15 ms    15 ms    15 ms  219.158.115.74
  6    12 ms    12 ms    13 ms  153.3.228.154
  7    14 ms    15 ms    14 ms  153.37.96.158
  8     *        *        *     請求超時。
  9    13 ms    12 ms    13 ms  112.80.248.76

跟蹤完成。

現在就可以用112.80.248.76來訪問百度了。
image

指令

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name

其中參數說明如下:

-d                  不將地址解析成主機名。
-h maximum_hops     搜索目標的最大躍點數,默認30。
-j host-list        與主機列表一起的松散源路由(僅適用於 IPv4)。指定沿host-list的稀疏源路由列表序進行轉發。
                    host-list是以空格隔開的多個路由器IP地址,最多9個;
-w timeout          等待每個回復的超時時間(以毫秒為單位)。
-R                  跟蹤往返行程路徑(僅適用於 IPv6)。
-S srcaddr          要使用的源地址(僅適用於 IPv6)。
-4                  強制使用 IPv4。
-6                  強制使用 IPv6。
target_name         目標計算機的名稱。

wireshark 分析tracert過程

image

所以tracert是基於ICMP協議的。
本機共發送了6個請求,每發送兩個請求就會收到一個回復的消息。其中三條請求沒有回復,顯示no response,這表示丟包,。
wireshark會根據pacp文件中的icmp請求和回顯報文,自動補齊Response frame或no response found字段;這個是wireshark行為,不是包本身信息。

Tracert 命令用 IP 生存時間 (TTL) 字段和 ICMP 錯誤消息來確定從一個主機到網絡上其他主機的路由。

實現原理

1、tracert發出TTL值為1的ICMP數據包(40個字節、源地址、目標地址和發出時間標簽,一般發3個)
2、當到達路徑上第一個路由器時,路由器會將,TTL值減1
3、此時TTL值為0,該路由器將此數據包丟棄,向源地址返回一個ICMP超時通知(數據包的源地址、路由器的IP地址)
4、當tracert收到該數據包,獲得了這個路徑上的第一個路由器的地址
5、tracert再發送另一個TTL為2的數據包
6、第一個路由器會將此數據包轉發給第二個路由器
7、當TTL=0,第二個路由器返回一個超時通知,tracert得到第二個路由器地址
Tracert每次發出數據報時便會將TTL加1,發現下一個路由器
這個動作一直重復,直到到達目的地或者確定目標主機不可到達為止
到達目的IP后,目標主機並不返回超時報文
Tracert發送數據報時,會選擇一個一般應用程序不會使用的號碼來做端口(3000以上)
當到達目的地后,目標主機返回一個ICMP port unreachable(端口不可達)的消息
當tracert收到這個消息后,就知道目的地到達了
image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM