NMAP简介
(Network Mapper)是一款开源且免费的网络安全扫描工具,广泛用于网络发现和安全审计。它能够帮助网络管理员和安全专家检测网络上的设备和服务,识别操作系统类型、开放的端口、服务版本以及可能存在的安全漏洞。nmap
的强大之处在于其广泛的扫描能力、详细的报告功能以及易于使用的命令行界面。
nmap参考指南(中文版):
注意事项
- 在使用 nmap 进行网络扫描时,务必确保你有权对目标网络进行扫描,以避免侵犯隐私和违反法律法规。
- 扫描可能会消耗大量的网络带宽和计算资源,因此在进行大规模扫描时,请考虑合理安排时间和资源。
- 不断更新 nmap 和相关的漏洞数据库,以确保扫描结果的准确性和及时性。
功能介绍
1. 检测网络存活主机(主机发现)
2. 检测主机开放端口(端口发现或枚举)
3. 检测相应端口软件(服务发现)版本
4. 检测操作系统,硬件地址,以及软件版本
5. 检测脆弱性的漏洞(nmap的脚本)
端口状态
Open 端口开启,数据有到达主机,有程序在端口上监控
Closed 端口关闭,数据有到达主机,没有程序在端口上监控
Filtered 数据没有到达主机,返回的结果为空,数据被防火墙或IDS过滤
UnFiltered 数据有到达主机,但是不能识别端口的当前状态
Open|Filtered 端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmas扫描中
Closed|Filtered 只发生在IP ID idle扫描
常用的Nmap操作参数及其功能介绍
1. 主机发现
-sn
:Ping扫描,仅进行主机发现,不进行端口扫描。
-sP
:使用Ping扫描判断主机是否存活,但不做进一步测试(如端口扫描或操作系统探测)。
-PE
、-PP
、-PM
:使用不同类型的ICMP请求包(如Echo、Timestamp、Address Mask)进行主机发现。
-PS [portlist]
:使用TCP SYN包进行主机发现。
-PA [portlist]
:使用TCP ACK包进行主机发现,适用于某些防火墙封锁SYN请求的场景。
-PU [portlist]
:使用UDP包进行主机发现,可以穿越只过滤TCP的防火墙。
-Pn
:假定所有指定的主机都是活跃的,跳过主机发现阶段,直接进行端口扫描。
2. 端口扫描
-sS
:TCP SYN扫描,半开放扫描,不是完整的TCP连接。
-sT
:TCP connect()扫描,全连接扫描,准确性高但耗时长。
-sU
:UDP扫描,用于扫描UDP端口。
-sN
、-sF、-sX
:使用TCP Null、FIN、Xmas(包含FIN、Push、Urgent)扫描进行秘密扫描。
-p
:指定扫描的端口或端口范围,如-p 80
或-p 1-65535
。
--exclude-ports
:排除指定的端口或端口范围,不对其进行扫描。
3. 服务和版本探测
-sV
:探测开放端口的服务和版本信息。
--version-intensity
:设置服务版本检测的强度级别,0到9,数字越高表示检测的强度越大。
4. 操作系统检测
-O
:启用操作系统检测。
5. 扫描性能
-T
:设置扫描的时间模板,共有6个级别(0-5),级别越高扫描速度越快,但越容易被防火墙或IDS检测。
--min-parallelism
、--max-parallelism
:设置扫描期间使用的最小和最大并发探测数。
--min-rtt-timeout
、--max-rtt-timeout
:设置最小和最大的往返时间(RTT)超时时间。
6. 输出和日志
-oX
:将扫描结果保存为XML格式。
-oA
:将扫描结果以所有可用的格式保存,包括XML、normal和grepable。
-oG
:将扫描结果保存为grepable格式,便于文本处理。
7. 其他
-n
:不进行DNS解析,直接显示IP地址。
-R
:总是进行DNS解析。
--dns-servers
:指定DNS服务器进行域名解析。
--system-dns
:使用系统当前配置的默认DNS服务器进行域名解析。
-
traceroute
:在扫描过程中追踪到目标主机的路径,并显示每一跳的路由信息。
基础用法
nmap -A -T4 192.168.1.1
A:全面扫描\综合扫描
T4:扫描速度,共有6级,T0-T5
单一主机扫描:namp 192.168.1.2
子网扫描:namp 192.168.1.1/24
多主机扫描:nmap 192.168.1.1 192.168.1.10
主机范围扫描:namp 192.168.1.1-100
IP地址列表扫描:nmap –iL target.txt
扫描除指定IP外的所有子网主机:nmap 192.168.1.1/24 --exclude 192.168.1.1
扫描除文件中IP外的子网主机:nmap 192.168.1.1/24 --excludefile xxx.txt
扫描特定主机上的80,21,23端口:nmap –p 80,21,23 192.168.1.1
扫描全部端口
nmap -sS -v -T4 -Pn -p 0-65535 -oN FullTCP -iL liveHosts.txt
-sS:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快,效率高(一个完整的tcp连接需要3次握手,而-sS选项不需要3次
握手)
优点:Nmap发送SYN包到远程主机,但是它不会产生任何会话,目标主机几乎不会把连接记入系统日志。(防止对方判断为扫描攻击),扫描速度 快,效率高,在工作中使用频率最高
缺点:它需要root/administrator权限执行
-Pn:扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描
-iL:导入需要扫描的列表
NMAP漏洞扫描
nmap -p445 -v --script smb-ghost 192.168.1.0/24