自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

traceroute 介紹

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

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

[[325495]]

traceroute 主要用途

traceroute 利用 ICMP 差錯(cuò)報(bào)文,主要用來確定這幾件事:

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

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

不過這里要 注意 ,并不是所有路由器都會(huì)返回 ICMP 報(bào)文,因?yàn)槌鲇诎踩钥紤],大多數(shù)防火墻以及啟用了防火墻功能的路由器都默認(rèn)配置為不返回任何 ICMP 報(bào)文,管理員也會(huì)主動(dòng)配置,所以這時(shí)使用 traceroute 就不一定能拿到所有路由器信息了。

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

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

常用命令案例

traceroute 使用格式是:

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

  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 ] 

其中,選項(xiàng)主要有:

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

① 最簡(jiǎn)單的用法

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 ~]# 

可以看到,第一行輸出探測(cè)的主機(jī)名和對(duì)應(yīng) IP,允許探測(cè)的最大跳數(shù),以及發(fā)送的數(shù)據(jù)包字節(jié)數(shù),后面每一行表示每一跳的信息,包括 IP 信息,3 個(gè)時(shí)延值(因?yàn)槊恳惶J(rèn)會(huì)發(fā) 3 次探測(cè)包)。

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

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

默認(rèn) 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 跳。

③ 每一跳不進(jìn)行 DNS 解析,不顯示主機(jī)名:-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ī)名已經(jīng)去除。

④ 設(shè)置 UDP 端口號(hào)為 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 ~]# 

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

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

⑤ 設(shè)置探測(cè)包的個(gè)數(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 ~]# 

可以看到,每一跳探測(cè)輸出了 4 個(gè)時(shí)延值。

⑥ 設(shè)置探測(cè)包的等待響應(yīng)時(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 ~]# 

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

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)絡(luò)不可達(dá)。

⑧ 探測(cè)路徑 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 

可以看到,探測(cè)到 MTU F=1500。

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

 

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

2021-02-22 11:35:43

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

2017-02-06 09:22:19

PHP開發(fā)Composer

2016-12-19 15:55:10

PHP開發(fā)者Composer

2021-04-27 15:28:32

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

2024-01-05 09:23:09

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

2022-06-01 10:09:39

Linux網(wǎng)絡(luò)延遲

2021-05-18 09:12:40

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

2023-10-30 09:01:08

Nginx日志分析

2024-01-07 17:11:53

網(wǎng)絡(luò)IDC機(jī)房

2024-06-07 08:19:05

2023-08-01 11:53:25

2024-09-30 09:05:46

Linux網(wǎng)絡(luò)延遲

2023-03-03 09:33:45

ArthasJava診斷工具

2024-08-14 14:20:00

2020-07-09 10:21:03

網(wǎng)絡(luò)排錯(cuò)TCPIP

2019-11-15 14:38:04

JavaLinux阿里

2024-02-20 16:55:14

K8S云計(jì)算

2019-11-15 08:40:53

Java開發(fā)代碼

2022-01-26 19:42:05

MySQL亂碼排查

2021-11-14 05:00:56

排查Sdk方式
點(diǎn)贊
收藏

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