Nmap介绍
Nmap是一款非常强大实用的工具,可用于检测网络上的存活主机,检测目标主机的开放端口,检测端口上相应服务上网版本,主机操作系统等信息,Nmap不仅可以扫描单个主机,也可使用于扫描大规模的计算机网络
软件获取
官网:https://nmap.org/download.html
Github:https://github.com/nmap/nmap
主机探测_1
扫描单个主机:
nmap 192.168.1.1
扫描整个子网:
nmap 192.168.1.1/24
扫描多个目标:
nmap 192.168.1.1,192.168.2.1
扫描一个范围的目标:
nmap 192.168.1.1-254
扫描一个文件中的IP列表:
nmap -iL file.txt
主机探测_2
如果想看到扫描的所有主机列表:
nmap -sL 192.168.1.1/24
扫描除过每个IP的所有子网IP:
nmap 192.168.1.1/24 -exclude 192.168.1.2
扫描除过每一个文件中IP的子网IP:
nmap 192.168.1.1/24 -exclude file.txt
端口扫描_1
端口扫描:
nmap -F -sT -v 192.168.1.1
# -F: 扫描最有可能开放的100个端口
# -sT:采用TCP扫描
# -v:获取扫描信息
# -p: 指定扫描端口
扫描端口状态
Open:端口开启,有数据到达主机,有程序在端口上监听
Closed:端口关闭,有数据到达主机,没有程序在端口上监听
Filtered:数据没有到达主机,返回结果为空,数据被防火墙或者IDS过滤
UnFiltered:数据没有到达主机,但是不能识别端口当前的状态
Open|Filtered:端口你可能开放或被过滤
Closed:端口可能关闭或被过滤
SYN扫描
参数:-sS
这是一种秘密的扫描方式之一,因为在SYN扫描中Client和Server端没有形成三次握手,所以没有建立一个正常的TCP连接,因为不被防火墙日志所记录,一般不会在目标主机上留下任何痕迹,但是这种扫描需要root权限,对于Windows用户来说,需要Administrator权限。
TCP扫描
参数:-sT
这是一种最普通的扫描方法,这种扫描方法的特点是:扫描速度快,准确性高,对操作者没有权限上的要求,但是容易被防火墙和IDS发现
运行原理:通过建立TCP三次握手连接来进行信息传递
①Client:发送SYN
②Server:发送SYN/ACK,表明端口开放
③Client:返回ACK,表明连接已建立
④Client:主动断开连接
常用探测方法
UDP进行端口探测:
nmap -PU 192.168.1.1/24
服务版本探测:
nmap -sV 192.168.1.1
精确的确认端口上运行的服务:
nmap -V -script-unusual-port 192.168.1.1
探测目标主机操作系统:
nmap -O 192.168.1.1
防火墙躲避绕过
利用TCP ACK检测状态防火墙:
①nmap发送一个TCP ACK到目标机器
②目标机器接收到TCP ACK数据包后,如果没有被状态防火墙保护,则会直接返回TCP RST
③如果目标机器被状态防火墙防护,则不会做出任何响应或者返回ICMP Error
nmap -sA -p 80 192.168.1.1
防火墙的绕过:
nmap -D 1.1.1.1,2.2.2.2,3.3.3.3 www.test.com
# -D:使用诱饵隐蔽扫描
# -f:分片raog
# --source-port:源端口欺骗
扫描结果导出
生成正常文本格式的报告:
nmap -F -oN 192.168.1.1
# -F:nmap使用快速递增模式进行探测,检测要少于默认端口量的探测
生成XML格式的报告:
nmap -F -oX 192.168.1.1
输出命令行可识别的格式:
nmap -F -oG 192.168.1.1
生成所有支持的格式的报告:
nmap -F -oA 192.168.1.1
下方查看历史文章
BlackArch Linux 2020版发布 新增120个渗透测试工具
扫描二维码
获取更多精彩
NowSec