为什么有些连接会超时而其他连接会被拒绝?

为什么有些连接会超时而其他连接会被拒绝?

我注意到,有时在尝试通过某个随机端口进行 telnet 时,会出现两种情况:

$ telnet example.com 3432
  Trying 173.252.110.27...

$ telnet example.com 3432
  Connection Refused.

有人能解释一下这两者有什么区别吗?

答案1

其中一个原因可能是 example.com 上的防火墙行为。如果防火墙只是丢弃流量,您将看到第一个响应。另一方面,如果防火墙拒绝流量,您将得到第二个响应。

为了更好地理解,采用如下数据包过滤器tcpdump或者wireshark并在执行测试时嗅探流量。

第一种情况看起来像 Syn,Syn,Syn...

第二种情况类似于 Syn,Rst,同时可能存在 ICMP 端口不可达。

成功的连接将类似于我们在 tcp 中期望的 Syn、Syn-Ack、Ack三次握手

相关内容