mtr
命令是 “My Traceroute” 的缩写,是一种功能强大的网络诊断工具,结合了 traceroute
和 ping
命令的功能。通过向指定目的地发送数据包,它可以深入了解网络路径,帮助识别潜在的瓶颈或故障。与 traceroute
、ping
和 pathping
等工具类似,mtr
命令能提供更全面的网络性能视图。
系统管理员和网络工程师发现 mtr
命令在排除网络故障时非常方便。无论是监控连接的稳定性还是诊断复杂的网络问题,mtr
命令都可以与 ifconfig
或 netstat
等命令一起使用,提供详细的分析。
如何安装 mtr
命令
如果你的 Linux 发行版中尚未包含 mtr
软件包,你可能需要安装它。下面是一些常见发行版的安装和卸载方法:
对于基于 Debian 的系统(如 Ubuntu):
使用以下命令安装 mtr
:
sudo apt-get update sudo apt-get install mtr
以后要卸载 mtr
,可以使用
sudo apt-get remove --purge mtr
对于基于 Red Hat 的系统(如 Fedora):
要安装 mtr
,可以使用
sudo dnf install mtr
以后要卸载 mtr
,可以使用
sudo dnf remove mtr
适用于基于 Arch 的系统:
要安装 mtr
,可以使用
sudo pacman -S mtr
以后要卸载 mtr
,可以使用
sudo pacman -R mtr
如何使用 mtr
1. 基本用法
语法: mtr <hostname>
说明:跟踪指向给定主机名或 IP 地址的路由。
示例:mtr example.com
输出:
Host Loss% Snt Last Avg Best Wrst StDev 1. router.local 0.0% 10 1.2 1.3 1.1 1.5 0.1 2. isp-gateway 0.0% 10 2.3 2.4 2.2 2.6 0.1 3. example.com 0.0% 10 10.5 10.6 10.4 10.8 0.1
此输出显示了到 example.com
的路由,共有三个跳。它提供了每一跳的数据包丢失、已发送数据包数量和延迟统计的详细信息。
2. 使用 ICMP 代替 UDP
语法:mtr --icmp <hostname>
说明:使用 ICMP ECHO
代替 UDP
数据报跟踪路由。
示例:mtr --icmp example.com
输出:
Host Loss% Snt Last Avg Best Wrst StDev 1. router.local 0.0% 10 1.1 1.2 1.0 1.3 0.1 2. isp-gateway 0.0% 10 2.2 2.3 2.1 2.5 0.1 3. example.com 0.0% 10 10.4 10.5 10.3 10.6 0.1
该命令使用 ICMP ECHO
进行跟踪,其结果可能与默认的 UDP
不同,特别是在安装了某些防火墙或过滤器的情况下。
3. 显示 AS(自治系统)编号
语法:mtr --aslookup <hostname>
说明:跟踪路由并显示每跳的 ASN(AS 号)。
示例:mtr --aslookup example.com
输出:
Host Loss% Snt Last Avg Best Wrst StDev ASN 1. router.local 0.0% 10 1.2 1.3 1.1 1.5 0.1 AS12345 2. isp-gateway 0.0% 10 2.3 2.4 2.2 2.6 0.1 AS12345 3. example.com 0.0% 10 10.5 10.6 10.4 10.8 0.1 AS67890
该输出包括每个跳转的自治系统(AS)编号,可帮助用户深入了解通往目标的路径上网络基础设施的所有权和控制权。
4. 使用 TCP 代替 UDP
语法:mtr --tcp <hostname>
说明:使用 TCP SYN
数据包而不是 UDP 跟踪路由。
示例:mtr --tcp example.com
输出:
Host Loss% Snt Last Avg Best Wrst StDev 1. router.local 0.0% 10 1.4 1.5 1.3 1.6 0.1 2. isp-gateway 0.0% 10 2.5 2.6 2.4 2.7 0.1 3. example.com 0.0% 10 10.7 10.8 10.5 11.0 0.1
该命令使用 TCP SYN
数据包进行跟踪,如果 UDP
在路由中被过滤或阻止,该命令会很有用。
5. 指定 Ping 次数
语法:mtr -c <count> <hostname>
说明:向每一跳发送指定数量的 ping。
示例:mtr -c 5 example.com
输出:
Host Loss% Snt Last Avg Best Wrst StDev 1. router.local 0.0% 5 1.2 1.3 1.1 1.5 0.1 2. isp-gateway 0.0% 5 2.3 2.4 2.2 2.6 0.1 3. example.com 0.0% 5 10.5 10.6 10.4 10.8 0.1
该命令只向每一跳发送 5 个 ping,以便更快地分析路由。
6. 最后显示报告
语法:mtr --report <hostname>
说明:在报告模式下运行 mtr
,向每一跳发送一系列 ping,然后在最后显示报告。
示例:mtr --report example.com
输出:
HOST: localhost Loss% Snt Last Avg Best Wrst StDev 1. router.local 0.0% 10 1.2 1.3 1.1 1.5 0.1 2. isp-gateway 0.0% 10 2.3 2.4 2.2 2.6 0.1 3. example.com 0.0% 10 10.5 10.6 10.4 10.8 0.1
该命令用于在测试结束时生成单一报告,而不是持续更新显示。它通常用于记录或编写脚本。
更多 Linux 命令
下面罗列了最常见的一些 Linux 命令,您可以根据自己的需要查阅对应命令的详细解析:
目录操作 | rmdir · cd · pwd · exa · ls |
文件操作 | cat · cp · dd · less · touch · ln · rename · more · head |
文件系统操作 | chown · mkfs · locate |
网络 | ping · curl · wget · iptables · mtr |
搜索和文本处理 | find · grep · sed · whatis · ripgrep · fd · tldr |
系统信息和管理 | env · history · top · who · htop · glances · lsof |
用户和会话管理 | screen · su · sudo · open |
此外,我们还整理 Linux 命令行大全,以帮助大家全面深入地学习 Linux。
评论留言