MTR(原名Matt's traceroute,即My traceroute)是一款Linux网络连通性判断工具,结合了ping、traceroute和nslookup的相关特性。MTR通过限制个别数据包可跳转的
路由器数量,并监听数据包超时响应,来检测路由器的响应时间。
MTR是一种网络诊断工具,它通过发送数据包并限制其可传输的跳数,同时监听到期的响应来探测路径上的路由器。这个过程通常会定期重复,以跟踪路径上每个跳的响应时间。MTR的原始版本由Matt Kimball于1997年编写,并在1998年由Roger Wolff接管并更名为My traceroute。该工具根据GNU通用公共许可证(GPL)进行许可,并在现代类Unix操作系统下运行,通常在文本控制台下运行,但也提供了基于GTK+的图形用户界面(GUI)。
MTR的工作原理依赖于来自
路由器的ICMP时间超时数据包的返回,或者当数据包到达目的主机时依赖于ICMP回显回复数据包。此外,MTR还具有UDP模式,它发送UDP数据包,直到到达目的主机,然后依赖于ICMP端口不可达数据包。MTR也支持IPv6,并以类似的方式工作,但依赖于ICMPv6消息。
该工具通常用于网络故障排除,通过显示经过的路由器列表以及到每个路由器的平均往返时间和数据包丢失情况,帮助用户识别网络延迟或数据包丢失的特定部分。这有助于识别网络过度使用的问题。
WinMTR是一个Windows GUI应用程序,功能上等同于MTR,由Appnor MSP S.R.L.开发,现在由White-Tiger维护。Windows NT及更高版本内置的PathPing命令也提供了类似的功能,结合了ping和tracert的特性,显示网络延迟和丢包情况。