使用MTR诊断网络问题

MTR是一个功能强大的网络诊断工具,能让系统管理员诊断和定位出网络错误和能提供给网络状态报告给上游提供商。MTR类似于traceroute+ping。

安装MTR

在Debian和Ubuntu系统,执行如下命令来更新系统软件仓库和升级已安装的软件包,最后安装MTR:

  1. apt-get update
  2. apt-get upgrade
  3. apt-get install mtr-tiny

对于CentOS和Fedora系统,你可以执行如下命令来升级已安装软件,并安装MTR程序:

  1. yum update
  2. yum install mtr

在Arch Linux系统,执行如下命令来更新软件包并安装MTR:

  1. pacman -Sy
  2. pacman -S mtr

你可能也需要在你的本地工作站来使用MTR诊断网络问题。如果你本地系统是Linux,你可以按照以上方法来安装MTR。
如果你的系统是Mac OS X,你可以使用Homebrew或者MacPorts安装MTR,使用Homebrew安装,执行如下命令:

  1. brew install mtr

使用MacPorts安装,命令为:

  1. port install mtr

如果你的桌面系统为Windows,可以使用WinMTR,下载链接为http://sourceforge.net/projects/winmtr/

在类Unix系统使用MTR

一旦在Linux或者Mac OS X安装好MTR,你可以使用如下语法来生成MTR报告:

  1. mtr -rw [destination_host]

例如,测试路由和到主机example.com的网络连接质量,在源主机执行如下命令:

  1. mtr -rw example.com

读取MTR报告

由于MTR报告提供了大量的信息,第一次可能会比较难阅读。下面是一个从你本地网络到google.com的MTR报告示例:

$ mtr –report google.com
HOST: example Loss% Snt Last Avg Best Wrst StDev
1. inner-cake 0.0% 10 2.8 2.1 1.9 2.8 0.3
2. outer-cake 0.0% 10 3.2 2.6 2.4 3.2 0.3
3. 68.85.118.13 0.0% 10 9.8 12.2 8.7 18.2 3.0
4. po-20-ar01.absecon.nj.panjde 0.0% 10 10.2 10.4 8.9 14.2 1.6
5. be-30-crs01.audubon.nj.panjd 0.0% 10 10.8 12.2 10.1 16.6 1.7
6. pos-0-12-0-0-ar01.plainfield 0.0% 10 13.4 14.6 12.6 21.6 2.6
7. pos-0-6-0-0-cr01.newyork.ny. 0.0% 10 15.2 15.3 13.9 18.2 1.3
8. pos-0-4-0-0-pe01.111eighthav 0.0% 10 16.5 16.2 14.5 19.3 1.3
9. as15169-3.111eighthave.ny.ib 0.0% 10 16.0 17.1 14.2 27.7 3.9
10. 72.14.238.232 0.0% 10 19.1 22.0 13.9 43.3 11.1
11. 209.85.241.148 0.0% 10 15.1 16.2 14.8 20.2 1.6
12. lga15s02-in-f104.1e100.net 0.0% 10 15.6 16.9 15.2 20.6 1.7

生成这个报告的命令为mtr –report google.com。这个命令使用了report选项为向google.com发送10个数据包然后生成报告。没有–report选项的话,mtr会一直运行。