跳到主要内容

Nmap

🛡️ Nmap 网络扫描

一、 扫描目标与基础设置

用于定义扫描对象以及基础的探测逻辑。

分类语法指令功能说明示例
目标指定IP/域名/网段支持单个 IP、CIDR 网段或范围。192.168.1.0/24
-iL <file>从外部文本文件中读取目标列表。-iL targets.txt
端口规格-p <port>指定端口、范围或全端口 (-p-)。-p 80,443,1-1024
-F快速模式:仅扫描最常用的 100 个端口。nmap -F 1.1.1.1
性能模板-T<0-5>调整扫描速度。0 最慢(隐蔽),5 最快。nmap -T4 1.1.1.1

二、 扫描类型与指纹探测

定义如何通过网络协议发现主机和服务。

语法指令功能说明适用场景
-sSTCP SYN 扫描半开放扫描,速度快且相对隐蔽(默认)。
-sTTCP 连接扫描建立完整三次握手,不需 Root 权限但易被记录。
-sUUDP 扫描针对 DNS, DHCP, SNMP 等服务的端口探测。
-snPing 扫描只查主机是否在线,不扫端口。
-Pn禁 Ping 扫描绕过防火墙禁 Ping 限制,强制扫描端口。
-sV版本探测获取开放端口后,探测具体的服务版本号。
-OOS 探测通过 TCP/IP 栈特征识别操作系统类型。
-A全能模式综合 -O, -sV, -sC (脚本) 和 Traceroute。

三、 NSE 脚本引擎 (Nmap Scripting Engine)

这是 Nmap 的高级功能,用于漏洞扫描和自动化任务。

脚本类别功能描述示例指令
vuln漏洞探测:检查目标是否有已知安全漏洞(CVE)。--script vuln
auth身份认证:检测匿名登录、默认账号或弱口令。--script auth
brute暴力破解:自动尝试常见协议的登录凭据。--script brute
discovery信息搜集:枚举目录、查询 WHOIS、抓取标题。--script discovery
default默认脚本:运行一组最有用且安全的脚本。-sC

四、 防火墙规避与隐蔽技巧 (Evasion)

用于绕过入侵检测(IDS)或防火墙限制。

语法指令功能说明示例
-f报文分段:将探测包切碎,以此绕过简单的 FW 过滤。nmap -f 1.1.1.1
-D <IP1,IP2>诱饵扫描:在流量中混入大量伪造 IP 掩护真实地址。-D RND:10 1.1.1.1
-S <IP>源 IP 欺骗:伪装成特定的 IP(如网关)进行探测。-S 8.8.8.8 1.1.1.1
--source-port指定源端口:模仿合法服务(如 DNS 的 53 端口)发包。--source-port 53
--mtu <size>自定义 MTU:调整传输单元大小以避开检测特征。--mtu 24 1.1.1.1

五、 输出与保存结果

将结果导出为不同格式,方便后期分析。

参数格式说明建议场景
-oN <file>标准文本格式方便人类直接阅读。
-oX <file>XML 格式方便导入 Metasploit 或 Nessus 等工具。
-oA <file>全格式保存同时保存 .nmap, .xml, .gnmap 三种格式。

💡 实战组合案例

  • 对目标进行深度的漏洞与服务检测(最常用组合):

nmap -T4 -A -v --script vuln <Target>

  • 在禁 Ping 环境下快速探测全网段存活的 80/443 端口:

nmap -Pn -p 80,443 --min-rate 1000 192.168.1.0/24

  • 使用分片包和诱饵 IP 探测特定服务的版本:

nmap -sV -f -D RND:5 -p 22,80,443 <Target>