先分清:三种扫描原理,决定了你能不能跑
Nmap 报错「requires root privileges」的时候,多数人不知道换成 -sT 就能跑。原因是端口扫描有三套底层机制:
| 参数 | 原理 | 需要 root | 特点 |
|---|---|---|---|
-sS |
SYN 半开扫描 | 是 | 快、隐蔽,不会完成三次握手 |
-sT |
完整 TCP 连接 | 否 | 慢一些,但普通用户可用;日志里会留痕 |
-sU |
UDP 扫描 | 是 | 极慢,需配合重试参数 |
记住这条:没有 root 就用 -sT,不要硬试 -sS。手机上的 Termux 同理(参考《Termux 入门到进阶》)。
合规提醒:扫描只对你自己拥有或已获书面授权的目标进行。对公网任意地址做端口扫描,在国内可能被认定为非法侵入计算机信息系统,请遵守《网络安全法》。
一、主机发现:先知道谁在线
nmap -sn 192.168.1.0/24 # 只做 ping 扫描,不扫端口
nmap -sn -PR 192.168.1.0/24 # 强制 ARP(同网段最快最准)
nmap -Pn 192.168.1.10 # 跳过发现,直接扫(目标禁 ping 时用)
nmap -sL 192.168.1.0/24 # 只列出目标,不发任何包
关键区别:
-sn:只发现在线主机,不扫端口-Pn:认为主机一定在线,直接扫端口 —— 目标防火墙禁 ICMP 时必须加-sL:连包都不发,只做反向 DNS 解析,适合先确认范围
二、端口扫描:扫多少,扫多快
nmap -F 192.168.1.10 # 只扫 top 100 端口,最快
nmap -p 80,443,8080 192.168.1.10 # 指定端口
nmap -p 1-1024 192.168.1.10 # 范围
nmap -p- 192.168.1.10 # 全端口 65535,慢但全
nmap --top-ports 1000 192.168.1.10 # 按常见度取前 1000
nmap -p- --exclude-ports 9100 192.168.1.10 # 排除打印机端口,避免打醒设备
经验:先 -F 摸底,再对可疑主机上 -p-。直接全端口扫一个 C 段,可能要跑一晚上。
三、服务与版本识别
nmap -sV 192.168.1.10 # 识别服务与版本
nmap -sV --version-light 192.168.1.10 # 快模式,牺牲部分准确率
nmap -sV --version-all 192.168.1.10 # 全力探测,最慢最准
版本识别是后面所有工作的基础:知道是 Apache 2.4.49,才能去查对应 CVE(方法见《从 CVE 到复现的四步法》)。
四、操作系统识别
nmap -O 192.168.1.10
nmap -O --osscan-guess 192.168.1.10 # 猜得更激进,准确率下降
需要 root。准确率一般,只能作为参考,别把它当结论写进报告。
五、NSE 脚本引擎:Nmap 真正强的地方
NSE 让 Nmap 从「扫描器」变成「探测框架」。新手最该先用的三个:
nmap -sC 192.168.1.10 # 等价于 --script=default
nmap --script=http-title 192.168.1.10 # 抓网页标题
nmap --script=vuln 192.168.1.10 # 跑漏洞检测类脚本
常用脚本分类
| 分类 | 用途 |
|---|---|
default |
安全且信息量大的基础脚本 |
safe |
不会影响目标 |
vuln |
漏洞检测(可能触发告警) |
discovery |
信息收集 |
brute |
弱口令爆破(慎用) |
exploit |
利用(别随便跑) |
查脚本用法
nmap --script-help vuln
nmap --script "http-*" 192.168.1.10 # 通配符
nmap --script smb-vuln-ms17-010 -p445 192.168.1.10
nmap --script http-enum --script-args http-enum.basepath=/ 192.168.1.10
六、输出:别让结果只留在屏幕上
nmap -oN result.txt 192.168.1.10 # 普通文本
nmap -oX result.xml 192.168.1.10 # XML,给工具解析
nmap -oG result.gnmap 192.168.1.10 # grep 友好
nmap -oA scan 192.168.1.10 # 一次生成三种 + .nmap
-oA 是标准做法:三种格式一次出齐,写报告、喂工具、写脚本都够用。
七、速度与隐蔽:两个方向相反的目标
要快
nmap -T4 --min-rate 1000 192.168.1.0/24
nmap -T4 --max-retries 1 --host-timeout 30s 192.168.1.10
| 时序模板 | 说明 |
|---|---|
-T2 |
很慢,避免被检测 |
-T3 |
默认 |
-T4 |
快,内网常用 |
-T5 |
极快,容易丢包,只适合本地 |
要隐蔽
nmap -sS -T2 --scan-delay 1s --max-retries 0 192.168.1.10
nmap -f 192.168.1.10 # 分片,绕过简单包过滤
nmap --data-length 32 192.168.1.10 # 填充随机数据,改变包特征
nmap --source-port 53 192.168.1.10 # 伪装源端口
必须泼一盆冷水:这些手段对现代 IDS/防火墙基本无效。真正的隐蔽靠的是慢、分散、以及不扫。别指望几个参数就能隐身。
八、20 个实战组合
| 场景 | 命令 |
|---|---|
| 内网快速摸底 | nmap -sn 192.168.1.0/24 |
| 同网段精确发现 | nmap -sn -PR 192.168.1.0/24 |
| 单机快速看开了什么 | nmap -F -T4 目标 |
| 绕过禁 ping | nmap -Pn -F 目标 |
| 全端口 | nmap -p- -T4 目标 |
| 全端口 + 版本 | nmap -p- -sV -T4 目标 |
| 只要开放端口 | nmap --open -T4 目标 |
| 常用脚本 + 版本 | nmap -sC -sV 目标 |
| 看 Web 标题 | nmap --script=http-title -p80,443 目标 |
| 目录枚举 | nmap --script=http-enum -p80 目标 |
| SMB 漏洞检查 | nmap --script smb-vuln-* -p445 目标 |
| UDP 常见服务 | nmap -sU --top-ports 20 目标 |
| 操作系统猜测 | nmap -O --osscan-guess 目标 |
| 记录扫描原因 | nmap --reason 目标 |
| 完整留档 | nmap -sV -sC -oA scan 目标 |
| 排除设备 | nmap 192.168.1.0/24 --exclude 192.168.1.1,192.168.1.50 |
| 排除文件 | nmap 192.168.1.0/24 --excludefile skip.txt |
| 大网段提速 | nmap -T4 --min-rate 2000 -p80,443 10.0.0.0/16 |
| IPv6 | nmap -6 fe80::1%eth0 |
| 只列目标 | nmap -sL 10.0.0.0/24 |
九、常见坑
| 现象 | 原因 | 处理 |
|---|---|---|
requires root privileges |
用了 -sS/-O/-sU |
换 -sT,或提权 |
结果全是 filtered |
防火墙丢包 | 正常现象;试 -Pn 或换端口 |
| 扫完什么也没发现 | 目标禁 ICMP 且用了 -sn |
加 -Pn |
| UDP 扫了一小时没结果 | UDP 无响应也会超时重试 | --max-retries 1 --host-timeout 60s |
| 扫描把打印机/摄像头唤醒 | 全端口扫描触发设备异常 | --exclude-ports 9100,631 |
| 服务版本识别不出 | 服务改了 banner | --version-all,或手工连上去看 |
| 扫描导致目标 502 | 并发过高 | 降 -T、加 --max-rate |
十、扫完之后做什么
Nmap 只是起点,它能告诉你「有什么」,不告诉你「能不能打」。后续动作:
- 把结果结构化:
-oX输出 XML,脚本解析成资产表 - 按服务找漏洞:拿版本号去查 CVE,方法见《漏洞复现方法论》
- 扩大资产面:结合子域枚举,见《红队资产侦察三件套》
- 在隔离环境验证:别在生产上试,见《安全实验环境搭建》
小结
- 没 root 用
-sT,这是最常见的报错来源。 - 先
-F后-p-,别一上来就全端口。 -oA是标准动作,结果必须落盘。- 隐蔽参数不是隐身衣,别对它抱幻想。
- 扫描是信息收集,不是攻击,真正的风险在后面的步骤。
免责声明:本文命令仅用于自有资产与授权范围内的安全测试。未经授权扫描他人系统可能触犯《中华人民共和国网络安全法》《刑法》第 285 条,后果自负。
© 版权声明
- 1、本网站名称: 星宇安全实验室
- 2、本站永久网址:https://bk.zhaozhiqiang.pw/
- 3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
- 4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
- 5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
- 6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
- 7、文章版权归作者所有,未经允许请勿转载。
THE END














暂无评论内容