主頁 > 知識庫 > Linux命令每天必學(xué)(55)之traceroute命令

Linux命令每天必學(xué)(55)之traceroute命令

熱門標(biāo)簽:地方門戶網(wǎng)站 呼叫中心市場需求 鐵路電話系統(tǒng) 服務(wù)外包 Linux服務(wù)器 AI電銷 網(wǎng)站排名優(yōu)化 百度競價排名

關(guān)于linux traceroute 命令的相關(guān)知識介紹如下所示:

通過traceroute我們可以知道信息從你的計算機(jī)到互聯(lián)網(wǎng)另一端的主機(jī)是走的什么路徑。當(dāng)然每次數(shù)據(jù)包由某一同樣的出發(fā)點(diǎn)(source)到達(dá)某一同樣的目的地(destination)走的路徑可能會不一樣,但基本上來說大部分時候所走的路由是相同的。linux系統(tǒng)中,我們稱之為traceroute,在MS Windows中為tracert。 traceroute通過發(fā)送小的數(shù)據(jù)包到目的設(shè)備直到其返回,來測量其需要多長時間。一條路徑上的每個設(shè)備traceroute要測3次。輸出結(jié)果中包括每次測試的時間(ms)和設(shè)備的名稱(如有的話)及其IP地址。
在大多數(shù)情況下,我們會在linux主機(jī)系統(tǒng)下,直接執(zhí)行命令行:

traceroute hostname

而在Windows系統(tǒng)下是執(zhí)行tracert的命令:
tracert hostname

1.命令格式:

traceroute[參數(shù)][主機(jī)]

2.命令功能:

traceroute指令讓你追蹤網(wǎng)絡(luò)數(shù)據(jù)包的路由途徑,預(yù)設(shè)數(shù)據(jù)包大小是40Bytes,用戶可另行設(shè)置。
具體參數(shù)格式:traceroute [-dFlnrvx][-f存活數(shù)值>][-g網(wǎng)關(guān)>...][-i網(wǎng)絡(luò)界面>][-m存活數(shù)值>][-p通信端口>][-s來源地址>][-t服務(wù)類型>][-w超時秒數(shù)>][主機(jī)名稱或IP地址][數(shù)據(jù)包大小]

3.命令參數(shù):

-d 使用Socket層級的排錯功能。
-f 設(shè)置第一個檢測數(shù)據(jù)包的存活數(shù)值TTL的大小。
-F 設(shè)置勿離斷位。
-g 設(shè)置來源路由網(wǎng)關(guān),最多可設(shè)置8個。
-i 使用指定的網(wǎng)絡(luò)界面送出數(shù)據(jù)包。
-I 使用ICMP回應(yīng)取代UDP資料信息。
-m 設(shè)置檢測數(shù)據(jù)包的最大存活數(shù)值TTL的大小。
-n 直接使用IP地址而非主機(jī)名稱。
-p 設(shè)置UDP傳輸協(xié)議的通信端口。
-r 忽略普通的Routing Table,直接將數(shù)據(jù)包送到遠(yuǎn)端主機(jī)上。
-s 設(shè)置本地主機(jī)送出數(shù)據(jù)包的IP地址。
-t 設(shè)置檢測數(shù)據(jù)包的TOS數(shù)值。
-v 詳細(xì)顯示指令的執(zhí)行過程。
-w 設(shè)置等待遠(yuǎn)端主機(jī)回報的時間。
-x 開啟或關(guān)閉數(shù)據(jù)包的正確性檢驗(yàn)。

4.使用實(shí)例:

實(shí)例1:traceroute 用法簡單、最常用的用法

命令:
traceroute www.baidu.com

輸出:

[root@localhost ~]# traceroute www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets
 1  192.168.74.2 (192.168.74.2)  2.606 ms  2.771 ms  2.950 ms
 2  211.151.56.57 (211.151.56.57)  0.596 ms  0.598 ms  0.591 ms
 3  211.151.227.206 (211.151.227.206)  0.546 ms  0.544 ms  0.538 ms
 4  210.77.139.145 (210.77.139.145)  0.710 ms  0.748 ms  0.801 ms
 5  202.106.42.101 (202.106.42.101)  6.759 ms  6.945 ms  7.107 ms
 6  61.148.154.97 (61.148.154.97)  718.908 ms * bt-228-025.bta.net.cn (202.106.228.25)  5.177 ms
 7  124.65.58.213 (124.65.58.213)  4.343 ms  4.336 ms  4.367 ms
 8  202.106.35.190 (202.106.35.190)  1.795 ms 61.148.156.138 (61.148.156.138)  1.899 ms  1.951 ms
 9  * * *
30  * * *
[root@localhost ~]#

說明:

記錄按序列號從1開始,每個紀(jì)錄就是一跳 ,每跳表示一個網(wǎng)關(guān),我們看到每行有三個時間,單位是 ms,其實(shí)就是-q的默認(rèn)參數(shù)。探測數(shù)據(jù)包向每個網(wǎng)關(guān)發(fā)送三個數(shù)據(jù)包后,網(wǎng)關(guān)響應(yīng)后返回的時間;如果您用 traceroute -q 4 www.58.com ,表示向每個網(wǎng)關(guān)發(fā)送4個數(shù)據(jù)包。

有時我們traceroute 一臺主機(jī)時,會看到有一些行是以星號表示的。出現(xiàn)這樣的情況,可能是防火墻封掉了ICMP的返回信息,所以我們得不到什么相關(guān)的數(shù)據(jù)包返回數(shù)據(jù)。

有時我們在某一網(wǎng)關(guān)處延時比較長,有可能是某臺網(wǎng)關(guān)比較阻塞,也可能是物理設(shè)備本身的原因。當(dāng)然如果某臺DNS出現(xiàn)問題時,不能解析主機(jī)名、域名時,也會 有延時長的現(xiàn)象;您可以加-n 參數(shù)來避免DNS解析,以IP格式輸出數(shù)據(jù)。

如果在局域網(wǎng)中的不同網(wǎng)段之間,我們可以通過traceroute 來排查問題所在,是主機(jī)的問題還是網(wǎng)關(guān)的問題。如果我們通過遠(yuǎn)程來訪問某臺服務(wù)器遇到問題時,我們用到traceroute 追蹤數(shù)據(jù)包所經(jīng)過的網(wǎng)關(guān),提交IDC服務(wù)商,也有助于解決問題;但目前看來在國內(nèi)解決這樣的問題是比較困難的,就是我們發(fā)現(xiàn)問題所在,IDC服務(wù)商也不可能幫助我們解決。

實(shí)例2:跳數(shù)設(shè)置

命令:

traceroute -m 10 www.baidu.com

輸出:

[root@localhost ~]# traceroute -m 10 www.baidu.com
traceroute to www.baidu.com (61.135.169.105), 10 hops max, 40 byte packets
 1  192.168.74.2 (192.168.74.2)  1.534 ms  1.775 ms  1.961 ms
 2  211.151.56.1 (211.151.56.1)  0.508 ms  0.514 ms  0.507 ms
 3  211.151.227.206 (211.151.227.206)  0.571 ms  0.558 ms  0.550 ms
 4  210.77.139.145 (210.77.139.145)  0.708 ms  0.729 ms  0.785 ms
 5  202.106.42.101 (202.106.42.101)  7.978 ms  8.155 ms  8.311 ms
 6  bt-228-037.bta.net.cn (202.106.228.37)  772.460 ms bt-228-025.bta.net.cn (202.106.228.25)  2.152 ms 61.148.154.97 (61.148.154.97)  772.107 ms
 7  124.65.58.221 (124.65.58.221)  4.875 ms 61.148.146.29 (61.148.146.29)  2.124 ms 124.65.58.221 (124.65.58.221)  4.854 ms
 8  123.126.6.198 (123.126.6.198)  2.944 ms 61.148.156.6 (61.148.156.6)  3.505 ms 123.126.6.198 (123.126.6.198)  2.885 ms
 9  * * *
10  * * *
[root@localhost ~]#

說明:

實(shí)例3:顯示IP地址,不查主機(jī)名

命令:

traceroute -n www.baidu.com

輸出:

[root@localhost ~]# traceroute -n www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets
 1  211.151.74.2  5.430 ms  5.636 ms  5.802 ms
 2  211.151.56.57  0.627 ms  0.625 ms  0.617 ms
 3  211.151.227.206  0.575 ms  0.584 ms  0.576 ms
 4  210.77.139.145  0.703 ms  0.754 ms  0.806 ms
 5  202.106.42.101  23.683 ms  23.869 ms  23.998 ms
 6  202.106.228.37  247.101 ms * *
 7  61.148.146.29  5.256 ms 124.65.58.213  4.386 ms  4.373 ms
 8  202.106.35.190  1.610 ms 61.148.156.138  1.786 ms 61.148.3.34  2.089 ms
 9  * * *
30  * * *
[root@localhost ~]# traceroute www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets
 1  211.151.74.2 (211.151.74.2)  4.671 ms  4.865 ms  5.055 ms
 2  211.151.56.57 (211.151.56.57)  0.619 ms  0.618 ms  0.612 ms
 3  211.151.227.206 (211.151.227.206)  0.620 ms  0.642 ms  0.636 ms
 4  210.77.139.145 (210.77.139.145)  0.720 ms  0.772 ms  0.816 ms
 5  202.106.42.101 (202.106.42.101)  7.667 ms  7.910 ms  8.012 ms
 6  bt-228-025.bta.net.cn (202.106.228.25)  2.965 ms  2.440 ms 61.148.154.97 (61.148.154.97)  431.337 ms
 7  124.65.58.213 (124.65.58.213)  5.134 ms  5.124 ms  5.044 ms
 8  202.106.35.190 (202.106.35.190)  1.917 ms  2.052 ms  2.059 ms
 9  * * *
30  * * *
[root@localhost ~]#

說明:

實(shí)例4:探測包使用的基本UDP端口設(shè)置6888

命令:

traceroute -p 6888 www.baidu.com

輸出:

[root@localhost ~]# traceroute -p 6888 www.baidu.com
traceroute to www.baidu.com (220.181.111.147), 30 hops max, 40 byte packets
 1  211.151.74.2 (211.151.74.2)  4.927 ms  5.121 ms  5.298 ms
 2  211.151.56.1 (211.151.56.1)  0.500 ms  0.499 ms  0.509 ms
 3  211.151.224.90 (211.151.224.90)  0.637 ms  0.631 ms  0.641 ms
 4  * * *
 5  220.181.70.98 (220.181.70.98)  5.050 ms  5.313 ms  5.596 ms
 6  220.181.17.94 (220.181.17.94)  1.665 ms !X * *
[root@localhost ~]#

說明:

實(shí)例5:把探測包的個數(shù)設(shè)置為值4

命令:

traceroute -q 4 www.baidu.com

輸出:

[root@localhost ~]# traceroute -q 4 www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets
 1  211.151.74.2 (211.151.74.2)  40.633 ms  40.819 ms  41.004 ms  41.188 ms
 2  211.151.56.57 (211.151.56.57)  0.637 ms  0.633 ms  0.627 ms  0.619 ms
 3  211.151.227.206 (211.151.227.206)  0.505 ms  0.580 ms  0.571 ms  0.569 ms
 4  210.77.139.145 (210.77.139.145)  0.753 ms  0.800 ms  0.853 ms  0.904 ms
 5  202.106.42.101 (202.106.42.101)  7.449 ms  7.543 ms  7.738 ms  7.893 ms
 6  61.148.154.97 (61.148.154.97)  316.817 ms bt-228-025.bta.net.cn (202.106.228.25)  3.695 ms  3.672 ms *
 7  124.65.58.213 (124.65.58.213)  3.056 ms  2.993 ms  2.960 ms 61.148.146.29 (61.148.146.29)  2.837 ms
 8  61.148.3.34 (61.148.3.34)  2.179 ms  2.295 ms  2.442 ms 202.106.35.190 (202.106.35.190)  7.136 ms
 9  * * * *
30  * * * *
[root@localhost ~]#

說明:

實(shí)例6:繞過正常的路由表,直接發(fā)送到網(wǎng)絡(luò)相連的主機(jī)

命令:

 traceroute -r www.baidu.com

輸出:

[root@localhost ~]# traceroute -r www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets
connect: 網(wǎng)絡(luò)不可達(dá)
[root@localhost ~]# 

說明:

實(shí)例7:把對外發(fā)探測包的等待響應(yīng)時間設(shè)置為3秒

命令:

traceroute -w 3 www.baidu.com

輸出:

[root@localhost ~]# traceroute -w 3 www.baidu.com
traceroute to www.baidu.com (61.135.169.105), 30 hops max, 40 byte packets
 1  211.151.74.2 (211.151.74.2)  2.306 ms  2.469 ms  2.650 ms
 2  211.151.56.1 (211.151.56.1)  0.621 ms  0.613 ms  0.603 ms
 3  211.151.227.206 (211.151.227.206)  0.557 ms  0.560 ms  0.552 ms
 4  210.77.139.145 (210.77.139.145)  0.708 ms  0.761 ms  0.817 ms
 5  202.106.42.101 (202.106.42.101)  7.520 ms  7.774 ms  7.902 ms
 6  bt-228-025.bta.net.cn (202.106.228.25)  2.890 ms  2.369 ms 61.148.154.97 (61.148.154.97)  471.961 ms
 7  124.65.58.221 (124.65.58.221)  4.490 ms  4.483 ms  4.472 ms
 8  123.126.6.198 (123.126.6.198)  2.948 ms 61.148.156.6 (61.148.156.6)  7.688 ms  7.756 ms
 9  * * *
30  * * *
[root@localhost ~]#

說明:

Traceroute的工作原理:
Traceroute最簡單的基本用法是:traceroute hostname
Traceroute程序的設(shè)計是利用ICMP及IP header的TTL(Time To Live)欄位(field)。首先,traceroute送出一個TTL是1的IP datagram(其實(shí),每次送出的為3個40字節(jié)的包,包括源地址,目的地址和包發(fā)出的時間標(biāo)簽)到目的地,當(dāng)路徑上的第一個路由器(router)收到這個datagram時,它將TTL減1。此時,TTL變?yōu)?了,所以該路由器會將此datagram丟掉,并送回一個「ICMP time exceeded」消息(包括發(fā)IP包的源地址,IP包的所有內(nèi)容及路由器的IP地址),traceroute 收到這個消息后,便知道這個路由器存在于這個路徑上,接著traceroute 再送出另一個TTL是2 的datagram,發(fā)現(xiàn)第2 個路由器...... traceroute 每次將送出的datagram的TTL 加1來發(fā)現(xiàn)另一個路由器,這個重復(fù)的動作一直持續(xù)到某個datagram 抵達(dá)目的地。當(dāng)datagram到達(dá)目的地后,該主機(jī)并不會送回ICMP time exceeded消息,因?yàn)樗咽悄康牡亓?,那么traceroute如何得知目的地到達(dá)了呢?
Traceroute在送出UDP datagrams到目的地時,它所選擇送達(dá)的port number 是一個一般應(yīng)用程序都不會用的號碼(30000 以上),所以當(dāng)此UDP datagram 到達(dá)目的地后該主機(jī)會送回一個「ICMP port unreachable」的消息,而當(dāng)traceroute 收到這個消息時,便知道目的地已經(jīng)到達(dá)了。所以traceroute 在Server端也是沒有所謂的Daemon 程式。
Traceroute提取發(fā) ICMP TTL到期消息設(shè)備的IP地址并作域名解析。每次 ,Traceroute都打印出一系列數(shù)據(jù),包括所經(jīng)過的路由設(shè)備的域名及 IP地址,三個包每次來回所花時間。

windows之tracert:

格式:

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

參數(shù)說明:

tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name

該診斷實(shí)用程序通過向目的地發(fā)送具有不同生存時間 (TL) 的 Internet 控制信息協(xié)議 (CMP) 回應(yīng)報文,以確定至目的地的路由。路徑上的每個路由器都要在轉(zhuǎn)發(fā)該 ICMP 回應(yīng)報文之前將其 TTL 值至少減 1,因此 TTL 是有效的跳轉(zhuǎn)計數(shù)。當(dāng)報文的 TTL 值減少到 0 時,路由器向源系統(tǒng)發(fā)回 ICMP 超時信息。通過發(fā)送 TTL 為 1 的第一個回應(yīng)報文并且在隨后的發(fā)送中每次將 TTL 值加 1,直到目標(biāo)響應(yīng)或達(dá)到最大 TTL 值,Tracert 可以確定路由。通過檢查中間路由器發(fā)發(fā)回的 ICMP 超時 (ime Exceeded) 信息,可以確定路由器。注意,有些路由器“安靜”地丟棄生存時間 (TLS) 過期的報文并且對 tracert 無效。

參數(shù):

-d 指定不對計算機(jī)名解析地址。
-h maximum_hops 指定查找目標(biāo)的跳轉(zhuǎn)的最大數(shù)目。
-jcomputer-list 指定在 computer-list 中松散源路由。
-w timeout 等待由 timeout 對每個應(yīng)答指定的毫秒數(shù)。
target_name 目標(biāo)計算機(jī)的名稱。

實(shí)例:

C:\Users\Administrator>tracert www.58.com
Tracing route to www.58.com [221.187.111.30]
over a maximum of 30 hops:
  1     1 ms     1 ms     1 ms  10.58.156.1
  2     1 ms    1 ms    1 ms  10.10.10.1
  3     1 ms     1 ms     1 ms  211.103.193.129
  4     2 ms     2 ms     2 ms  10.255.109.129
  5     1 ms     1 ms     3 ms  124.205.98.205
  6     2 ms     2 ms     2 ms  124.205.98.253
  7     2 ms     6 ms     1 ms  202.99.1.125
  8     5 ms     6 ms     5 ms  118.186.0.113
  9   207 ms     *        *     118.186.0.106
 10     8 ms     6 ms    11 ms  124.238.226.201
 11     6 ms     7 ms     6 ms  219.148.19.177
 12    12 ms    12 ms    16 ms  219.148.18.117
 13    14 ms    17 ms    16 ms  219.148.19.125
 14    13 ms    13 ms    12 ms  202.97.80.113
 15     *        *        *     Request timed out.
 16    12 ms    12 ms    17 ms  bj141-147-82.bjtelecom.net [219.141.147.82]
 17    13 ms    13 ms    12 ms  202.97.48.2
 18     *        *        *     Request timed out.
 19    14 ms    14 ms    12 ms  221.187.224.85
 20    15 ms    13 ms    12 ms  221.187.104.2
 21     *        *        *     Request timed out.
 22    15 ms    17 ms    18 ms  221.187.111.30
Trace complete.

您可能感興趣的文章:
  • 你可能會用到的16個Linux命令
  • linux命令學(xué)習(xí)之10個網(wǎng)絡(luò)命令和監(jiān)控命令
  • 11個有用的Linux命令
  • 開發(fā)人員必知的8個常用linux命令
  • java程序員必須要學(xué)會的linux命令總結(jié)(推薦)
  • Linux命令每天必學(xué)(5)之rm命令
  • Java開發(fā)必會的Linux命令
  • Linux命令技巧之30個必會的命令技巧

標(biāo)簽:湖南 銅川 仙桃 湘潭 衡水 崇左 黃山 蘭州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux命令每天必學(xué)(55)之traceroute命令》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266