我正在寻找“正常”traceroute (ICMP第3层)和TCP traceroute (第4层)之间的区别。
我有时会看到系统工程师使用tcptraceroute,并且跳比普通的traceroute更继续。
这是怎么回事?
发布于 2020-03-25 09:53:36
通过向第一跳发送具有一个时间到生命时间( TTL )的包,路由器将减少TTL计数器,并将ICMP错误消息(超过时间)发送回发送方。然后,它将生成一个TTL为2的数据包,第一个路由器递减TTL计数器并将其转发到下一个路由器,后者也将减少计数器,并在计数器达到0时发送ICMP错误消息。这种情况一直持续到数据包到达目的地或到达跳跃限制(通常为30)为止。
正常*NIX traceroute使用UDP,Windows tracert使用ICMP。这些协议经常被过滤。
当对提供此服务(例如HTTP)的服务器和端口使用tcptraceroute时,您将无法阻止这些请求,因为这也使得在HTTP使用浏览器访问网站时也不可能以正常方式访问该服务。
https://networkengineering.stackexchange.com/questions/65822
复制相似问题