在Linux系统中,mtr是一个常用的网络工具,它可以显示数据包从一台主机传输到另一台主机所经过的路由,mtr全称为My Traceroute,它结合了traceroute和ping的功能,可以实时显示数据包在网络中的传输情况,本文将介绍如何使用mtr进行路由扫描。
安装mtr
在大多数Linux发行版中,mtr已经预装,如果没有预装,可以通过以下命令进行安装:
对于基于Debian的系统(如Ubuntu):
sudo apt-get update
sudo apt-get install mtr
对于基于RPM的系统(如CentOS、Fedora):
sudo yum install mtr
基本用法
1、查看路由信息
使用mtr命令后,会显示从本机到目标主机之间的所有路由器信息,要查看到www.baidu.com的路由信息,可以执行以下命令:
mtr www.baidu.com
2、指定端口
如果目标主机使用了非标准端口,可以使用-p选项指定端口号,要查看到www.example.com的80端口的路由信息,可以执行以下命令:
mtr -p 80 www.example.com
3、指定最大跃点数
使用-c选项可以指定最大跃点数,要查看到www.example.com的前5个跃点的路由信息,可以执行以下命令:
mtr -c 5 www.example.com
4、指定超时时间
使用-w选项可以指定超时时间,要查看到www.example.com的路由信息,超时时间为2秒,可以执行以下命令:
mtr -w 2 www.example.com
输出结果解析
mtr的输出结果主要包括以下几个部分:
1、To表示数据包从本机发送到下一个路由器的时间。
2、Host表示下一个路由器的名称或IP地址。
3、Loss%表示数据包丢失的百分比。
4、Snt表示发送的数据包数量。
5、Last列表示最后一个数据包到达该路由器的时间。
6、Avg表示平均往返时间。
7、Best表示最佳往返时间。
8、Worst表示最差往返时间。
9、StDev表示往返时间的偏差。
10、+/-表示往返时间的正负偏差。
11、TTL表示生存时间(Time To Live),当数据包在网络中传输时,每经过一个路由器,TTL值减1,当TTL值为0时,数据包将被丢弃,TTL值可以帮助我们了解数据包在网络中的传输距离。
12、Packets表示已发送的数据包数量。
13、Probes表示探测的次数,每次探测都会发送一个新的数据包,如果某个路由器连续多次未响应,mtr会认为该路由器不可达,并停止对该路由器的探测。
14、Time表示总共花费的时间。
15、Start表示开始探测的时间。
16、End表示结束探测的时间。
17、Finished表示探测完成的时间,如果某些路由器未响应,探测可能会提前结束,此时,Finished列将显示实际结束的时间。
18、Source列表示源IP地址和端口号,如果未指定源IP地址和端口号,将显示本机的IP地址和端口号,如果指定了源IP地址和端口号,将显示指定的IP地址和端口号。
19、Dial表示使用的DNS服务器名称或IP地址,如果未指定DNS服务器,将显示本机的DNS服务器,如果指定了DNS服务器,将显示指定的DNS服务器。
20、Closed表示连接是否关闭,如果连接关闭,将显示“closed”,否则,将显示“open”。
21、State表示连接的状态,可能的状态有:connecting(正在连接)、waiting(等待响应)、synsending(正在发送SYN报文)、synrecv(收到SYN报文)、established(已建立连接)、closed(连接已关闭)等。
原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/104436.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复