我刚刚使用 zenmap 远程扫描了我的 PC,发现有许多与我提供的任何服务无关的开放端口。
删节后的端口列表:
PORT STATE SERVICE
32/tcp filtered unknown
406/tcp filtered imsp
1277/tcp filtered miva-mqs
2920/tcp filtered roboeda
3580/tcp filtered nati-svrloc
5440/tcp filtered unknown
6510/tcp filtered mcer-port
7019/tcp filtered unknown
8200/tcp filtered trivnet1
32776/tcp filtered sometimes-rpc15
当我运行时,这些端口均未显示netstat -abno | FINDSTR LISTENING
我的操作系统甚至不知道端口是否打开,怎么会处于非关闭状态? nmap 如何查看这些端口?
答案1
什么时候Nmap 显示端口为“已过滤”,这意味着它没有收到发送到该端口的任何探测的响应。这种情况的常见原因是防火墙丢弃了发往这些端口的数据包,但当 Nmap 和目标之间有数据包丢失时也可能出现这种情况。Nmap 通常在扫描期间监控网络质量并在检测到数据包丢失时增加重试次数方面做得很好,但如果您使用激进的计时选项(如-T5
或 )--max-retries 0
,那么可能会出现一些数据包丢失。
防火墙会阻止对端口的访问,无论其保护的机器是否使用这些端口。netstat
防火墙允许或阻止的输出与端口集之间没有必然的关联。此外,根据您扫描的位置,可能存在您不知道的“防火墙”:互联网服务提供商 (ISP) 倾向于过滤往返于历史上曾被滥用的端口的流量,尤其是家庭(即非商业)互联网访问:端口 25、113、445 等。
答案2
连接过滤的方式有很多种 - 一种是直接丢弃数据包,另一种是发送拒绝消息。我怀疑这些端口发送的是拒绝消息,而不是不响应。
(在 Linux 世界中,您可以通过使用 DROP 与 REJECT 来看到这一点 - 前者只是丢弃数据包,后者将发回拒绝消息,大概表明端口已被过滤)。您没有指定您使用的操作系统,但我想无论如何想法都是一样的。
答案3
“filtered” 与“open” 不同。添加--reason
到 nmap 命令行以查看 nmap 如何得出“filtered”的结论。根据您所写的内容,原因看起来像是“没有答案”。