偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

排查網(wǎng)絡問題,請務必掌握這款工具

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

traceroute 介紹

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

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

[[325495]]

traceroute 主要用途

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

  • 確定通信雙方路徑上經(jīng)過的路由器設(shè)備
  • 確定 UDP 包是否成功達到目的地
  • 發(fā)現(xiàn)路徑 MTU

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

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

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

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

常用命令案例

traceroute 使用格式是:

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

  1. # traceroute --help  
  2. Usage:  
  3. 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 值,默認是1
  • -g gate:指定網(wǎng)關(guān) gate 可路由的最大數(shù)據(jù)包數(shù)
  • -I:使用 ICMP echo 包探測
  • -T:使用 TCP SYN 包探測
  • -m max_ttl:設(shè)置 TTL 最大跳數(shù),默認是 30
  • -N squeries:同時發(fā)送探測包的數(shù)量
  • -n:不進行 IP 到域名的解析
  • -p port:設(shè)置目的端口的值(默認是 33434),ICMP 就是設(shè)置初始序列號(默認為1 )
  • -t tos:設(shè)置 TOS 值(IPv6 是 TC 值)
  • -w max,here,near:設(shè)置等待每一跳響應的時間,有三個值,max表示最大不能超過的時間(默認是5s),here表示同一跳時間的參考因子,near表示下一跳參考因子(這兩個值意義不大)
  • -q nqueries:設(shè)置每一跳探測的次數(shù),默認是 3
  • -r:繞過中間的路由探測,直接將包送達目的地
  • -s srcaddr:使用 srcaddr 作為發(fā)送包的源地址
  • --mtu:發(fā)現(xiàn)路徑 MTU,等價于參數(shù) -F-N1

① 最簡單的用法

traceroute www.baidu.com

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

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

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

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

默認 TTL 是 30 跳。

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

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

③ 每一跳不進行 DNS 解析,不顯示主機名:-n

traceroute-n www.baidu.com

  1. [root@localhost ~]# traceroute -n www.baidu.com  
  2. traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets  
  3. 211.151.74.2 5.430 ms 5.636 ms 5.802 ms  
  4. 211.151.56.57 0.627 ms 0.625 ms 0.617 ms  
  5. 211.151.227.206 0.575 ms 0.584 ms 0.576 ms  
  6. 210.77.139.145 0.703 ms 0.754 ms 0.806 ms  
  7. 202.106.42.101 23.683 ms 23.869 ms 23.998 ms  
  8. 202.106.228.37 247.101 ms * *  
  9. 61.148.146.29 5.256 ms 124.65.58.213 4.386 ms 4.373 ms  
  10. 202.106.35.190 1.610 ms 61.148.156.138 1.786 ms 61.148.3.34 2.089 ms  
  11. * * *  
  12. * * *  
  13. [root@localhost ~]# 

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

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

traceroute-p6666www.baidu.com

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

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

  • !H、!N 、!P:分別表示 host、network、protocol 不可達
  • !S:源路由抑制(source route failed)
  • !F:需要分片但是沒分片(fragmentation needed)
  • !V:違反主機優(yōu)先級(host precedence violation)
  • !C:優(yōu)先級終止生效(precedence cutoff in effect)
  • !\:ICMP 不可達代碼(ICMP unreachable code \)

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

traceroute-q4www.baidu.com

  1. [root@localhost ~]# traceroute -q 4 www.baidu.com  
  2. traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets  
  3. 211.151.74.2 (211.151.74.2) 40.633 ms 40.819 ms 41.004 ms 41.188 ms  
  4. 211.151.56.57 (211.151.56.57) 0.637 ms 0.633 ms 0.627 ms 0.619 ms  
  5. 211.151.227.206 (211.151.227.206) 0.505 ms 0.580 ms 0.571 ms 0.569 ms  
  6. 210.77.139.145 (210.77.139.145) 0.753 ms 0.800 ms 0.853 ms 0.904 ms  
  7. 202.106.42.101 (202.106.42.101) 7.449 ms 7.543 ms 7.738 ms 7.893 ms  
  8. 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 *  
  9. 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 
  10. 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  
  11. * * * *  
  12. * * * *  
  13. [root@localhost ~]# 

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

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

traceroute-w3www.baidu.com

  1. [root@localhost ~]# traceroute -w 3 www.baidu.com  
  2. traceroute to www.baidu.com (61.135.169.105), 30 hops max, 40 byte packets  
  3. 211.151.74.2 (211.151.74.2) 2.306 ms 2.469 ms 2.650 ms  
  4. 211.151.56.1 (211.151.56.1) 0.621 ms 0.613 ms 0.603 ms  
  5. 211.151.227.206 (211.151.227.206) 0.557 ms 0.560 ms 0.552 ms  
  6. 210.77.139.145 (210.77.139.145) 0.708 ms 0.761 ms 0.817 ms  
  7. 202.106.42.101 (202.106.42.101) 7.520 ms 7.774 ms 7.902 ms  
  8. 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  
  9. 124.65.58.221 (124.65.58.221) 4.490 ms 4.483 ms 4.472 ms  
  10. 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  
  11. * * *  
  12. * * *  
  13. [root@localhost ~]# 

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

traceroute-r www.baidu.com

  1. [root@localhost ~]# traceroute -r www.baidu.com  
  2. traceroute to www.baidu.com (61.135.169.125), 30 hops max, 40 byte packets  
  3. Network is unreachable  
  4. [root@localhost ~]#  

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

⑧ 探測路徑 MTU

traceroute--mtu www.baidu.com

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

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

OK,除此之外,還有更多的用法,大家有興趣可以通過 man traceroute 查看更多的用法。

 

責任編輯:趙寧寧 來源: Linux云計算網(wǎng)絡
相關(guān)推薦

2021-02-22 11:35:43

網(wǎng)絡數(shù)據(jù)技術(shù)

2021-04-27 15:28:32

程序員技能開發(fā)者

2016-12-19 15:55:10

PHP開發(fā)者Composer

2017-02-06 09:22:19

PHP開發(fā)Composer

2024-01-05 09:23:09

Linux系統(tǒng)內(nèi)存內(nèi)存指標

2022-06-01 10:09:39

Linux網(wǎng)絡延遲

2021-05-18 09:12:40

TCP網(wǎng)絡分層網(wǎng)絡協(xié)議

2025-06-18 08:05:00

箭頭函數(shù)function開發(fā)

2023-10-30 09:01:08

Nginx日志分析

2024-01-07 17:11:53

網(wǎng)絡IDC機房

2024-06-07 08:19:05

2024-09-30 09:05:46

Linux網(wǎng)絡延遲

2023-08-01 11:53:25

2023-03-03 09:33:45

ArthasJava診斷工具

2020-07-09 10:21:03

網(wǎng)絡排錯TCPIP

2019-11-15 14:38:04

JavaLinux阿里

2024-08-14 14:20:00

2024-02-20 16:55:14

K8S云計算

2022-05-23 09:03:35

Heighliner開發(fā)者工具

2021-10-25 08:00:00

工具DataTrucker后端
點贊
收藏

51CTO技術(shù)棧公眾號