我注意到,有时在尝试telnet到某个随机端口时,我观察到了两种情况:
$ telnet example.com 3432 Trying 173.252.110.27... $ telnet example.com 3432 Connection Refused.
有人能解释我有什么区别吗?
其中一个原因就是example.com上防火墙的行为。 如果防火墙只是丢弃stream量,您将看到第一个响应。 另一方面,如果防火墙拒绝stream量,您将得到第二个。
为了更好地理解,使用tcpdump或wireshark等数据包filter,并在执行testing时嗅探stream量。
第一种情况看起来像Syn,Syn,Syn …
第二种情况将看起来像Syn,Rst以及一个可能的ICMP端口无法访问。
一个成功的连接看起来像我们期望的tcp 三次握手中的Syn,Syn-Ack,Ack。