簡介
traceroute 是一個網(wǎng)絡(luò)診斷工具,用于檢測數(shù)據(jù)包從本機(jī)到目標(biāo)主機(jī)經(jīng)過的路由路徑。它可以幫助我們分析出網(wǎng)絡(luò)連接的瓶頸,定位網(wǎng)絡(luò)問題,并幫助我們優(yōu)化網(wǎng)絡(luò)連接。在 Linux 系統(tǒng)中,traceroute 命令是一個非常常用的工具。
安裝 traceroute
在大多數(shù) Linux 發(fā)行版中,traceroute 工具已經(jīng)默認(rèn)安裝,可以直接使用。如果你的系統(tǒng)中沒有安裝 traceroute,可以使用以下命令在 Ubuntu 中安裝:
sudo apt-get install traceroute
在其他發(fā)行版中安裝方法類似,可以使用相應(yīng)的包管理工具安裝。
使用 traceroute
traceroute 命令的基本語法如下:
traceroute [選項] 目標(biāo)主機(jī)
例如:
traceroute www.baidu.com
這將輸出從本機(jī)到百度的路由路徑。
traceroute 命令的選項:
-
-n
:不對 IP 地址進(jìn)行域名解析,直接輸出 IP 地址。 -
-w
:設(shè)置超時時間。 -
-m
:設(shè)置最大跳數(shù)。 -
-q
:設(shè)置每個 TTL 值收到的回復(fù)數(shù)量。
例如:
traceroute -n -w 1 -m 20 -q 1 www.baidu.com
這將輸出從本機(jī)到百度的路由路徑,不進(jìn)行域名解析,設(shè)置超時時間為 1 秒,最大跳數(shù)為 20,每個 TTL 值收到的回復(fù)數(shù)量為 1。
輸出解釋
traceroute 命令的輸出有以下幾個字段:
- 跳數(shù):即從本機(jī)到目標(biāo)主機(jī)經(jīng)過的跳數(shù)。
- 時間:每個跳數(shù)的延遲時間。
- IP 地址:經(jīng)過的路由器的 IP 地址或目標(biāo)主機(jī)的 IP 地址。
- 主機(jī)名:經(jīng)過的路由器的主機(jī)名。
例如:
traceroute to www.baidu.com (220.181.38.148), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 0.363 ms 0.340 ms 0.308 ms
2 10.100.1.1 (10.100.1.1) 15.791 ms 15.779 ms 15.765 ms
3 218.205.109.89 (218.205.109.89) 26.228 ms 26.217 ms 26.204 ms
4 218.205.110.253 (218.205.110.253) 25.176 ms 25.163 ms 25.150 ms
5 202.97.50.201 (202.97.50.201) 25.135 ms 25.123 ms 25.110 ms
6 202.97.52.65 (202.97.52.65) 26.541 ms 26.528 ms 26.515 ms
7 202.97.52.66 (202.97.52.66) 28.002 ms 27.989 ms 27.976 ms
8 202.97.50.54 (202.97.50.54) 30.024 ms 30.011 ms 29.998 ms
9 202.97.50.45 (202.97.50.45) 27.975 ms 27.962 ms 27.949 ms
10 61.135.169.121 (61.135.169.121) 28.937 ms 28.924 ms 28.911 ms
11 61.135.169.26 (61.135.169.26) 28.898 ms 28.885 ms 28.872 ms
12 220.181.38.148 (220.181.38.148) 29.726 ms 29.713 ms 29.700 ms
其中,“30 hops max” 表示最大跳數(shù)為 30。每一行輸出包括跳數(shù)、時間、IP 地址和主機(jī)名(如果有的話),例如第一行輸出為 “1 192.168.1.1 (192.168.1.1) 0.363 ms 0.340 ms 0.308 ms”,表示第一跳的 IP 地址為 192.168.1.1,延遲時間分別為 0.363ms、0.340ms 和 0.308ms。
traceroute 的工作原理
traceroute 使用 ICMP 協(xié)議,向目標(biāo)主機(jī)發(fā)送特定的數(shù)據(jù)包(稱為 TTL),每經(jīng)過一個路由器,TTL 值就減 1,當(dāng) TTL 值為 0 時,路由器將會將數(shù)據(jù)包丟棄并向源主機(jī)發(fā)送一個 ICMP “超時”消息。traceroute 利用這個特性,對目標(biāo)主機(jī)進(jìn)行探測,獲取數(shù)據(jù)包經(jīng)過的路由路徑。
traceroute 還使用 UDP 協(xié)議,當(dāng) ICMP 協(xié)議被防火墻或路由器過濾時,可以使用 UDP 協(xié)議進(jìn)行探測。
traceroute 的常用參數(shù)
-I 參數(shù)
使用 -I 參數(shù)可以讓 traceroute 使用 ICMP ECHO 請求報文而不是 UDP 數(shù)據(jù)包,從而可以繞過部分防火墻的過濾。
-p 參數(shù)
使用 -p 參數(shù)可以指定 UDP 數(shù)據(jù)包的目標(biāo)端口號,從而可以避免被防火墻過濾。
-T 參數(shù)
使用 -T 參數(shù)可以讓 traceroute 使用 TCP SYN 數(shù)據(jù)包,從而可以檢測目標(biāo)主機(jī)是否開放了指定的端口。
-z 參數(shù)
使用 -z 參數(shù)可以指定每次發(fā)送數(shù)據(jù)包之間的延遲時間。文章來源:http://www.zghlxwxcb.cn/news/detail-649481.html
總結(jié)
traceroute 是一個非常有用的網(wǎng)絡(luò)診斷工具,可以幫助我們分析出網(wǎng)絡(luò)連接的瓶頸,定位網(wǎng)絡(luò)問題,并幫助我們優(yōu)化網(wǎng)絡(luò)連接。本文介紹了 traceroute 的基本語法和常用參數(shù),以及其工作原理和輸出解釋,希望能夠幫助讀者更好地了解和掌握 traceroute 的使用。文章來源地址http://www.zghlxwxcb.cn/news/detail-649481.html
到了這里,關(guān)于非常有用的Linux網(wǎng)絡(luò)診斷命令:traceroute的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!