traceroute 使用

简单来说就是打印从你的主机到目标主机所经过的节点

原理就是通过ICMP的差错控制来实现,首先发送TTL =1 的包(IP包)到你的电脑的下一跳的路由器,然后路由器会把TTL-1,即TTL=0,包就被丢掉了,然后会用ICMP来告诉你的电脑,包被我丢掉了。就这样不断重复下去,直到到达目标主机。那么问题来了,如果目标主机收到了这个包,是不会利用ICMP来返回给你的,你是怎么直到这个包到了目标主机的呢?其实这个包用的是UDP 的很大的一个端口,而这个端口一般是不会用的,所以目标主机是会发送说这个端口不可达的信息给你,这样就知道送到了。

常用参数(常用个P,基本就是直接加个地址):

  • -d 使用Socket层级的排错功能。

  • -f 设置第一个检测数据包的存活数值TTL的大小。

  • -F 设置勿离断位。

  • -g 设置来源路由网关,最多可设置8个。

  • -i 使用指定的网络界面送出数据包。

  • -I 使用ICMP回应取代UDP资料信息。

  • -m 设置检测数据包的最大存活数值TTL的大小。

  • -n 直接使用IP地址而非主机名称。

  • -p 设置UDP传输协议的通信端口。

  • -r 忽略普通的Routing Table,直接将数据包送到远端主机上。

  • -s 设置本地主机送出数据包的IP地址。

  • -t 设置检测数据包的TOS数值。

  • -v 详细显示指令的执行过程。

  • -w 设置等待远端主机回报的时间。

  • -x 开启或关闭数据包的正确性检验

默认是每次对路径上的一台主机发送3个包,然后看返回的包的信息,返回的格式是第几跳+主机名(IP地址)+延时 如果是星号则说明要么被防火墙拦截了,要么有别的什么事情了吧。

猜你喜欢

转载自blog.csdn.net/weixin_34408717/article/details/87610548