带端口的跟踪路由如何工作?

带端口的跟踪路由如何工作?

我正在阅读的手册页traceroute,我注意到它接受一个port参数。

我以为traceroute只适用于 ICMP。它对端口有什么作用?

答案1

Traceroute(传统模式)的工作原理是将 UDP 数据包发送到一个理论上未使用的 UDP 端口,更改每个数据包的生存时间 (TTL),以便沿途的路由器注意到它已超时并返回 ICMP 超时消息。然后 Traceroute 会打印出这些消息,直到它收到来自目标主机拒绝连接的消息。

如果默认端口正在使用中,您可以更改端口(由于数据包被默默接受,因此可以防止最后一跳起作用)。

标准 Linux 发行版的 traceroute 手册页中有大量信息。

答案2

这是为了防止 ICMP 在途中的某处被阻止。

例如,您可以使用端口 80(http),因为几乎任何防火墙都会允许它通过。

相关内容