<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          老板讓我在Linux中使用traceroute排查服務器網絡問題,幸好我收藏了這篇文章!

          共 3533字,需瀏覽 8分鐘

           ·

          2023-03-10 23:25

          來源:網絡技術聯(lián)盟站 

          鏈接:https://www.wljslmz.cn/19854.html

          一、前言

          作為網絡工程師或者運維工程師,traceroute命令不會陌生,它的作用類似于ping命令,用于診斷網絡的連通性,不過traceroute命令輸出的命令會比ping命令豐富的多,可以跟蹤從源系統(tǒng)到目標系統(tǒng)的路徑。

          很多工程師對traceroute命令僅停留在基礎使用上,但是在真實的實戰(zhàn)過程中,基礎操作并不能解決問題。本文我將給大家介紹幾個traceroute命令的使用例子,讓你完全掌握traceroute命令,讓我們直接開始吧!

          二、前置知識

          在正式介紹命令使用前,請大家看下以下拓撲圖:

          如圖所示,電腦想要訪問服務器,期間到底走電腦->R1->R2->R4->服務器還是走電腦->R1->R3->R4->服務器,這個是就可以通過traceroute命令實現(xiàn),這也是traceroute命令的價值所在。

          三、在Linux中安裝traceroute命令

          首先我們通過命令lsb_release -a看下我們的服務器是什么發(fā)行版:

          root@ecs-adf0-0003:~# lsb_release -a
          No LSB modules are available.
          Distributor ID: Ubuntu
          Description:    Ubuntu 20.04.4 LTS
          Release:        20.04
          Codename:       focal

          由輸出可知,我們的系統(tǒng)是Ubuntu系統(tǒng),所以安裝traceroute命令如下:

          apt install traceroute

          安裝過程:

          如果您的Linux系統(tǒng)發(fā)行版是CentOS或者Fedora,可以使用yum install traceroute命令。

          四、在Linux中使用traceroute命令

          4.1 基本用法

          traceroute命令最基本的用法是:

          traceroute host

          命令執(zhí)行后會顯示到達目的地所需的路由器列表。

          比如我們traceroute我們的博客網站:

          traceroute www.wljslmz.cn

          執(zhí)行結果:

          如圖所示,我們執(zhí)行完traceroute www.wljslmz.cn命令后,看到從我的ecs服務器到達www.wljslmz.cn所在服務器一共經歷了20臺路由器,每臺路由器響應的時間也都打印下來了。

          4.2 更改等待時間

          traceroute 中的默認等待時間是 3 秒,這個意思就是,假如有20臺路由器,每經歷一臺路由器默認等待時間是3秒,如果我們想改變這個值,可以加一個參數(shù)-w

          traceroute -w 1 www.wljslmz.cn

          執(zhí)行結果:

          4.3 更改收發(fā)數(shù)據(jù)包的數(shù)量

          默認情況下,traceroute 一次發(fā)送 3 個包,假如想更改這個數(shù)量,可以使用-q參數(shù),比如我現(xiàn)在把它改成5個包:

          traceroute -q 5 www.wljslmz.cn

          執(zhí)行結果:

          由此可見,現(xiàn)在每臺路由器收發(fā)就變成了5個包了。

          4.4 更改最大跳數(shù)

          所謂跳數(shù)就是一次請求經歷的路由器的數(shù)量,還是這張圖:

          比如流量走向是電腦->R1->R2->R4->服務器,那么其跳數(shù)是3.

          traceroute 中默認單次查詢的最大跳數(shù)是 30,可以擴展到 255。

          如果想要更改這個參數(shù),可以加上-m參數(shù)。

          我們上面執(zhí)行的跳數(shù)都是20,我們?yōu)榱孙@示出效果,將這個值改為10:

          traceroute -m 10 www.wljslmz.cn

          執(zhí)行結果:

          可以看到最大跳數(shù)改為10以后,原先經歷20臺路由器,現(xiàn)在輸出顯示只有10臺,參數(shù)生效了。

          4.5 更改TTL開始值

          首先給大家解釋一下什么是TTL。

          TTL英文全稱:Time To Live,翻譯成中文就是生存時間,是網絡技術中比較常見的專業(yè)術語。

          如果你使用過ping命令,那么TTL經常會看到:

          root@ecs-adf0-0003:~# ping www.wljslmz.cn

          執(zhí)行結果:

          TTL,專業(yè)點解釋就是用于限制數(shù)據(jù)包在 Internet 傳輸系統(tǒng)中“存活”的時間,或者說數(shù)據(jù)包在被丟棄之前在網絡中的時間限制。

          如果你還是不明白,你就把TTL看作是跳數(shù)限制,目的是防止數(shù)據(jù)包在網絡中永遠流通,最大 TTL 值為 255。

          數(shù)據(jù)包的 TTL 字段由發(fā)送方設置,并由到達目的地的路徑上的每個路由器減少,路由器在轉發(fā) IP 數(shù)據(jù)包時將 TTL 值減一,當數(shù)據(jù)包 TTL 值達到 0 時,路由器將其丟棄并向始發(fā)主機發(fā)送回ICMP 消息。

          這就是TTL的全部解釋了,如果還想更深入的了解TTL的底層原理,瑞哥可以后期專門出一篇文章進行解釋。

          默認情況下,traceroute 將從第一個 TTL 開始,如果想要更改這個值,我們可以使用-f參數(shù)實現(xiàn):

          traceroute -f 8 www.wljslmz.cn

          執(zhí)行結果:

          可以看到我們這里是從第8個TTL開始的。

          4.6 禁用主機名到 IP 地址的映射

          我們在執(zhí)行traceroute www.wljslmz.cn命令時,注意箭頭所指的位置,會有域名的出現(xiàn):

          現(xiàn)在是因為域名比較少,假如你跟蹤的服務器中間路由器涉及到的域名比較多,那么是不便于排查問題的,所以我們需要去除主機名到 IP 地址的映射,可以使用-n參數(shù):

          traceroute -n www.wljslmz.cn

          執(zhí)行結果:

          可以看到已經沒有域名了。

          4.7 更改跟蹤路由目的端口

          先問大家可以問題:traceroute www.wljslmz.cn這條命令跟蹤的是什么端口?

          答案是80端口,如果我們想更改這個目的端口,怎么辦?

          可以使用-p參數(shù),比如改成跟蹤其2222端口:

          traceroute -p 2222 www.wljslmz.cn

          執(zhí)行結果:

          4.8 更改最大數(shù)據(jù)包大小

          默認情況下,最大數(shù)據(jù)包為60字節(jié),如下圖箭頭所示:

          如果我們覺得跟蹤的路由器數(shù)量比較多,一看就不止60字節(jié),這個時候想調大,可以這樣操作:

          traceroute www.wljslmz.cn 200

          執(zhí)行結果:

          可以看到直接在命令后加入數(shù)字即可。

          我們嘗試執(zhí)行一下這條命令:

          traceroute www.wljslmz.cn 1

          猜一下執(zhí)行結果中,最大數(shù)據(jù)包大小是多少?

          1?

          當然不是!

          我們看到最終的大小是28字節(jié),也就是說這條命令只能用來限制最大大小,而不是設置多大,包就被過濾了,28字節(jié)是跟蹤包的最小大小,你設置的值小于這個大小,那么不管用!

          4.9 啟用ipv4跟蹤

          traceroute -4 www.wljslmz.cn

          執(zhí)行結果:

          4.10 啟用ipv6跟蹤

          traceroute -6 www.wljslmz.cn

          執(zhí)行結果:

          說明我們的網站未支持ipv6.

          4.11 使用ICMP ECHO

          默認情況下,traceroute 命令使用 UDP 端口進行跟蹤路由,要使用 ICMP ECHO,可以結合參數(shù)-I

          traceroute -I www.wljslmz.cn

          執(zhí)行結果:

          4.12 將traceroute信息保存到文件

          這個跟traceroute命令本身沒有太大關系,有時候我們需要將traceroute的信息離線分析,這個時候就需要將traceroute返回信息持久化,我們可以使用以下命令:

          traceroute  www.wljslmz.cn > wljslmz.txt

          執(zhí)行結果:

          我們通過命令more wljslmz.txt來看下這個wljslmz.txt文件:

          五、總結

          traceroute 命令是一個有用且易于運行的網絡診斷工具,本文給大家介紹了12個traceroute 命令示例,希望本文能夠對您使用traceroute 命令有所幫助,如果有問題可以在下方評論區(qū)與我討論!


          瀏覽 42
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  女人16一毛片 | 欧美黄片免费播放 | 一级片免费观看视频 | 免费视频网站啊啊啊 | 日韩精品电影 |