在 Linux 系統中,traceroute 是一個網路診斷工具,用於確定數據包從你的電腦到目標主機(如一個網站或遠程伺服器)所經過的路由路徑。 如果你的系統中沒有安裝 traceroute,你可以通過包管理器來安裝它。 Debian/Ubuntu 及其衍生版 sudo apt-get updat ...
在 Linux 系統中,traceroute
是一個網路診斷工具,用於確定數據包從你的電腦到目標主機(如一個網站或遠程伺服器)所經過的路由路徑。
如果你的系統中沒有安裝 traceroute
,你可以通過包管理器來安裝它。
Debian/Ubuntu 及其衍生版
sudo apt-get update
sudo apt-get install traceroute
CentOS/RHEL 及其衍生版
sudo yum install traceroute
或者在較新的 CentOS/RHEL 版本中,你可能需要使用 dnf
代替 yum
:
sudo dnf install traceroute
以下是 traceroute
的一些基本使用方式和選項:
基本命令格式
traceroute [選項]... [目標主機]
基本使用示例
-
追蹤到
example.com
的路由路徑:traceroute example.com
常用選項
-n
:不執行DNS查找,直接顯示IP地址而不是主機名。-w
:設置等待超時的時間(秒)。-p
:指定要使用的埠號,預設為 33434。-m
:設置最大跳數,預設為 30。-s
:設置發送數據包的源埠號。-I
:使用ICMP協議發送數據包。-4
或-6
:強制使用IPv4或IPv6協議。-q
:設置發送數據包的數量,預設為 3。-T
:使用TCP協議進行追蹤。-A
:使用所有協議(UDP, TCP, ICMP)進行追蹤。
高級選項
-P proto
:設置使用的協議類型,可以是tcp
,udp
,icmp
或ip
。-S srcaddr
:設置數據包的源地址。-g gateway
:指定一個特定的網關或中間路由器進行跳過。-N
:設置網路時間協議(NTP)模式,用於發送NTP時間查詢。-F
:設置“Don't Fragment”標誌位,用於確定最大傳輸單元(MTU)。
示例
-
不進行DNS查找,直接顯示IP地址:
traceroute -n example.com
-
使用ICMP協議進行追蹤:
traceroute -I example.com
-
設置最大跳數為20:
traceroute -m 20 example.com
-
使用TCP協議進行追蹤:
traceroute -T example.com
-
使用所有協議進行追蹤:
traceroute -A example.com
-
發送5個數據包:
traceroute -q 5 example.com
-
設置超時等待時間為10秒:
traceroute -w 10 example.com
註意事項
- 某些網路設備可能會阻止
traceroute
數據包,導致路徑信息不完整或不准確。 - 使用
traceroute
時,應遵守網路策略和法律法規,避免濫用該工具。 - 在某些Linux發行版中,
traceroute
可能需要root許可權才能運行。
traceroute
是網路故障排除和性能分析中不可或缺的工具,它可以幫助確定網路延遲或丟包發生的位置。
本文來自博客園,作者:dashery,轉載請註明原文鏈接:https://www.cnblogs.com/ydswin/p/18236366