除了上一篇《Linux常用网络工具:路由扫描之traceroute》介绍的traceroute之外,一般Linux还内置了另一个常用的路由扫描工具mtr。
mtr在某些方面比traceroute更好用,它可以实时显示经过的每一跳路由的信息,并不断进行探测。
traceroute默认使用UDP数据包探测,而mtr默认使用ICMP报文探测,ICMP在某些路由节点的优先级要比其他数据包低,所以测试得到的数据可能低于实际情况。
mtr
mtr使用比较简单,通常不需要使用附加选项,更多参数可以参考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示例:
输出参数的解释:
Loss% -- 丢包率,单位是"%";
Snt -- sent包的数量
Last -- 最后一个包的延时
Avg -- 所有包的平均延时
Best -- 延时最小的包
Wrst -- 延时最大的包
StDev -- 标准偏差