Nmap 工具使用技巧
新人博客,已发布文章会持续更新,有短缺请见谅,会尽快补齐,欢迎评论区提出,谢谢
本文后续会补充图片,感谢期待
1. Nmap 简介与基础用法
Nmap(Network Mapper)是 Kali Linux 中不可或缺的网络探测和安全审计工具,能够快速扫描大规模网络,识别存活主机、开放端口、操作系统及运行的服务版本。它既适合安全工程师进行渗透测试,也适合网络管理员进行资产管理。
在 Kali 中,Nmap 默认已安装,直接在终端输入 nmap 即可使用。最基础的用法是指定目标 IP 或域名:
nmap 192.168.1.1
该命令会扫描目标的 1000 个常用端口,并输出端口状态(open、closed、filtered)。如果想快速了解目标网络的大致情况,这行命令足够起步。
2. 主机发现技巧
在大规模扫描前,先快速发现网络中的存活主机可以大幅提高后续扫描效率。Nmap 提供了多种主机发现技术,技巧在于选择合适的 -sn、-Pn 等参数组合。
- Ping 扫描(仅存活探测):
nmap -sn 192.168.1.0/24可快速列出网段中所有存活主机,不进行端口扫描。适用于内网 IP 段快速摸底。 - 跳过主机发现:当目标防火墙可能过滤 ICMP 包时,使用
-Pn参数跳过存活探测,直接假设所有目标在线并进行端口扫描。例如nmap -Pn 10.0.0.1-100可有效应对禁 ping 的主机。 - 指定探测协议:Nmap 默认使用 ICMP echo、TCP SYN、TCP ACK 等组合探测。若需指定,可使用
-PE(ICMP echo)、-PS80(TCP SYN 到 80 端口)、-PA80(TCP ACK)等参数。组合多种探测能更准确地发现存活主机,如nmap -PE -PS80 -PA443 10.10.10.0/24。
灵活运用主机发现技巧,可以在渗透测试的信息收集阶段节约大量时间。
3. 端口扫描技巧
端口扫描是 Nmap 的核心功能,不同扫描类型适用于不同场景,掌握它们能绕过防火墙限制并提高隐蔽性。
- TCP SYN 扫描(半开扫描):
-sS是默认扫描方式(需要 root 权限),发送 SYN 包后收到 SYN/ACK 即认为端口开放,不完成三次握手,速度较快且相对隐蔽。 - TCP 连接扫描:
-sT适用于非 root 用户,会完成完整三次握手,记录在目标日志中的可能性更高。 - UDP 扫描:
-sU扫描 UDP 端口,例如nmap -sU 192.168.1.1。UDP 扫描易受速率限制,建议同时使用--min-rate提升速度。 - NULL、FIN、Xmas 扫描:
-sN、-sF、-sX通过发送无标志的 TCP 包来探测,可能绕过某些非状态防火墙。用法示例:nmap -sN target。 - 指定端口范围:用
-p参数灵活指定端口,如-p 22,80,443、-p 1-1000、-p-(扫描全部 65535 个端口)。结合-F则只扫描最常用的 100 个端口。
一个实用的技巧是先用 -F -T4 快速过一遍常用端口,再针对可疑主机进行全端口扫描,兼顾效率与全面性。
4. 服务版本与操作系统探测
确定开放端口后,进一步获取服务版本和操作系统指纹是安全评估关键步骤。
- 服务版本检测:
-sV参数会向开放端口发送探测包,识别服务程序名和版本号。例如nmap -sV 192.168.1.1。若想提高探测强度,可加--version-intensity从 0(轻量)到 9(全面)。 - 操作系统探测:
-O参数基于 TCP/IP 协议栈指纹识别目标操作系统。需要 root 权限。使用--osscan-guess可让 Nmap 给出最可能的猜测,适合不太确定时。 - 综合扫描:将端口扫描、版本检测、操作系统探测合并,常采用
nmap -A target。它会启用-sV、-O、-sC(常用脚本)和--traceroute,适合对单个目标深度分析。 - 痕迹伪造:某些情况下为避免被测目标察觉,可配合
--spoof-mac伪造 MAC 地址,或使用-D参数添加诱饵 IP 混淆探测源。
在实际渗透中,-A 通常在已获得授权且需要详尽信息时使用;若仅为初步侦察,单独使用 -sV 更低调。
5. Nmap 脚本引擎(NSE)实用技巧
Nmap 脚本引擎(NSE)是其强大扩展能力的核心,数百个内置脚本可完成漏洞检测、暴力破解、信息收集等高级任务。
- 默认安全扫描:
-sC或--script=default运行一组安全且较常用的脚本,适合快速评估。 - 按分类执行脚本:使用
--script=类别名,如--script=vuln运行所有漏洞相关脚本,--script=auth运行认证相关脚本。也可以组合多类别,如--script=vuln,intrusive。 - 执行单个或通配脚本:例如
--script=http-headers获取 HTTP 头信息,--script=smb-*运行所有 SMB 相关脚本。 - 暴力破解技巧:常见脚本如
ftp-brute、ssh-brute、http-brute,需配合--script-args传入用户名/密码字典。如nmap -p 22 --script ssh-brute --script-args userdb=users.txt,passdb=pass.txt target。 - 获取脚本帮助:使用
nmap --script-help 脚本名查看详细参数说明,这是掌握脚本用法的快速途径。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)