Linux mtr 命令

17 Mar 2025 | 5 分钟阅读

mtr 命令是 ping 和 traceroute 命令的结合体。它是一个网络诊断工具,可连续发送数据包,显示每个跃点的 ping 时间。它还可以显示网络数据包所经过的整个路由的网络问题。

语法

mtr 命令的基本语法如下

选项

mtr 命令支持以下命令行选项

-h, --help: 用于显示帮助手册,其中包含使用方法和命令行选项的简要说明。

-v, --version: 用于显示已安装的版本信息。

-4: 用于 IPv4 地址。

-6: 用于 IPv6 地址。

-F FILENAME, --filename FILENAME: 用于从文件中访问域名(路径)。

-r, --report: 用于将 mtr 设置为报告模式。这对于显示网络统计质量很有用。

-w, --report-wide: 用于将 mtr 设置为宽报告模式。

-x, --xml: 用于指定 xml 输出格式。

-t, --curses: 用于强制指定使用基于 curses 的终端界面。

--displaymode MODE: 用于选择初始显示模式。显示模式如下

0: 选择统计信息(默认)

1: 选择不带延迟信息的条形图

2: 选择带延迟信息的条形图

-g, --gtk: 用于指定使用基于 GTK+ 的 X11 窗口界面。

-l, --raw: 用于指定原始输出格式。

-C, --csv: 用于指定“逗号分隔值 (CSV)”输出格式。

-j, --json: 用于指定 JSON 输出格式。

-p, --split: 用于指定分割输出格式。适用于分用户界面。

-n, --no-dns: 用于显示数字 IP 地址,而不是强制解析主机名。

-b, --show-ips: 用于同时显示域名和 IP 地址。

-o FIELDS, --order FIELDS: 用于指定要显示的字段及其顺序。

-y n, --ipinfo n: 用于显示每个 IP 跃点的信息。

-z, --aslookup: 用于显示每个跃点的自治系统(AS)编号。这类似于“--ipinfo 0”命令。

-i SECONDS, --interval SECONDS: 用于描述 ICMP ECHO 请求之间的正数秒数。

-c COUNT, --report-cycles COUNT: 用于指定发送的 ping 数。

-s PACKETSIZE, --psize PACKETSIZE: 用于描述探测的数据包大小。

-B NUM, --bitpattern NUM: 用于指定有效载荷的比特模式。

-G SECONDS, --gracetime SECONDS: 用于指定最后一个请求后的响应时间(正数秒)。默认值为五秒。

-Q NUM, --tos NUM: 用于指定 IP 头部服务类型字段的值。

-e, --mpls: 用于指定来自 ICMP 扩展的信息。

-a ADDRESS, --address ADDRESS: 用于将出站套接字绑定到 ADDRESS。

-f NUM, --first-ttl NUM: 用于指定起始 TTL。

-m NUM, --max-ttl NUM: 用于描述最大跃点数(最大 TTL 值)。默认为三十。

-U NUM, --max-unknown NUM: 用于指定最大未知主机数。默认为五。

-u, --udp: 用于指定 UDP 数据报而不是 ICMP ECHO。

-T, --tcp: 用于指定 TCP SYN 数据包而不是 ICMP ECHO。

-S, --sctp: 用于使用“流控制传输协议”而不是 ICMP ECHO。

-P PORT, --port PORT: 用于指定 TCP/SCTP/UDP 跟踪的端口号。

-L LOCALPORT, --localport LOCALPORT: 用于指定 UDP 跟踪的源端口号。

mtr 命令示例

让我们看看 mtr 命令的以下示例

显示 traceroute 报告

mtr 命令的默认行为是显示远程主机名或 IP 地址的 traceroute 报告。要显示 traceroute 报告,请将主机名或 IP 地址与其一起传递,如下所示

考虑下面的示例

上面的命令将显示 'javatpoint.com' 的 traceroute 报告。请看下面的输出

Linux mtr Command

从上面的输出可以看出,traceroute 报告会一直显示直到完成。要中断它,请按 CTRL+C 键。

显示 CSV 输出

要显示 CSV 输出,请在 mtr 命令中传递 '--csv' 选项。CSV 文件是逗号分隔的文件,其中列由逗号 (,) 分隔。请看下面的命令

上面的命令将显示 CSV 输出。请看下面的输出

Linux mtr Command

显示 Xml 输出

mtr 命令支持 Xml 格式输出。要显示 Xml 输出,请在 mtr 命令中传递 '--xml' 选项。Xml 格式对于自动处理很有用。请看下面的命令

上面的命令将以 Xml 格式显示输出。请看下面的输出

Linux mtr Command

显示 Json 输出

mtr 命令支持的另一种有用的输出格式是 Json 文件。我们可以以 Json 格式显示输出。要显示输出,请按以下方式使用 '--json' 选项执行命令

上面的命令将生成类似如下的输出

Linux mtr Command

指定 ping 限制

我们可以指定 ping 的限制;它将在完成指定数量的 ping 后自动退出。ping 的数量可以在“Snt”列中看到。要确定 ping 的数量,请使用 '-c' 选项执行命令,如下所示

上面的命令将显示指定 ping 数量的 traceroute 报告。请看下面的输出

Linux mtr Command

从文件读取主机名

mtr 命令允许我们在文件中指定多个主机名进行读取。各种主机名可以通过在新行中添加来指定在文本文件中。它将按顺序读取它们。要从文件中读取文件名,请使用 '-F' 选项执行命令。请看下面的命令

Linux mtr Command

上面的命令将从文件 'pings.txt' 中读取文件名。请看下面的输出

Linux mtr Command

从上面的输出可以看出,将按顺序显示指定主机名的 traceroute。

禁用 DNS 解析(仅显示数字地址)

禁用 DNS 解析可以加快输出速度,因为它减少了 DNS 解析所需的更多流量和等待时间。要禁用 DNS 解析,请使用 '-n' 选项执行命令,如下所示

上面的命令将禁用 DNS 解析并生成更快的输出。请看下面的输出

Linux mtr Command

获取帮助

如果您在使用 mtr 命令时遇到困难,可以从终端寻求帮助。有“help”和“man”命令可用,其中包含使用方法和支持的命令行选项的摘要。

要显示帮助,请使用 '--help' 选项执行命令,如下所示

上面的命令将显示支持的选项列表,如下所示

Linux mtr Command

要阅读手册页,请执行以下命令

上面的命令将显示手册页。它看起来像这样

Linux mtr Command

要阅读更多内容,请滚动输出;要退出手册,请按 'q' 键。


下一个主题Linux whois