TRACEROUTE 使用任何协议吗?ICMP 或 UDP

TRACEROUTE 使用任何协议吗?ICMP 或 UDP

TRACEROUTE:ICMPUDP或使用的任何协议IP ?

或者全部使用它们:封装?

答案1

这个问题已由拉哒哒哒哒这里 : traceroute 使用 UDP 还是 ICMP 还是两者兼而有之?

发送的数据包类型因实现方式而异。默认情况下,Windows tracert 使用 ICMP,而 Mac OS X 和 Linux traceroute 都使用 UDP。我手头没有 BSD 或 Solaris 机器或任何其他操作系统可供检查,但 Mac OS X 版本的手册页提到其出处是 BSD 4.3。

我拥有的 Mac 和 Linux 版本提供了选择各种不同协议的功能,包括 ICMP、TCP、UDP 和 GRE 数据包。其他协议可以通过其名称或编号指定,但 traceroute 对其他协议的工作原理一无所知。它只是盲目地发送它们。

对于 traceroute(在 GNU/Linux 下),手册页这里指示您使用参数来指定除 UDP 之外的其他协议:

-I Use ICMP ECHO for probes
-T Use TCP SYN for probes
...

ICMP 和 UDP 都封装在 IP 数据包中。希望对您有所帮助 :)

答案2

默认情况下,Traceroute 使用 UDP,也可以使用 ICMP 回显请求或 TCP SYN 数据包。如果您使用 tracroute -T,您将使用 TCP SYN 进行探测,而如果您使用 traceroute -I,您将使用 icmp 回显数据包进行探测。

相关内容