鍍金池/ 教程/ Linux/ traceroute命令
which命令
ss命令
cp命令使用示例
ps命令
find命令
grep命令
scp命令
rmdir命令
df命令示例
less命令
du命令示例
chown命令示例
route命令
ping命令
more命令
mv命令
ln命令
mkdir命令
rm命令
find命令常用參數(shù)示例
cat命令
find命令-xargs參數(shù)
touch命令
traceroute命令
gzip命令示例
date命令
ls命令
vmstat命令
lsof命令
diff命令
head命令
watch命令
ifconfig命令
cd命令
tail命令
iostat命令
chgrp命令示例
free命令
find命令-exec參數(shù)
tar命令打包解壓示例
cal命令
at命令
netstat命令
wc命令
chmod命令示例
pwd命令
top命令詳解示例
crontab命令(Linux定時(shí)任務(wù))
whereis命令
Linux命令大全教程
nl命令
rcp命令
locate命令

traceroute命令

通過traceroute可以知道信息從計(jì)算機(jī)到互聯(lián)網(wǎng)另一端的主機(jī)數(shù)據(jù)經(jīng)過什么路徑。當(dāng)然每次數(shù)據(jù)包由某一同樣的出發(fā)點(diǎn)(source)到達(dá)某一同樣的目的地(destination)走的路徑可能會不一樣,但基本上來說大部分時(shí)候所走的路由是相同的。linux系統(tǒng)中,我們稱之為traceroute,在MS Windows中為tracert。 traceroute通過發(fā)送小的數(shù)據(jù)包到目的設(shè)備直到其返回,來測量其需要多長時(shí)間。一條路徑上的每個(gè)設(shè)備traceroute要測3次。輸出結(jié)果中包括每次測試的時(shí)間(ms)和設(shè)備的名稱(如有的話)及其IP地址。
在大多數(shù)情況下,在linux主機(jī)系統(tǒng)可直接執(zhí)行命令行:

traceroute hostname

而在Windows系統(tǒng)下是執(zhí)行tracert的命令:

tracert hostname

1.命令格式

traceroute[參數(shù)][主機(jī)]

2.命令功能

traceroute指令可追蹤網(wǎng)絡(luò)數(shù)據(jù)包的路由途徑,預(yù)設(shè)數(shù)據(jù)包大小是40Bytes,用戶可另行設(shè)置。
具體參數(shù)格式:traceroute [-dFlnrvx][-f<存活數(shù)值>][-g<網(wǎng)關(guān)>…][-i<網(wǎng)絡(luò)界面>][-m<存活數(shù)值>][-p<通信端口>][-s<來源地址>][-t<服務(wù)類型>][-w<超時(shí)秒數(shù)>][主機(jī)名稱或IP地址][數(shù)據(jù)包大小]

3.命令參數(shù)

  • -d 使用Socket層級的排錯(cuò)功能。
  • -f 設(shè)置第一個(gè)檢測數(shù)據(jù)包的存活數(shù)值TTL的大小。
  • -F 設(shè)置勿離斷位。
  • -g 設(shè)置來源路由網(wǎng)關(guān),最多可設(shè)置8個(gè)。
  • -i 使用指定的網(wǎng)絡(luò)界面送出數(shù)據(jù)包。
  • -I 使用ICMP回應(yīng)取代UDP資料信息。
  • -m 設(shè)置檢測數(shù)據(jù)包的最大存活數(shù)值TTL的大小。
  • -n直接使用IP地址而非主機(jī)名稱。
  • -p 設(shè)置UDP傳輸協(xié)議的通信端口。
  • -r 忽略普通的Routing Table,直接將數(shù)據(jù)包送到遠(yuǎn)端主機(jī)上。
  • -s 設(shè)置本地主機(jī)送出數(shù)據(jù)包的IP地址。
  • -t 設(shè)置檢測數(shù)據(jù)包的TOS數(shù)值。
  • -v 詳細(xì)顯示指令的執(zhí)行過程。
  • -w 設(shè)置等待遠(yuǎn)端主機(jī)回報(bào)的時(shí)間。
  • -x 開啟或關(guān)閉數(shù)據(jù)包的正確性檢驗(yàn)。

注意:有的系統(tǒng)(如:Centos7)上默認(rèn)不安裝 traceroute 命令工具,那么就要使用 root 用戶先安裝好了再使用。使用 yum install traceroute 命令來安裝即可。

4.使用實(shí)例

實(shí)例1:traceroute 用法簡單、最常用的用法

命令:

traceroute www.yiibai.com

輸出:

[yiibai@localhost ~]$ traceroute www.yiibai.com
traceroute to www.yiibai.com (112.124.103.85), 30 hops max, 60 byte packets
 1  112.66.64.1 (112.66.64.1)  3.789 ms  5.548 ms  2.798 ms
 2  218.77.139.177 (218.77.139.177)  6.378 ms  4.787 ms  4.786 ms
 3  218.77.137.73 (218.77.137.73)  30.638 ms  29.539 ms  31.520 ms
 4  202.97.85.94 (202.97.85.94)  46.474 ms * *
 5  * * *
 6  * 115.236.101.209 (115.236.101.209)  48.751 ms 115.236.101.217 (115.236.101.217)  47.206 ms
 7  42.120.247.73 (42.120.247.73)  47.765 ms 42.120.247.109 (42.120.247.109)  47.337 ms  47.383 ms
 8  106.11.144.18 (106.11.144.18)  46.717 ms 106.11.37.9 (106.11.37.9)  47.143 ms 106.11.144.30 (106.11.144.30)  54.233 ms
 9  * * *
10  112.124.103.85 (112.124.103.85)  45.906 ms  45.463 ms  46.325 ms
[yiibai@localhost ~]$

說明:
記錄按序列號從1開始,每個(gè)紀(jì)錄就是一跳 ,每跳表示一個(gè)網(wǎng)關(guān),看到每行有三個(gè)時(shí)間,單位是 ms,其實(shí)就是-q的默認(rèn)參數(shù)。探測數(shù)據(jù)包向每個(gè)網(wǎng)關(guān)發(fā)送三個(gè)數(shù)據(jù)包后,網(wǎng)關(guān)響應(yīng)后返回的時(shí)間;如果使用 traceroute -q 4 www.yiibai.com ,表示向每個(gè)網(wǎng)關(guān)發(fā)送4個(gè)數(shù)據(jù)包。
有時(shí)我們traceroute 一臺主機(jī)時(shí),會看到有一些行是以星號表示的。出現(xiàn)這樣的情況,可能是防火墻封掉了ICMP的返回信息,所以我們得不到什么相關(guān)的數(shù)據(jù)包返回?cái)?shù)據(jù)。
有時(shí)在某一網(wǎng)關(guān)處延時(shí)比較長,有可能是某臺網(wǎng)關(guān)比較阻塞,也可能是物理設(shè)備本身的原因。當(dāng)然如果某臺DNS出現(xiàn)問題時(shí),不能解析主機(jī)名、域名時(shí),也會 有延時(shí)長的現(xiàn)象;您可以加-n 參數(shù)來避免DNS解析,以IP格式輸出數(shù)據(jù)。
如果在局域網(wǎng)中的不同網(wǎng)段之間,可以通過traceroute 來排查問題所在,是主機(jī)的問題還是網(wǎng)關(guān)的問題。如果通過遠(yuǎn)程來訪問某臺服務(wù)器遇到問題時(shí),我們用到 traceroute 追蹤數(shù)據(jù)包所經(jīng)過的網(wǎng)關(guān),提交IDC服務(wù)商,也有助于解決問題;但目前看來在國內(nèi)解決這樣的問題是比較困難的,就是發(fā)現(xiàn)問題所在,IDC服務(wù)商也不可能幫助我們解決。

實(shí)例2:跳數(shù)設(shè)置

命令:

traceroute -m 10 www.yiibai.com

輸出:

[yiibai@localhost ~]$ traceroute -m 10 www.baidu.com
traceroute to www.baidu.com (14.215.177.37), 10 hops max, 60 byte packets
 1  112.66.64.1 (112.66.64.1)  24.111 ms  24.168 ms  23.892 ms
 2  218.77.141.13 (218.77.141.13)  2.862 ms  2.613 ms  3.113 ms
 3  218.77.150.13 (218.77.150.13)  13.543 ms 218.77.150.169 (218.77.150.169)  15.057 ms 218.77.139.37 (218.77.139.37)  11.389 ms
 4  113.108.208.26 (113.108.208.26)  14.364 ms  14.109 ms  13.855 ms
 5  * * *
 6  14.29.121.194 (14.29.121.194)  13.087 ms 14.29.117.246 (14.29.117.246)  13.361 ms  13.780 ms
 7  * * *
 8  * * *
 9  * * *
10  * * *
[yiibai@localhost ~]$

實(shí)例3:顯示IP地址,不查主機(jī)名

命令:

traceroute -n www.yiibai.com

輸出:

[yiibai@localhost ~]$ traceroute -n www.yiibai.com
traceroute to www.yiibai.com (112.124.103.85), 30 hops max, 60 byte packets
 1  112.66.64.1  5.303 ms  5.710 ms  4.159 ms
 2  218.77.139.177  12.319 ms  4.822 ms  4.063 ms
 3  218.77.137.73  28.319 ms  31.587 ms  30.583 ms
 4  202.97.85.94  46.240 ms *  46.832 ms
 5  * 220.191.200.22  48.562 ms 220.191.200.14  47.844 ms
 6  115.236.101.213  48.804 ms 115.236.101.217  47.830 ms  47.916 ms
 7  42.120.247.105  49.330 ms 42.120.247.73  47.251 ms 42.120.247.57  49.740 ms
 8  106.11.144.26  46.769 ms 106.11.37.9  47.537 ms 106.11.144.30  46.512 ms
 9  * * *
10  112.124.103.85  46.267 ms  46.497 ms  45.589 ms
[yiibai@localhost ~]$
[yiibai@localhost ~]$ traceroute  www.yiibai.com
traceroute to www.yiibai.com (112.124.103.85), 30 hops max, 60 byte packets
 1  112.66.64.1 (112.66.64.1)  136.730 ms  137.479 ms  137.031 ms
 2  218.77.139.177 (218.77.139.177)  5.759 ms  5.458 ms  5.009 ms
 3  218.77.137.73 (218.77.137.73)  33.451 ms  33.259 ms  32.826 ms
 4  202.97.85.94 (202.97.85.94)  46.738 ms  46.541 ms *
 5  220.191.200.22 (220.191.200.22)  47.521 ms  49.346 ms  48.927 ms
 6  115.236.101.217 (115.236.101.217)  48.678 ms  48.109 ms 115.236.101.213 (115.236.101.213)  50.423 ms
 7  42.120.247.73 (42.120.247.73)  47.478 ms 42.120.247.89 (42.120.247.89)  51.216 ms 42.120.247.73 (42.120.247.73)  49.460 ms
 8  106.11.37.9 (106.11.37.9)  48.543 ms 106.11.144.18 (106.11.144.18)  46.301 ms 106.11.37.9 (106.11.37.9)  47.242 ms
 9  * * *
10  112.124.103.85 (112.124.103.85)  45.647 ms  46.231 ms  45.803 ms
[yiibai@localhost ~]$

實(shí)例4:探測包使用的基本UDP端口設(shè)置1688

命令:

traceroute -p 1688 www.baidu.com

輸出:

[yiibai@localhost ~]$ traceroute -p 1688 www.baidu.com
traceroute to www.baidu.com (14.215.177.38), 30 hops max, 60 byte packets
 1  112.66.64.1 (112.66.64.1)  5.181 ms  6.403 ms  6.980 ms
 2  218.77.152.5 (218.77.152.5)  2.537 ms  4.478 ms  4.229 ms
 3  218.77.150.13 (218.77.150.13)  14.014 ms 218.77.150.177 (218.77.150.177)  14.449 ms 218.77.139.37 (218.77.139.37)  12.531 ms
 4  113.96.0.117 (113.96.0.117)  19.652 ms  19.407 ms  18.873 ms
 5  * * *
 6  14.29.121.194 (14.29.121.194)  13.897 ms 14.29.117.242 (14.29.117.242)  13.578 ms 14.29.121.198 (14.29.121.198)  12.940 ms
 7  * * *

實(shí)例5:把探測包的個(gè)數(shù)設(shè)置為值5

命令:

traceroute -q 5 www.yiibai.com

輸出:

[yiibai@localhost ~]$ traceroute -q 5 www.yiibai.com
traceroute to www.yiibai.com (112.124.103.85), 30 hops max, 60 byte packets
 1  112.66.64.1 (112.66.64.1)  3.569 ms  3.822 ms  4.244 ms  3.931 ms  4.283 ms
 2  218.77.139.177 (218.77.139.177)  4.032 ms  3.743 ms  3.255 ms  2.997 ms  3.193 ms
 3  218.77.137.73 (218.77.137.73)  32.480 ms  31.949 ms  31.635 ms  30.837 ms  30.040 ms
 4  202.97.85.94 (202.97.85.94)  47.288 ms * *  46.340 ms *
 5  * * * * *
 6  * 115.236.101.209 (115.236.101.209)  47.419 ms * * *
 7  42.120.247.105 (42.120.247.105)  49.506 ms 42.120.247.73 (42.120.247.73)  46.319 ms  47.250 ms 42.120.247.105 (42.120.247.105)  47.711 ms 42.120.247.89 (42.120.247.89)  48.121 ms
 8  106.11.144.22 (106.11.144.22)  45.250 ms  45.780 ms 106.11.144.30 (106.11.144.30)  46.084 ms  46.115 ms 140.205.19.61 (140.205.19.61)  47.716 ms
 9  * * * * *
10  112.124.103.85 (112.124.103.85)  45.264 ms  45.793 ms  46.360 ms  45.483 ms  45.505 ms
[yiibai@localhost ~]$

實(shí)例6:繞過正常的路由表,直接發(fā)送到網(wǎng)絡(luò)相連的主機(jī)

命令:

traceroute -r www.baidu.com

輸出:

[yiibai@localhost ~]$ traceroute -r www.baidu.com
traceroute to www.baidu.com (14.215.177.37), 30 hops max, 60 byte packets
connect: Network is unreachable
[yiibai@localhost ~]$ ping www.baidu.com
PING www.baidu.com (14.215.177.37) 56(84) bytes of data.
64 bytes from 14.215.177.37 (14.215.177.37): icmp_seq=1 ttl=57 time=12.3 ms
64 bytes from 14.215.177.37 (14.215.177.37): icmp_seq=2 ttl=57 time=12.0 ms
^C
--- www.baidu.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 12.071/12.206/12.342/0.174 ms
[yiibai@localhost ~]$ traceroute -r www.yiibai.com
traceroute to www.yiibai.com (112.124.103.85), 30 hops max, 60 byte packets
connect: Network is unreachable
[yiibai@localhost ~]$

實(shí)例7:把對外發(fā)探測包的等待響應(yīng)時(shí)間設(shè)置為3秒

命令:

traceroute -w 3 www.baidu.com

輸出:

[yiibai@localhost ~]$ traceroute -w 3 www.baidu.com
traceroute to www.baidu.com (14.215.177.38), 30 hops max, 60 byte packets
 1  112.66.64.1 (112.66.64.1)  6.215 ms  5.765 ms  5.534 ms
 2  218.77.152.5 (218.77.152.5)  2.448 ms  4.708 ms  4.322 ms
 3  218.77.139.37 (218.77.139.37)  13.081 ms 218.77.150.177 (218.77.150.177)  12.037 ms 218.77.139.37 (218.77.139.37)  12.508 ms
 4  113.96.0.117 (113.96.0.117)  22.515 ms  22.018 ms  21.789 ms
 5  * * *
 6  14.29.121.198 (14.29.121.198)  12.725 ms 14.29.117.242 (14.29.117.242)  15.920 ms 14.29.121.206 (14.29.121.206)  12.866 ms
 7  * * *

Traceroute的工作原理:
Traceroute最簡單的基本用法是:traceroute hostname
Traceroute程序的設(shè)計(jì)是利用ICMP及IP header的TTL(Time To Live)欄位(field)。首先,traceroute送出一個(gè)TTL是1的IP datagram(其實(shí),每次送出的為3個(gè)40字節(jié)的包,包括源地址,目的地址和包發(fā)出的時(shí)間標(biāo)簽)到目的地,當(dāng)路徑上的第一個(gè)路由器(router)收到這個(gè)datagram時(shí),它將TTL減1。此時(shí),TTL變?yōu)?了,所以該路由器會將此datagram丟掉,并送回一個(gè)「ICMP time exceeded」消息(包括發(fā)IP包的源地址,IP包的所有內(nèi)容及路由器的IP地址),traceroute 收到這個(gè)消息后,便知道這個(gè)路由器存在于這個(gè)路徑上,接著traceroute 再送出另一個(gè)TTL是 2 的datagram,發(fā)現(xiàn)第 2 個(gè)路由器…… traceroute 每次將送出的datagram的TTL 加1來發(fā)現(xiàn)另一個(gè)路由器,這個(gè)重復(fù)的動(dòng)作一直持續(xù)到某個(gè)datagram 抵達(dá)目的地。當(dāng)datagram到達(dá)目的地后,該主機(jī)并不會送回ICMP time exceeded消息,因?yàn)樗咽悄康牡亓?,那么traceroute如何得知目的地到達(dá)了呢?
Traceroute在送出UDP datagrams到目的地時(shí),它所選擇送達(dá)的port number 是一個(gè)一般應(yīng)用程序都不會用的號碼(30000 以上),所以當(dāng)此UDP datagram 到達(dá)目的地后該主機(jī)會送回一個(gè)「ICMP port unreachable」的消息,而當(dāng)traceroute 收到這個(gè)消息時(shí),便知道目的地已經(jīng)到達(dá)了。所以traceroute 在Server端也是沒有所謂的Daemon 程式。
Traceroute提取發(fā) ICMP TTL到期消息設(shè)備的IP地址并作域名解析。每次 ,Traceroute都打印出一系列數(shù)據(jù),包括所經(jīng)過的路由設(shè)備的域名及 IP地址,三個(gè)包每次來回所花時(shí)間。

Windows系統(tǒng)上的tracert命令用法

格式:

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

參數(shù)說明:
tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout] target_name
該診斷實(shí)用程序通過向目的地發(fā)送具有不同生存時(shí)間 (TL) 的 Internet 控制信息協(xié)議 (CMP) 回應(yīng)報(bào)文,以確定至目的地的路由。路徑上的每個(gè)路由器都要在轉(zhuǎn)發(fā)該 ICMP 回應(yīng)報(bào)文之前將其 TTL 值至少減 1,因此 TTL 是有效的跳轉(zhuǎn)計(jì)數(shù)。當(dāng)報(bào)文的 TTL 值減少到 0 時(shí),路由器向源系統(tǒng)發(fā)回 ICMP 超時(shí)信息。通過發(fā)送 TTL 為 1 的第一個(gè)回應(yīng)報(bào)文并且在隨后的發(fā)送中每次將 TTL 值加 1,直到目標(biāo)響應(yīng)或達(dá)到最大 TTL 值,Tracert 可以確定路由。通過檢查中間路由器發(fā)發(fā)回的 ICMP 超時(shí) (ime Exceeded) 信息,可以確定路由器。注意,有些路由器“安靜”地丟棄生存時(shí)間 (TLS) 過期的報(bào)文并且對 tracert 無效。

參數(shù):

  • -d 指定不對計(jì)算機(jī)名解析地址。
  • -h maximum_hops 指定查找目標(biāo)的跳轉(zhuǎn)的最大數(shù)目。
  • -jcomputer-list 指定在 computer-list 中松散源路由。
  • -w timeout 等待由 timeout 對每個(gè)應(yīng)答指定的毫秒數(shù)。
  • target_name 目標(biāo)計(jì)算機(jī)的名稱。
    實(shí)例:
Microsoft Windows [版本 10.0.10586]
(c) 2015 Microsoft Corporation。保留所有權(quán)利。

C:\Users\Administrator>tracert www.yiibai.com

通過最多 30 個(gè)躍點(diǎn)跟蹤
到 www.yiibai.com [112.124.103.85] 的路由:

  1     2 ms     2 ms     3 ms  112.66.64.1
  2     2 ms     3 ms     3 ms  218.77.139.177
  3    27 ms    30 ms    27 ms  218.77.137.73
  4     *        *       45 ms  202.97.85.94
  5    46 ms     *       45 ms  220.191.200.14
  6    46 ms    46 ms    46 ms  115.236.101.213
  7    47 ms    46 ms    46 ms  42.120.247.73
  8    46 ms    45 ms    46 ms  106.11.37.13
  9     *        *        *     請求超時(shí)。
 10    45 ms    45 ms    45 ms  112.124.103.85

跟蹤完成。

C:\Users\Administrator>

上一篇:watch命令下一篇:rm命令