0、前置知识
1、ping
通过 ping 命令,可以判断网络的通断、丢包和延时情况。Ping 使用 ICMP 协议,当 ping 某目的主机时,源主机发出 ICMP echo 报文,根据实际情况,返回 ICMP echo reply 或 ICMP 差错消息报文。如果返回 echo reply 说明源目的地址直接可以通,并可以携带源目的地址间的延时;如果不能通信,则根据返回的 ICMP 差错报文,可以判断不能通信的原因。
2、traceroute
Traceroute 工具用来定位源和目的地址之间的路径。使用traceroute 命令可以显示从源地址出发,到目的地址之间所经过的所有路由器。使用 traceroute 命令时,源地址首先发出一个 TTL 为 1 的 UDP 报文,当经过路径的第一条时,TTL 减一变成零,于是第一跳路由器返回一个 TTL 超时的 ICMP 差错报文,于是源 server 知道了第一跳路由器的 IP 地址;然后源 server 发送一个 TTL 为 2 的 UDP 报文,过程类似,源 server 知道了第二跳路由器的 IP 地址;以此类推,当数据包到达最后一跳时,目的地址将返回一个端口不可达的 ICMP 差错报文,于是,源 server 知道数据包已经到达了目的地址,traceroute 结束。 引自https://blog.didiyun.com/index.php/2018/12/03/mtr/
各个操作系统使用traceroute的方法:
Windows:tracert www.example.com
Linux: traceroute www.example.com
MacOS: traceroute www.example.com
一、MTR 工具简介
MTR 工具集成了 ping 和 traceroute 两种工具的优点,可以看成是两者的结合体;MTR首先使用traceroute得出经过的每一跳路由器,然后使用ping命令得出每一跳的延时和丢包率。通过MTR命令,可以很直观的看到数据包所经过的路径以及路径网络质量;
二、MTR 工具下载途径
1、Windows
主要使用winMTR软件
http://www.downza.cn/soft/138599.html
https://github.com/oott123/WinMTR/releases
https://cdn.ipip.net/17mon/besttrace.exe
2、Linux
可以直接运行命令进行安装
Debian/Ubuntu 系统
sudo apt install mtr
RedHat/CentOS 系统
sudo yum install mtr
3、IOS
BeeNetTools
https://apps.apple.com/cn/app/beenettools/id1160138136
Best NetTools
https://apps.apple.com/cn/app/best-nettools/id1370798520
4、安卓
TracePing
https://play.google.com/store/apps/details?id=com.inflim.trp
https://dwz.cn/KCdNPH4c
三、资料推荐
https://zhuanlan.zhihu.com/p/30591816
https://wsgzao.github.io/post/mtr/
https://www.cnblogs.com/xzkzzz/p/7413177.html
https://help.aliyun.com/knowledge_detail/40573.html
四、其他相关-DNS工具
1、dig
2、nslookup