久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

linux中traceroute有什么用

147次閱讀
沒有評論

共計 7126 個字符,預(yù)計需要花費 18 分鐘才能閱讀完成。

這篇文章主要介紹 linux 中 traceroute 有什么用,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

traceroute 介紹

traceroute 就如同它的名字一樣,能夠追蹤到一個網(wǎng)絡(luò)數(shù)據(jù)包傳輸經(jīng)過的路由器路徑。這是 Linux 上的一個命令,Windows 上類似的命令是  tracert。

tracert 默認(rèn)使用 ICMP 包探測,traceroute 使用 UDP 包,也可以使用 ICMP 和 TCP 包探測,分別帶上參數(shù) - I 和 -T   即可。

traceroute 主要用途

traceroute 利用 ICMP 差錯報文,主要用來確定這幾件事:

確定通信雙方路徑上經(jīng)過的路由器設(shè)備

確定 UDP 包是否成功達(dá)到目的地

發(fā)現(xiàn)路徑 MTU

(1) 確定通信雙方路徑上經(jīng)過的路由器設(shè)備。利用 IP 包的 TTL 字段和超時類型的 ICMP 報文來實現(xiàn)。首先,traceroute 向目的地發(fā)送 IP   包,剛開始的時候,將 TTL 設(shè)置為 1,當(dāng)經(jīng)過第一個路由器時,TTL -1 = 0 引發(fā)超時錯誤,第一個路由器回復(fù) ICMP   超時報文,源主機(jī)就可以知道路徑第一個路由器的信息,隨后 TTL 被設(shè)置為 2、3、4, …,直到到達(dá)目的地,這樣,沿途每個路由器都會向源主機(jī)回復(fù) ICMP   超時報文,traceroute 就可以拿到所有的路由器信息了。

不過這里要 注意,并不是所有路由器都會返回 ICMP 報文,因為出于安全性考慮,大多數(shù)防火墻以及啟用了防火墻功能的路由器都默認(rèn)配置為不返回任何 ICMP   報文,管理員也會主動配置,所以這時使用 traceroute 就不一定能拿到所有路由器信息了。

(2) 確定包是否成功達(dá)到目的地。使用上面的方法能拿到路由器信息,但并不能確定發(fā)的包是否到達(dá)目的地。traceroute 通過設(shè)置所發(fā) UDP   包的端口號來解決了這個問題,因為 UDP 包的可用端口號范圍 3000,只要在發(fā)送 UDP 包的時候填入一個 3000   的端口號,當(dāng)包到達(dá)了目的地,但是由于端口不匹配,就會返回一個端口不可達(dá)的 ICMP 報文,這樣源主機(jī)就可以確定包確實到了目的地了。

(3) 發(fā)現(xiàn)路徑 MTU。利用了“需要分片但設(shè)置了不分片位”類型的 ICMP 報文,如果某個源主機(jī)在發(fā)送一個 IP 包之前,對該 IP 包中的首部字段 DF   位設(shè)為 1,也就是“分片禁止位 =1”,表示該包在傳輸?shù)倪^程中不允許分片,如果中間某個路由器允許傳輸?shù)淖畲舐窂?MTU   小于該包大小,就需要分片才能傳輸,但是由于設(shè)置了不分片位,路由器會將該包丟棄,并向源主機(jī)發(fā)送一個攜帶 MTU 信息的 ICMP   包,提醒源主機(jī)下次發(fā)包的大小不應(yīng)超過該 MTU 的值。traceroute 就可以利用這種類型報文來逐一地確認(rèn)傳輸路徑上各個路由器之間的 MTU 值。

常用命令案例

traceroute 使用格式是:

traceroute「參數(shù)」「主機(jī)」

# traceroute --help Usage: traceroute [ -46dFITnreAUDV ] [ -f first_ttl ] [ -g gate,... ] [ -i device ] [ -m max_ttl ] [ -N squeries ] [ -p port ] [ -t tos ] [ -l flow_label ] [ -w MAX,HERE,NEAR ] [ -q nqueries ] [ -s src_addr ] [ -z sendwait ] [ --fwmark=num ] host [ packetlen ]

其中,選項主要有:

-4:使用 IPv4

-6:使用 IPv6

-d:開啟 socket 層的 debug

-F:設(shè)置不分片位

-f first_ttl:設(shè)置第一跳 TTL 值,默認(rèn)是 1

-g gate:指定網(wǎng)關(guān) gate 可路由的最大數(shù)據(jù)包數(shù)

-I:使用 ICMP echo 包探測

-T:使用 TCP SYN 包探測

-m max_ttl:設(shè)置 TTL 最大跳數(shù),默認(rèn)是 30

-N squeries:同時發(fā)送探測包的數(shù)量

-n:不進(jìn)行 IP 到域名的解析

-p port:設(shè)置目的端口的值 (默認(rèn)是 33434),ICMP 就是設(shè)置初始序列號 (默認(rèn)為 1)

-t tos:設(shè)置 TOS 值 (IPv6 是 TC 值)

-w  max,here,near:設(shè)置等待每一跳響應(yīng)的時間,有三個值,max 表示最大不能超過的時間 (默認(rèn)是 5s),here 表示同一跳時間的參考因子,near 表示下一跳參考因子 (這兩個值意義不大)

-q nqueries:設(shè)置每一跳探測的次數(shù),默認(rèn)是 3

-r:繞過中間的路由探測,直接將包送達(dá)目的地

-s srcaddr:使用 srcaddr 作為發(fā)送包的源地址

–mtu:發(fā)現(xiàn)路徑 MTU,等價于參數(shù) -F-N1

① 最簡單的用法

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 192.168.74.2 (192.168.74.2) 2.606 ms 2.771 ms 2.950 ms 211.151.56.57 (211.151.56.57) 0.596 ms 0.598 ms 0.591 ms 211.151.227.206 (211.151.227.206) 0.546 ms 0.544 ms 0.538 ms 210.77.139.145 (210.77.139.145) 0.710 ms 0.748 ms 0.801 ms 202.106.42.101 (202.106.42.101) 6.759 ms 6.945 ms 7.107 ms 61.148.154.97 (61.148.154.97) 718.908 ms * bt-228-025.bta.net.cn (202.106.228.25) 5.177 ms 124.65.58.213 (124.65.58.213) 4.343 ms 4.336 ms 4.367 ms 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 * * * * * * [root@localhost ~]#

可以看到,第一行輸出探測的主機(jī)名和對應(yīng) IP,允許探測的最大跳數(shù),以及發(fā)送的數(shù)據(jù)包字節(jié)數(shù),后面每一行表示每一跳的信息,包括 IP 信息,3   個時延值 (因為每一跳默認(rèn)會發(fā) 3 次探測包)。

最后還會看到三個 ***,表示當(dāng)前這一跳被防火墻過濾,探測包被丟棄。

② 設(shè)置 TTL 最大跳數(shù):-m max_ttl

默認(rèn) TTL 是 30 跳。

[root@localhost ~]# traceroute -m 10 www.baidu.com traceroute to www.baidu.com (61.135.169.105), 10 hops max, 40 byte packets 192.168.74.2 (192.168.74.2) 1.534 ms 1.775 ms 1.961 ms 211.151.56.1 (211.151.56.1) 0.508 ms 0.514 ms 0.507 ms 211.151.227.206 (211.151.227.206) 0.571 ms 0.558 ms 0.550 ms 210.77.139.145 (210.77.139.145) 0.708 ms 0.729 ms 0.785 ms 202.106.42.101 (202.106.42.101) 7.978 ms 8.155 ms 8.311 ms 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 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 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 * * * * * * [root@localhost ~]#

可以看到,最大跳數(shù)被該為 10 跳。

③ 每一跳不進(jìn)行 DNS 解析,不顯示主機(jī)名:-n

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 211.151.74.2 5.430 ms 5.636 ms 5.802 ms 211.151.56.57 0.627 ms 0.625 ms 0.617 ms 211.151.227.206 0.575 ms 0.584 ms 0.576 ms 210.77.139.145 0.703 ms 0.754 ms 0.806 ms 202.106.42.101 23.683 ms 23.869 ms 23.998 ms 202.106.228.37 247.101 ms * * 61.148.146.29 5.256 ms 124.65.58.213 4.386 ms 4.373 ms 202.106.35.190 1.610 ms 61.148.156.138 1.786 ms 61.148.3.34 2.089 ms * * * * * * [root@localhost ~]#

可以看到相關(guān)的主機(jī)名已經(jīng)去除。

④ 設(shè)置 UDP 端口號為 6666:-p

traceroute-p6666www.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 211.151.74.2 (211.151.74.2) 4.927 ms 5.121 ms 5.298 ms 211.151.56.1 (211.151.56.1) 0.500 ms 0.499 ms 0.509 ms 211.151.224.90 (211.151.224.90) 0.637 ms 0.631 ms 0.641 ms * * * 220.181.70.98 (220.181.70.98) 5.050 ms 5.313 ms 5.596 ms 220.181.17.94 (220.181.17.94) 1.665 ms !X * * [root@localhost ~]#

可以看到,報文到達(dá)了目的地,但是顯示 !X,意思是“管理禁止通信”,對應(yīng) ICMP type=3,code=13   的報文。除此之外,還有以下這些標(biāo)志:

!H、!N、!P:分別表示 host、network、protocol 不可達(dá)

!S:源路由抑制 (source route failed)

!F:需要分片但是沒分片 (fragmentation needed)

!V:違反主機(jī)優(yōu)先級 (host precedence violation)

!C:優(yōu)先級終止生效 (precedence cutoff in effect)

!\:ICMP 不可達(dá)代碼 (ICMP unreachable code \)

⑤ 設(shè)置探測包的個數(shù):-q

traceroute-q4www.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 211.151.74.2 (211.151.74.2) 40.633 ms 40.819 ms 41.004 ms 41.188 ms 211.151.56.57 (211.151.56.57) 0.637 ms 0.633 ms 0.627 ms 0.619 ms 211.151.227.206 (211.151.227.206) 0.505 ms 0.580 ms 0.571 ms 0.569 ms 210.77.139.145 (210.77.139.145) 0.753 ms 0.800 ms 0.853 ms 0.904 ms 202.106.42.101 (202.106.42.101) 7.449 ms 7.543 ms 7.738 ms 7.893 ms 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 * 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 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 * * * * * * * * [root@localhost ~]#

可以看到,每一跳探測輸出了 4 個時延值。

⑥ 設(shè)置探測包的等待響應(yīng)時間:-w

traceroute-w3www.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 211.151.74.2 (211.151.74.2) 2.306 ms 2.469 ms 2.650 ms 211.151.56.1 (211.151.56.1) 0.621 ms 0.613 ms 0.603 ms 211.151.227.206 (211.151.227.206) 0.557 ms 0.560 ms 0.552 ms 210.77.139.145 (210.77.139.145) 0.708 ms 0.761 ms 0.817 ms 202.106.42.101 (202.106.42.101) 7.520 ms 7.774 ms 7.902 ms 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 124.65.58.221 (124.65.58.221) 4.490 ms 4.483 ms 4.472 ms 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 * * * * * * [root@localhost ~]#

⑦ 繞過中間的路由探測,直接將包送達(dá)目的地

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 Network is unreachable [root@localhost ~]#

可以看到,直接顯示網(wǎng)絡(luò)不可達(dá)。

⑧ 探測路徑 MTU

traceroute–mtu www.baidu.com

root@pclcache:~# traceroute --mtu www.baidu.com traceroute to www.baidu.com (14.215.177.39), 30 hops max, 65000 byte packets 1 192.168.109.1 (192.168.109.1) 3.063 ms F=1500 2.908 ms * 2 192.168.98.36 (192.168.98.36) 1.686 ms 1.422 ms * 3 113.98.59.57 (113.98.59.57) 7.075 ms 7.544 ms 5.851 ms

可以看到,探測到 MTU F=1500。

以上是“l(fā)inux 中 traceroute 有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-25發(fā)表,共計7126字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 拉孜县| 绵竹市| 千阳县| 红原县| 九龙坡区| 和林格尔县| 龙门县| 灯塔市| 通州市| 资源县| 扶风县| 法库县| 德格县| 隆回县| 阿勒泰市| 渝中区| 太原市| 元谋县| 徐水县| 雷山县| 江源县| 安远县| 磐石市| 麦盖提县| 泰州市| 三都| 安多县| 腾冲县| 昆明市| 大连市| 华容县| 吕梁市| 宾阳县| 昌平区| 炉霍县| 罗定市| 佛冈县| 普兰县| 永靖县| 台南县| 宁强县|