防火墙与扫描结果解读:为什么有些端口扫不出来
Open 但实际用不了
扫描器显示端口 Open,但你实际连的时候超时。可能原因:
1. 应用层防火墙
路由器 NAT 没问题,但服务器上的应用层防火墙在 TCP 握手阶段就主动发 RST 拒绝连接。
2. 服务有 IP 白名单
服务器只允许特定 IP 连接,你的手机 IP 不在白名单里,被防火墙悄悄丢掉。
Filtered 是什么
Filtered = 扫描器发出 TCP SYN 后,既没收到 SYN-ACK 也没收到 RST,直接超时。原因是某个中间设备把包给丢了:
- 运营商封锁:某些运营商会静默丢弃发往 25、4662、6881 等端口的包。
- 企业防火墙:只放行必需端口,其他全部静默丢弃。
- 云服务商安全组:阿里云、AWS 的安全组配置不当。
- 路由器 NAT 但端口没转发:公网 IP 扫过来,路由器收到包但 NAT 表里没对应条目,直接丢。
Closed 但我明明开了服务
1. 服务只监听 IPv6
现代服务器越来越多只开 IPv6。如果 PingTools 用 IPv4 扫,会显示所有端口 Closed,但 IPv6 下其实是 Open 的。
2. 服务绑定了特定 IP
应用只监听 127.0.0.1(回环)或某个特定内网 IP,公网扫不到。
3. 快速扫描误判
扫描器用太快的速度发 SYN,目标主机的内核积压了大量半连接请求直接丢弃。这种情况把线程数调低后再试。
用 TCP Ping 验证
端口扫描结果如果让你困惑,直接用 PingTools 的 TCP Ping 对同一端口试一下——TCP Ping 能看到真实的 TCP 连接状态,比端口扫描器的批量探测更精确。