0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在Linux中使用traceroute排查服務(wù)器網(wǎng)絡(luò)問題

dyquk4xk2p3d ? 來源:網(wǎng)絡(luò)技術(shù)聯(lián)盟站 ? 2023-03-06 10:25 ? 次閱讀

一、前言

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

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

二、前置知識

在正式介紹命令使用前,請大家看下以下拓?fù)鋱D:

993d020e-bb91-11ed-bfe3-dac502259ad0.png

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

三、在Linux中安裝traceroute命令

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

root@ecs-adf0-0003:~#lsb_release-a
NoLSBmodulesareavailable.
DistributorID:Ubuntu
Description:Ubuntu20.04.4LTS
Release:20.04
Codename:focal

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

aptinstalltraceroute

安裝過程:

995bd08a-bb91-11ed-bfe3-dac502259ad0.png

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

四、在Linux中使用traceroute命令

4.1 基本用法

traceroute命令最基本的用法是:

traceroutehost

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

比如我們traceroute我們的博客網(wǎng)站:

traceroutewww.wljslmz.cn

執(zhí)行結(jié)果:

99758e26-bb91-11ed-bfe3-dac502259ad0.png

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

4.2 更改等待時間

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

traceroute-w1www.wljslmz.cn

執(zhí)行結(jié)果:

998d63ac-bb91-11ed-bfe3-dac502259ad0.png

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

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

traceroute-q5www.wljslmz.cn

執(zhí)行結(jié)果:

99afc082-bb91-11ed-bfe3-dac502259ad0.png

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

4.4 更改最大跳數(shù)

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

993d020e-bb91-11ed-bfe3-dac502259ad0.png

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

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

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

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

traceroute-m10www.wljslmz.cn

執(zhí)行結(jié)果:

9a0ee5da-bb91-11ed-bfe3-dac502259ad0.png

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

4.5 更改TTL開始值

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

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

如果你使用過ping命令,那么TTL經(jīng)常會看到:

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

執(zhí)行結(jié)果:

9a2a3f6a-bb91-11ed-bfe3-dac502259ad0.png

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

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

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

9a4be20a-bb91-11ed-bfe3-dac502259ad0.png

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

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

traceroute-f8www.wljslmz.cn

執(zhí)行結(jié)果:

9a66915e-bb91-11ed-bfe3-dac502259ad0.png

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

4.6 禁用主機(jī)名到 IP 地址的映射

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

9a840fa4-bb91-11ed-bfe3-dac502259ad0.png

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

traceroute-nwww.wljslmz.cn

執(zhí)行結(jié)果:

9aa8cc4a-bb91-11ed-bfe3-dac502259ad0.png

可以看到已經(jīng)沒有域名了。

4.7 更改跟蹤路由目的端口

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

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

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

traceroute-p2222www.wljslmz.cn

執(zhí)行結(jié)果:

9acd8a4e-bb91-11ed-bfe3-dac502259ad0.png

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

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

9b130876-bb91-11ed-bfe3-dac502259ad0.png

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

traceroutewww.wljslmz.cn200

執(zhí)行結(jié)果:

9b349586-bb91-11ed-bfe3-dac502259ad0.png

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

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

traceroutewww.wljslmz.cn1

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

1?

當(dāng)然不是!

9b519a14-bb91-11ed-bfe3-dac502259ad0.png

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

9bbd3616-bb91-11ed-bfe3-dac502259ad0.png

4.9 啟用ipv4跟蹤

traceroute-4www.wljslmz.cn

執(zhí)行結(jié)果:

9bfdbe20-bb91-11ed-bfe3-dac502259ad0.png

4.10 啟用ipv6跟蹤

traceroute-6www.wljslmz.cn

執(zhí)行結(jié)果:

9c2486fe-bb91-11ed-bfe3-dac502259ad0.png

說明我們的網(wǎng)站未支持ipv6.

4.11 使用ICMP ECHO

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

traceroute-Iwww.wljslmz.cn

執(zhí)行結(jié)果:

9c349c60-bb91-11ed-bfe3-dac502259ad0.png

4.12 將traceroute信息保存到文件

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

traceroutewww.wljslmz.cn>wljslmz.txt

執(zhí)行結(jié)果:

9c4ed8aa-bb91-11ed-bfe3-dac502259ad0.png

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

9c6ecc46-bb91-11ed-bfe3-dac502259ad0.png

五、總結(jié)

traceroute 命令是一個有用且易于運(yùn)行的網(wǎng)絡(luò)診斷工具,本文給大家介紹了12個traceroute 命令示例,希望本文能夠?qū)δ褂胻raceroute 命令有所幫助,如果有問題可以在下方評論區(qū)與我討論!

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207912
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8701

    瀏覽量

    84549
  • Traceroute
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    1618

原文標(biāo)題:老板讓我在Linux中使用traceroute排查服務(wù)器網(wǎng)絡(luò)問題,幸好我收藏了這篇文章!

文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    linux服務(wù)器和windows服務(wù)器

    ,這在滿足個性化需求和增強(qiáng)服務(wù)器安全 性上具有優(yōu)勢。 Linux服務(wù)器還具有出色的性能和穩(wěn)定性。相比之下,Windows服務(wù)器性能和穩(wěn)定性
    發(fā)表于 02-22 15:46

    基于Linux驅(qū)動程序源碼的網(wǎng)絡(luò)打印服務(wù)器設(shè)計(jì)

    一臺主機(jī)。為了一個局域網(wǎng)環(huán)境中共享使用一臺USB口打印機(jī),需要為該打印機(jī)配備一臺服務(wù)器,然后通過共享設(shè)置實(shí)現(xiàn)打印機(jī)的網(wǎng)絡(luò)共享。這種方式有幾個方面的缺陷:需要占用一臺服務(wù)器資源;耗電;
    發(fā)表于 06-20 07:39

    Linux系統(tǒng)上搭建 Web 服務(wù)器

    項(xiàng)目開發(fā)中,服務(wù)器主機(jī)用的是 Linux 系統(tǒng),服務(wù)器用 Tomcat,數(shù)據(jù)庫為 Mysql。如果電腦主機(jī)是 Windows 系列系統(tǒng),則需要在其上安裝虛擬機(jī),虛擬機(jī)中安裝
    發(fā)表于 07-09 07:56

    Linux服務(wù)器網(wǎng)卡驅(qū)動安裝及問題排除

    Linux服務(wù)器網(wǎng)卡驅(qū)動安裝及問題排除     網(wǎng)卡是Linux服務(wù)器中最重要網(wǎng)絡(luò)設(shè)備。據(jù)統(tǒng)計(jì),
    發(fā)表于 01-11 11:51 ?1357次閱讀

    教你linux搭建web服務(wù)器

    教你linux搭建web服務(wù)器和大家分享了一份配置文檔,希望對您用linux搭建web服務(wù)器有所啟發(fā)。
    發(fā)表于 12-28 14:18 ?8783次閱讀

    基于Linux系統(tǒng)的FTP服務(wù)器的實(shí)現(xiàn)

    為了Linux系統(tǒng)下實(shí)現(xiàn)安全、高效的FTP服務(wù)器,選擇了具有小巧輕快、安全易用等優(yōu)點(diǎn)的服務(wù)器軟件vsftpd。通過對Linux平臺下FTP
    發(fā)表于 07-24 15:36 ?39次下載

    排查Linux服務(wù)器性能問題工具

    如果你的Linux服務(wù)器突然負(fù)載暴增,告警短信快發(fā)爆你的手機(jī),如何在最短時間內(nèi)找出Linux性能問題所在?來看Netflix性能工程團(tuán)隊(duì)的這篇博文,看它們通過十條命令一分鐘內(nèi)對機(jī)器性
    的頭像 發(fā)表于 09-16 09:16 ?825次閱讀

    如何在linux服務(wù)器中打開端口

    有時我們可能需要在Linux服務(wù)器中打開端口或在Linux服務(wù)器的防火墻中啟用端口來運(yùn)行特定的應(yīng)用程序。本文中,小編將帶大家分析一下如何在
    的頭像 發(fā)表于 10-17 16:22 ?1.2w次閱讀

    如何使用Checkmk監(jiān)控Linux服務(wù)器

    `Checkmk` 是用于監(jiān)控 Linux 服務(wù)器的最常用和用戶友好的應(yīng)用程序之一。它可以檢查與您的 Linux 服務(wù)器連接的服務(wù)器狀態(tài)、負(fù)
    的頭像 發(fā)表于 02-17 10:46 ?1037次閱讀
    如何使用Checkmk監(jiān)控<b class='flag-5'>Linux</b><b class='flag-5'>服務(wù)器</b>?

    Linux服務(wù)器常見的網(wǎng)絡(luò)故障排查方法

    日常工作中我們有時會遇到服務(wù)器網(wǎng)絡(luò)不通問題,導(dǎo)致服務(wù)器無法正常運(yùn)行。要想解決服務(wù)器網(wǎng)絡(luò)故障問題,通常要先進(jìn)行
    的頭像 發(fā)表于 04-14 15:47 ?2631次閱讀

    常用linux網(wǎng)絡(luò)排查命令

    今天浩道跟大家分享linux網(wǎng)絡(luò)運(yùn)維中常見的命令,掌握好這些命令,排查故障時將會游刃有余!
    發(fā)表于 06-25 10:49 ?739次閱讀

    怎么看服務(wù)器節(jié)點(diǎn)是直連還是中轉(zhuǎn)?

    服務(wù)器節(jié)點(diǎn)是直連還是中轉(zhuǎn)通常涉及到網(wǎng)絡(luò)傳輸和路由方面的考慮。那么怎么看服務(wù)器節(jié)點(diǎn)是直連還是中轉(zhuǎn)? 要判斷一個服務(wù)器節(jié)點(diǎn)是直連還是中轉(zhuǎn),我們可以采取以下方法: 1、Ping測試: 通過P
    的頭像 發(fā)表于 09-12 17:49 ?2291次閱讀

    linux查看服務(wù)器配置

    Linux操作系統(tǒng)中,了解服務(wù)器配置對于系統(tǒng)管理員和網(wǎng)絡(luò)工程師而言至關(guān)重要。通過查看服務(wù)器配置,您可以了解
    的頭像 發(fā)表于 11-17 09:41 ?951次閱讀

    網(wǎng)絡(luò)診斷工具traceroute的使用

    Linux 系統(tǒng)中,traceroute 是一個網(wǎng)絡(luò)診斷工具,用于確定數(shù)據(jù)包從你的計(jì)算機(jī)到目標(biāo)主機(jī)(如一個網(wǎng)站或遠(yuǎn)程服務(wù)器)所經(jīng)過的路由
    的頭像 發(fā)表于 08-05 15:41 ?162次閱讀
    <b class='flag-5'>網(wǎng)絡(luò)</b>診斷工具<b class='flag-5'>traceroute</b>的使用

    Linux服務(wù)器性能查看方法

    Linux服務(wù)器性能查看是系統(tǒng)管理員和開發(fā)人員日常工作中經(jīng)常需要進(jìn)行的任務(wù),以確保系統(tǒng)穩(wěn)定運(yùn)行并優(yōu)化資源使用。以下將詳細(xì)介紹多種Linux服務(wù)器
    的頭像 發(fā)表于 09-02 11:15 ?251次閱讀