Google上的nmap扫描返回以下输出:
端口状态服务
80 / tcp打开http
443 / tcp打开https
但是,如果我尝试通过google.com上的netcat或telnet打开套接字例如端口12,netcat或telnet无限期挂起。
Nmap检测到端口12(以及80或443以外的其他端口)已关闭,但是启动与它们的TCP连接并不会立即关闭。 />
nmap如何知道那些端口未过滤但已关闭?
#1 楼
使用nmap扫描时,通常会获得3种状态:打开-远程计算机对您的SYN进行了SYN / ACK响应
关闭-远程计算机拒绝了您与RST的连接尝试封包
已过滤-没有返回任何内容,发生了超时
打开网卡到端口80并等待将不会执行任何操作。端口80(通常)表示HTTP服务器在另一侧进行监听,并且正在等待HTTP命令(直到其自身的超时)。捕捉到端口80后,尝试尝试确认
GET /
,看看是否收到回复(可能是http错误)。 #2 楼
封闭端口是没有任何软件在监听的端口,因此尝试与该系统上的该端口建立连接将导致系统发送回TCP RST数据包。另一方面,已过滤的端口通常是被网络路径中的防火墙阻止的端口,因此尝试与该系统上的该端口建立连接将导致什么都不会返回……甚至没有TCP RST ...因此连接尝试将坐在那里,直到TCP超时尝试进行连接为止。
评论
这是真的,但不能回答我的问题。在google.com的端口42上打开一个网猫,您不会收到RST数据包,但是nmap将该端口标记为已关闭。
–勇敢
2013年10月3日在16:38
我到google.com的nmap(包括端口42)将其过滤后返回,未关闭。
–杰夫·麦克亚当斯
2013年10月3日17:00
不好,我以为所有未显示的端口都已关闭,但这取决于全局结果。
–勇敢
13-10-3在20:24
评论
默认情况下(尽管该算法还有更多功能),从nmap获得的输出仅是打开的端口,而不是关闭或过滤的端口。 nmap -p 12 www.google.com通常应将其显示为已过滤。