nmap如何区分封闭端口和已过滤端口


10

假设我们正在执行TCP连接扫描。

Google上的nmap扫描返回以下输出:

港口国服务

80 / tcp打开http

443 / TCP打开https

但是,例如,如果我尝试在端口12上的google.com上使用netcat或telnet打开套接字,则netcat或telnet会无限期挂起。

Nmap将端口12(以及80或443以外的其他端口)检测为已关闭,但是启动与它们的TCP连接不会立即关闭。

nmap如何知道这些端口未过滤但已关闭?


默认情况下(尽管该算法还有更多功能),您从nmap获得的输出只是打开的端口,而不是关闭的或过滤的端口。nmap -p 12 www.google.com通常应将其显示为已过滤。
2013年

Answers:


14

使用nmap扫描,通常会获得3种状态:

  • 打开-远程计算机以SYN / ACK响应您的SYN
  • 已关闭-远程计算机拒绝您使用RST数据包的连接尝试
  • 已过滤-没有返回任何内容,发生了超时

打开端口80的网猫并等待将不会执行任何操作。端口80(通常)表示http服务器在另一侧进行监听,并且正在等待HTTP命令(直到其自身的超时)。捕捉到端口80之后,尝试sedinng a GET /看看是否收到回复(可能是http错误)。


8

封闭端口是没有任何软件监听的端口,因此尝试与该系统上的该端口建立连接将导致系统发回TCP RST数据包。

另一方面,经过过滤的端口通常是被网络路径中的防火墙阻止的端口,因此尝试与该系统上的该端口建立连接将根本没有任何结果...甚至TCP RST ...因此连接尝试将一直坐在那里,直到TCP超时尝试进行连接为止。


这是真的,但不能回答我的问题。在google.com的端口42上打开网猫,您将不会收到RST数据包,但是nmap将该端口标记为已关闭。
2013年

我到google.com的nmap(包括端口42)将其过滤后返回,未关闭。
杰夫·麦卡丹斯

不好意思,我以为所有未显示的端口都已关闭,但这取决于全局结果。
2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.