Nmap 中的各种端口扫描技术
Posted Bruce_Liuxiaowei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nmap 中的各种端口扫描技术相关的知识,希望对你有一定的参考价值。
Nmap 中的各种端口扫描技术
1. SYN 扫描
SYN扫描是较为流行的一种扫描方式,同时它也是Nmap所采用的默认扫描方式。这种扫描方式速度极快,可以在一秒内扫描上千个端口,并且不容易被网络中的安全设备发现。
你也可以在扫描的时候,输入参数-sS。其实你只要以root或者administrator用户的权限工作,扫描方式都是SYN。Nmap会向目标设备的一个端口发送请求连接的SYN数据包,而且目标设备在接收到这个SYN数据包之后,扫描器在收到SYN+ACK数据包后,不是发送ACK数据包而是发送RST数据包请求断开连接。这样,3次握手就没有完成,无发建立正常的TCP连接,因此,这次扫描就不会被记录到系统日志里。这种扫描方式不会在目标设备上留下扫描痕迹。
我们在对一个端口进行SYN扫描时,端口的状态全是open \\ close及filtered中的一个。下表中列出了目标设备的回应与目标设备的端口的状态。
目标设备的回应与目标设备的端口的状态(TCP部分)
目标设备的回应 | 目标设备的端口的状态 |
---|---|
如果目标设备给出了一个SYN+ACK回应 | open |
如果目标设备给出了一个RST回应 | closed |
如果目标设备没有给出回应 | filtered |
ICMP端口无法抵达错误(类型3,代码1,2,3,4,10,13) | filtered |
使用SYN扫描端口的语法为“nmap -sS [目标设备IP地址]”。如我们对IP地址为192.168.68.191的设备端口进行扫描,命令如下所示:
┌──(rootkali)-[~]
└─# nmap -sS 192.168.68.191
2. Connect 扫描
使用Connect扫描端口语法为“nmap -sT [目标设备IP地址]”。Connect扫描其实和SYN扫描很像,只是这种扫描方式完成了TCP的3次握手。如我们对IP地址为192.168.68.191的设备的端口进行扫描,命令如下所示:
┌──(rootkali)-[~]
└─# nmap -sT 192.168.68.191
3. UDP 扫描
我们如果对一个端口进行UDP扫描时,端口的状态将会是open\\close及filtered中的一个。下表列出了目标设备的回应与目标设备的端口状态。
目标设备的回应与目标设备的端口状态(UDP部分)
目标设备的回应 | 目标设备的端口状态 |
---|---|
从目标设备得到任意的UDP回应 | open |
如果目标设备没有给出回应 | open|filtered |
要注意UDP扫描的速度是相当慢的。IP地址为192.168.68.191的设备的端口进行UDP扫描,命令如下所示:
┌──(rootkali)-[~]
└─# nmap -sU 1500 192.168.68.191
在扫描过程中,可能会产生一些状态为filtered的端口,这些端口的真实状态有可能是open,也可能是closed。要从这些状态为filtered的端口中找到那些其实是open的端口,需要进一步进行测试。
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
扫描技术概述与nmap使用
扫描技术
提供扫描、自动化来提高效率。
资产发现:
- 发现目标环境中有哪些资产
- 联网设备、主机、服务器、各种服务
- 资产整理、发现、收集
主要有
- 主机发现:有哪些主机在线,即有IP地址
- 端口扫描:确定某台主机开启的端口,以及确定端口上的服务
扫描工具 nmap
- 网站:nmap.org
- 跨平台,kali预装
- 参考书籍《nmap渗透测试指南》
扫描实践
nmap 127.0.0.1
扫描自己:可以看见很多信息
- 添加
-sP
不进行端口扫描:可以访问主机是否在线
- 添加
-p
可以指定端口扫描:后面根参数 1-80 表示1到80端口,1,80表示1和80端口。-p- 表示 1到65535端口(时间长)。
nmap扫描方式:
- TCP全连接扫描:和目标主机建立三次握手
-sT
- SYN半连接扫描:只进行前两次握手
-sS
- 隐蔽扫描(不适用Windows):
- NULL扫描:发送TCP包全为NULL的数值
-sN
- Xmas扫描
-sX
- FIN扫描
-sF
- NULL扫描:发送TCP包全为NULL的数值
-A
全扫描-sV
显示服务器版本-O
获取操作系统类型(间断性失效)-oN -oX
以txt、xml保存扫描内容
以上是关于Nmap 中的各种端口扫描技术的主要内容,如果未能解决你的问题,请参考以下文章