为什么当端口真的打开时,对远程主机的 NMAP 扫描显示我没有打开任何端口?

Tom*_*G11 7 port nmap vulnerabilities

telnet 99.99.99.99 33491
Trying 99.99.99.99...
Connected to 99.99.99.99..
Escape character is '^]'
^]
telnet> close
Connection closed.
Run Code Online (Sandbox Code Playgroud)

如您所见,上面的 telnet 命令显示端口 33491 已打开。

-PN在相同的 IP 和端口上运行 NMAP 将其显示为已关闭:

root@Ubuntu:~# nmap -PN 99.99.99.99 -p33491
Starting Nmap 5.00 ( http://nmap.org ) at 2011-10-18 18:18 EDT
Interesting ports on xxx.com (99.99.99.99):
PORT      STATE    SERVICE
33491/tcp filtered unknown

Nmap done: 1 IP address (1 host up) scanned in 2.07 seconds
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,telnet 显示端口打开,但 NMAP 显示端口为“已过滤”,也就是关闭。

如何让 NMAP 显示远程主机的开放端口(禁用 ping)?

Red*_*ick 6

过滤

Nmap 无法确定端口是否打开,因为包过滤阻止其探测到达该端口。过滤可能来自专用防火墙设备、路由器规则或基于主机的防火墙软件。这些端口会挫败攻击者,因为它们提供的信息太少。有时它们会响应 ICMP 错误消息,例如类型 3 代码 13(目标不可到达:管理禁止通信),但过滤器简单地丢弃探测而不响应的情况要常见得多。这会强制 Nmap 重试几次,以防探测由于网络拥塞而不是过滤而被丢弃。这会显着减慢扫描速度。

您可以要求 nmap 尝试 TCP Connect ...

nmap -PN -sT -p 33491 example.com
Run Code Online (Sandbox Code Playgroud)