您的位置  > 互联网

SYN扫描方式的回应与目标设备的一个端口的状态

SYN扫描是一种比较流行的扫描方式,也是Nmap使用的默认扫描方式。 这种扫描方式速度极快,一秒可扫描数千个端口,不易被网络中的安全设备发现。

扫描时也可以输入参数-sS。 事实上,只要你使用root或用户权限,扫描方式就是SYN。 Nmap 将发送一个 SYN 数据包,请求连接到目标设备的端口。 目标设备收到SYN数据包后,扫描器收到SYN+ACK数据包后,不再发送ACK数据包,而是发送RST数据。 该包请求断开连接。 这样三次握手就没有完成,无法建立正常的TCP连接。 因此,本次扫描不会记录在系统日志中。 这种类型的扫描不会在目标设备上留下扫描痕迹。

当我们对某个端口进行SYN扫描时,该端口的状态是open\close之一或者其中之一。 下表列出了目标设备的响应和目标设备端口的状态。

​目标设备的响应以及目标设备的端口状态(TCP部分)

目标设备的响应 目标设备端口的状态

如果目标设备给出SYN+ACK响应

打开

如果目标设备给出RST响应

如果目标设备没有响应

ICMP 端口不可达错误(类型 3,代码 1、2、3、4、10、13)

使用SYN扫描端口的语法是“nmap -sS [目标设备IP地址]”。 例如我们扫描IP地址为192.168.68.191的设备端口,命令如下:

┌──(rootkali)-[~]
└─# nmap -sS 192.168.68.191

2. 扫描

使用扫描端口的语法是“nmap -sT [目标设备IP地址]”。 扫描实际上和SYN扫描非常相似,只不过这种扫描方式完成了TCP 3次握手。 例如,我们扫描IP地址为192.168.68.191的设备端口,命令如下:

┌──(rootkali)-[~]
└─# nmap -sT 192.168.68.191

3.UDP扫描

如果我们对某个端口进行UDP扫描,该端口的状态将是open\close其中之一。 下表列出了目标设备的响应和目标设备的端口状态。

​目标设备的响应以及目标设备的端口状态(UDP部分)

目标设备的响应 目标设备的端口状态

从目标设备获取任意 UDP 响应

打开

如果目标设备没有响应

打开|

请注意,UDP 扫描速度相当慢。 对IP地址为192.168.68.191的设备端口进行UDP扫描。 命令如下:

┌──(rootkali)-[~]
└─# nmap -sU 1500 192.168.68.191

扫描过程中可能会产生一些有状态的端口。 这些端口的真实状态可能是开放的,也可能是开放的。 要找出这些端口中哪些端口真正开放,还需要进一步测试。

4、端口扫描范围的确定

端口扫描一般使用TCP,但设备上有65536个端口。 如果扫描所有端口,则需要很长时间,因此Nmap默认只扫描65536个端口中最常用的1000个端口。 。 如果我们不添加任何参数,Nmap扫描的端口是1000而不是65536。

1.扫描所有端口

如果扫描65536个端口,可以使用参数-p“*”。

语法:nmap -p "*" [目标设备IP地址]

如果我们要扫描IP地址为192.168.68.191的目标设备的65536端口,可以使用以下命令:

┌──(rootkali)-[~]
└─# nmap -p "*" 192.168.68.191

2. 扫描n个最常用的端口

如果只想扫描最常用的n个端口,可以使用参数--top-ports n。

语法:nmap --top-ports n [目标设备IP地址]

如果我们想扫描IP地址为192.168.68.191的目标主机开放的10个最常用端口,我们可以使用以下命令:

┌──(rootkali)-[~]
└─# nmap --top-ports 10 192.168.68.191 

3.扫描指定端口

如果我们只扫描指定端口,可以使用参数-p

语法:nmap -p [端口号] [目标设备IP地址]

如果我们要扫描IP地址为192.168.68.191的目标设备的80端口,可以使用以下命令:

┌──(rootkali)-[~]
└─# nmap -p 80 192.168.68.191