Linux 上的 traceroute 命令示例

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
                      
                    
configurar el tiempo de espera en el comando traceroute

2.更改發送/接收的數據包數量

默認情況下,traceroute 每跳發送 3 個數據包,如果您想更改此行為,則需要使用 -q 選項。

作為參考,我將通過 Google 域每跳發送 4 個數據包:

                      
                        traceroute -q 4 google.com
                      
                    
cambiar el número de paquetes que se envían a través de un salto en traceroute

3.指定最大跳數

traceroute默認單次查詢的最大跳數是30,可以擴展到255。

為此,您可以添加最大希望數 -m 選項:

                      
                        traceroute -m 4 google.com
                      
                    
Especifique el número máximo de saltos en traceroute

4.指定以哪個TTL開頭

默認情況下,traceroute 將從第一個 TTL 開始,但您可以使用以下命令更改此行為 -f 選項。

作為參考,我想從第五個 TTL 開始跟踪 Google 域上的路由,所以我必須使用給定的命令:]

                      
                        traceroute -f 5 google.com
                      
                    
Especificar con qué TTL iniciar en traceroute

5.添加備用源IP地址來跟踪路由

如果你想添加一個備用源以及你通常為跟踪路由添加的內容,你需要添加備用 IP -s 選項。

例如我添加了一個備用源 IP 192.168.1.7 旁邊 google.com :

                      
                        traceroute -s 192.168.1.7 google.com
                      
                    
Agregue una dirección IP de origen alternativa para tracerouting

6. 在跟踪期間禁用主機名到 IP 地址的映射

如果出於某種原因要在跟踪期間禁用主機名映射,可以使用 -n 選項:

                      
                        traceroute -n google.com
                      
                    
Deshabilite la asignación de nombre de host a la dirección IP durante el rastreo

7. 使用 traceroute 通過網關路由數據包

您可以使用指定網關地址 -g 在您要抓取的域旁邊。

例如我添加了 192.168.1.7 作為網關地址:

                      
                        traceroute -g 192.168.1.7 google.com
                      
                    
  Enrutar paquetes a través de la puerta de enlace usando traceroute

8.更改traceroute中的目的端口

如果您想在跟踪路由時更改源域的目標端口,則需要使用 -p 指定端口。

例如,我已將目標端口更改為 29879 :

                      
                        traceroute -p 29879 google.com
                      
                    
Cambiar el puerto de destino en traceroute

9.設置最大數據包長度

默認情況下,traceroute 將使用 60 字節的數據包長度,您可以簡單地通過將數據包大小添加到源 IP 來修改此行為。

例如,我在跟踪時將最大數據包長度更改為 100 字節:

                      
                        traceroute google.com 100
                      
                    
Establecer la longitud máxima del paquete en traceroute

10.禁用探測包分片

如果您不想讓探測數據包分片,有一種簡單的方法可以阻止它。

你只需要使用 -F 並且不會有測試數據包的碎片:

                      
                        traceroute -F google.com
                      
                    
Deshabilitar la fragmentación de paquetes de sondeo en traceroute

結尾

如果你好奇 traceroute 是如何工作的,你可以參考我已經解釋過的其他指南跟踪路由操作.

我希望你覺得它有用,如果你有任何問題,請在評論中告訴我。

Capacitación de la Fundación Linux

相關文章