Traceroute 類似於 ping 命令,但提供更詳細的輸出。 跟踪從源系統到目標系統的路由。
如果您不知道,當您連接到遠程系統時,數據會通過幾個中間節點(您的路由器、ISP 的路由器等)傳輸。
系統管理員和網絡專業人員使用 Traceroute 來排除網絡故障。
在 Linux 上安裝 traceroute
大多數現代 Linux 發行版都沒有預裝 traceroute 實用程序。
如果您的分佈基於Ubuntu,給定的命令應該完成它的工作:
sudo apt install traceroute
同樣,如果您使用的是 Fedora,您可以從給定的命令中受益:
sudo yum install traceroute
現在,讓我們繼續示例部分。
在 Linux 上使用 traceroute 命令
讓我從最基本的開始,我將主機名添加到 traceroute 命令,它會顯示到達目的地所需的路由器列表(帶 IP):
traceroute google.com
拿7個路由器到達目的地並默認,寄了3個包裹給每一個並返迴響應所需的時間。
在 Linux 上有更多使用 tarecroute 命令的方法。 讓我們看看例子。
1.設置超時
traceroute 中的默認超時為 3 秒,這意味著它將等待 5 秒,然後再繼續下一個。
如果你想改變默認值,你可以添加秒數 -w
選項:
例如,我將超時更改為 1 秒 google.com
:
traceroute -w 1 google.com

2.更改發送/接收的數據包數量
默認情況下,traceroute 每跳發送 3 個數據包,如果您想更改此行為,則需要使用 -q
選項。
作為參考,我將通過 Google 域每跳發送 4 個數據包:
traceroute -q 4 google.com

3.指定最大跳數
traceroute默認單次查詢的最大跳數是30,可以擴展到255。
為此,您可以添加最大希望數 -m
選項:
traceroute -m 4 google.com

4.指定以哪個TTL開頭
默認情況下,traceroute 將從第一個 TTL 開始,但您可以使用以下命令更改此行為 -f
選項。
作為參考,我想從第五個 TTL 開始跟踪 Google 域上的路由,所以我必須使用給定的命令:]
traceroute -f 5 google.com

5.添加備用源IP地址來跟踪路由
如果你想添加一個備用源以及你通常為跟踪路由添加的內容,你需要添加備用 IP -s
選項。
例如我添加了一個備用源 IP 192.168.1.7
旁邊 google.com
:
traceroute -s 192.168.1.7 google.com

6. 在跟踪期間禁用主機名到 IP 地址的映射
如果出於某種原因要在跟踪期間禁用主機名映射,可以使用 -n
選項:
traceroute -n google.com

7. 使用 traceroute 通過網關路由數據包
您可以使用指定網關地址 -g
在您要抓取的域旁邊。
例如我添加了 192.168.1.7
作為網關地址:
traceroute -g 192.168.1.7 google.com

8.更改traceroute中的目的端口
如果您想在跟踪路由時更改源域的目標端口,則需要使用 -p
指定端口。
例如,我已將目標端口更改為 29879
:
traceroute -p 29879 google.com

9.設置最大數據包長度
默認情況下,traceroute 將使用 60 字節的數據包長度,您可以簡單地通過將數據包大小添加到源 IP 來修改此行為。
例如,我在跟踪時將最大數據包長度更改為 100 字節:
traceroute google.com 100

10.禁用探測包分片
如果您不想讓探測數據包分片,有一種簡單的方法可以阻止它。
你只需要使用 -F
並且不會有測試數據包的碎片:
traceroute -F google.com

結尾
如果你好奇 traceroute 是如何工作的,你可以參考我已經解釋過的其他指南跟踪路由操作.
我希望你覺得它有用,如果你有任何問題,請在評論中告訴我。