Nmap隐蔽扫描
Nmap的常见使用介绍
主机发现:Nmap可以通过发送不同类型的探测包(如ICMP echo请求、TCP SYN包等)来检测目标主机是否在线。常用命令如
-sn
(Ping扫描,只进行主机发现,不进行端口扫描)和-PE/PP/PM
(使用ICMP echo、timestamp、netmask请求包发现主机)。
端口扫描:Nmap支持多种端口扫描技术,包括TCP SYN扫描(
-sS
)、TCP connect扫描(-sT
)、UDP扫描(-sU
)等。用户可以根据需要选择适当的扫描方式,以探测目标主机上开放的端口。
版本探测:Nmap能够探测目标主机上运行的服务及其版本信息。通过发送特定的探测包并分析响应,Nmap可以识别出服务的类型和版本。使用
-sV
选项可以启用版本探测功能。
操作系统探测:Nmap还能够尝试识别目标主机的操作系统类型。通过收集目标主机的响应数据包中的指纹信息,并与已知的操作系统指纹库进行比对,Nmap可以推断出目标主机的操作系统。使用
-O
选项可以启用操作系统探测功能。
NSE脚本引擎:Nmap的强大之处在于其内置的NSE(Nmap Scripting Engine)脚本引擎。用户可以通过编写或运行NSE脚本来扩展Nmap的功能,实现更复杂的网络探测和安全审计任务。
结果输出:Nmap支持将扫描结果输出到不同的格式,包括文本、XML、Grepable等。用户可以根据需要使用相应的输出选项(如
-oN
、-oX
等)来保存扫描结果。
高级用法
扫描绕过安全设备欺骗
发送参杂着假ip的数据包检测
nmap -D 111.111.111.111 192.168.209.1
碎片扫描
通过将数据包分割成更小的部分发送,使得防火墙更难识别这些数据包属于一个扫描流量。
nmap -f <目标IP地址> # 使用随机偏移量的碎片扫描
nmap -mtu 8 <目标IP地址> # 指定MTU大小为8的碎片扫描
诱饵扫描
在扫描数据包中添加多个诱饵IP地址,使目标防火墙难以判断真正的扫描源,从而增加扫描的隐蔽性。
nmap -D RND:10 <目标IP地址> # 随机使用10个诱饵IP地址
nmap -D decoy1,decoy2,decoy3 <目标IP地址> # 指定具体的诱饵IP地址
空闲扫描
利用一台僵尸主机(zombie host)作为跳板,通过向空闲主机发送经过特殊构造的数据包,间接地探测目标主机的端口状态,而无需直接向目标主机发送数据包。
nmap -P0 -sI zombie <目标IP地址> # 使用名为zombie的空闲主机进行扫描
随机数据长度
在发送的数据包中填充随机长度的数据,以绕过一些基于数据包长度过滤的防火墙规则。
nmap --data-length 25 <目标IP地址> # 在每个数据包中填充25字节的随机数据
欺骗扫描
通过伪造源IP地址或MAC地址,使防火墙难以追踪真实的扫描源。
nmap --sT -PN --spoof-mac aa:bb:cc:dd:ee:ff <目标IP地址> # 伪造源MAC地址进行TCP连接扫描
nmap --badsum <目标IP地址> # 发送带有错误校验和的数据包,可能绕过某些简单的防火墙规则
nmap -cloak-source <spoofed_ip1>,<spoofed_ip2> <target_ip> # 伪造ip地址进行扫描
SYN扫描
虽然SYN扫描本身并不直接绕过防火墙,但它是一种非常隐蔽的扫描方式,因为它只发送SYN包而不完成整个TCP握手过程,从而减少了被防火墙检测到的可能性。
nmap -sS <目标IP地址> # 使用SYN扫描方式
使用特定端口或绕过常用端口
一些防火墙规则基于端口过滤,可以尝试使用特定的源端口来绕过。例如,很多防火墙允许HTTP端口(80)和HTTPS端口(443)通过。
nmap --source-port 80 <目标IP地址> # 使用HTTP端口作为源端口进行扫描
ARP Ping扫描(-PR)
nmap -sn -PR <target_network>
# 或者
nmap -PR <target_network>
Tips:ARP 扫描仅适用于局域网环境,因为它依赖于 ARP 协议,该协议用于在局域网内解析 IP 地址到 MAC 地址。
ARP 扫描可能无法发现配置了 ARP 过滤或 ARP 欺骗防护措施的主机。
总结
Nmap作为一款开源免费的网络发现和安全审计工具,功能强大且多样。
它不仅能够进行主机发现和端口扫描,识别目标主机上的服务及其版本信息,还能尝试探测操作系统的类型。通过内置的NSE脚本引擎,Nmap的功能得到了进一步扩展,可以实现更复杂的网络探测任务。
此外,Nmap支持将扫描结果输出到不同格式的文件中,便于用户保存和分析。高级用法中,Nmap提供了多种扫描策略,如碎片扫描、诱饵扫描和空闲扫描等,以帮助用户绕过安全设备的检测,增加扫描的隐蔽性和灵活性。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!