除了上一篇《Linux常用網(wǎng)絡(luò)工具:路由掃描之traceroute》介紹的traceroute之外,一般Linux還內(nèi)置了另一個(gè)常用的路由掃描工具mtr。
mtr在某些方面比traceroute更好用,它可以實(shí)時(shí)顯示經(jīng)過的每一跳路由的信息,并不斷進(jìn)行探測(cè)。
traceroute默認(rèn)使用UDP數(shù)據(jù)包探測(cè),而mtr默認(rèn)使用ICMP報(bào)文探測(cè),ICMP在某些路由節(jié)點(diǎn)的優(yōu)先級(jí)要比其他數(shù)據(jù)包低,所以測(cè)試得到的數(shù)據(jù)可能低于實(shí)際情況。
mtr
mtr使用比較簡(jiǎn)單,通常不需要使用附加選項(xiàng),更多參數(shù)可以參考mtr的man page:
usage: mtr [-hvrwctglspniu46] [--help] [--version] [--report]
[--report-wide] [--report-cycles=COUNT] [--curses] [--gtk]
[--raw] [--split] [--no-dns] [--address interface]
[--psize=bytes/-s bytes]
[--interval=SECONDS] HOSTNAME [PACKETSIZE]
mtr示例:
![](/d/20211018/430527e720ab240a3a5d01ebb635542a.gif)
輸出參數(shù)的解釋:
Loss% -- 丟包率,單位是"%";
Snt -- sent包的數(shù)量
Last -- 最后一個(gè)包的延時(shí)
Avg -- 所有包的平均延時(shí)
Best -- 延時(shí)最小的包
Wrst -- 延時(shí)最大的包
StDev -- 標(biāo)準(zhǔn)偏差