## mtr 简介 `mtr`(Multi Tester Router)是一个用于测试网络连通性的命令行工具,它是基于`ping`和`traceroute`的功能改进版。`mtr`的全名是“Multi Tester Router”,它可以同时对多个目标进行IP地址检测、ICMP响应时间测试以及路由跟踪。 以下是`mtr`的一些主要功能和用法: 1. **多线程连接测试**:与传统的ping命令不同,`mtr`使用多线程(默认为8)并行发送数据包,可以同时对多个目标进行网络状态检测。 2. **统计信息**:`mtr`不仅显示单个数据点的响应时间,还会给出一段时间内的平均值、最小值和最大值。这有助于评估网络稳定性。 3. **动态刷新**:测试结果会实时更新,每次发送新包时都会刷新统计数据,这对于动态观察网络波动非常有用。 4. **错误报告**:在无法与目标通信或遇到问题(如路由器丢弃数据包)时,`mtr`会提供更详细的错误信息和可能的原因。 ### 主要参数及选项 1. **基本测试**: - `-c 计数`: 测试次数,例如 `mtr -c 5 google.com` 进行 5 次测试。 - `-w 延迟`: 每个数据包的发送间隔时间,默认是 2 秒。 2. **显示选项**: - `-d`: 显示数据率、错误类型和数据段大小的信息。 - `-g 端口`: 对端口号进行扫描,然后测试到目标地址的连接。 - `-n` 或 `-N`: 只执行一次测试并退出。 3. **路由跟踪**: - `-r`: 显示返回路径(反向路径),查看数据包回程时经过的路径。 - `--help`: 查看帮助信息或特定参数的帮助。 - `--version`: 查看 mtr 版本号。 4. **输出格式和文件操作**: - `-f` 或 `-F 文件名`: 将结果输出到指定文件。 - `-T` 或 `-C`: 使用 TCP/IP 协议测试。 5. **其他**: - `--show-all`: 显示所有可能的选项信息。 - `--statistics-only`: 只显示统计信息,不显示进度条或图表。 示例:测试 10 次并且返回 ```bash mtr -c 10 -r google.com ``` 示例:使用 tcp 协议进行探测 ```bash mtr --tcp --port=443 xxx.xxx.xxx.xxx -r -c 20 ```