端口扫描界的“瑞士军刀”——Nmap从入门到实战
这是渗透学习笔记,详解Nmap工作原理、多系统安装方法、核心扫描类型与常用参数,搭配实战案例、实操清单与自测题,帮助新手快速掌握Nmap信息收集技能。
从零学渗透测试,每天一篇学习笔记。
今天的内容:
- Nmap 工作原理(TCP/IP 协议栈指纹)
- 安装与环境准备(Kali / Windows / macOS)
- 核心扫描类型:SYN 扫描、TCP 连接扫描、UDP 扫描
- 常用参数:端口指定、服务版本、OS 检测、脚本扫描、速度控制
- 实战案例:存活主机发现、全端口扫描、C段探测
- 输出管理与结果分析
一、学习目标
- 理解 Nmap 的工作原理(TCP/IP 协议栈指纹、SYN 扫描等)
- 掌握 Nmap 的安装与基础使用
- 掌握 Nmap 核心扫描类型:SYN 扫描、TCP 连接扫描、UDP 扫描等
- 掌握 Nmap 常用参数:端口指定(
-p)、服务版本(-sV)、操作系统(-O)、脚本扫描(-sC)、速度控制(-T)等 - 能结合参数完成综合扫描任务
- 能独立使用 Nmap 进行各类端口探测和服务识别
✅ 最终目标:熟练使用 Nmap 做各类端口探测
二、Nmap 工具概述
什么是 Nmap?
Nmap(Network Mapper)是一款开源免费的网络发现和安全审计工具。它通过发送精心构造的原始数据包,分析目标主机的响应,从而探测网络中的存活主机、开放端口、运行服务、操作系统类型等信息。它是渗透测试前期信息收集中最重要的工具之一。
工作原理
Nmap 的核心原理是利用 TCP/IP 协议栈的指纹特征 来推断目标信息:
- SYN 扫描:发送 SYN 包,根据返回 SYN/ACK 判定端口开放;若返回 RST,则端口关闭
- 服务识别:连接开放端口,读取服务 Banner 信息,与内置指纹库匹配
- 操作系统识别:组合多种探测技术,收集目标系统的 TCP/IP 协议栈实现细节,与数据库对比得出 OS 版本
三、Nmap 安装与环境准备
Kali Linux(推荐)
Kali Linux 默认预装 Nmap,无需额外安装:
bash
# 验证 Nmap 是否已安装nmap --version# 若未安装(通常不会),执行以下命令安装sudoapt updatesudoaptinstall nmap -y
Windows 系统
-
访问 Nmap 官网下载页
-
下载 Windows 安装包(.exe)
-
双击安装,务必勾选“WinPcap/Npcap”驱动和“Add to PATH”选项
-
安装完成后,在命令提示符(CMD)或 PowerShell 中输入
nmap验证
⚠️ 权限提示:大部分扫描类型需要管理员/root 权限。在 Linux 中使用
sudo,在 Windows 中以管理员身份运行。
macOS 系统
bash
# 使用 Homebrew 安装brew install nmap
四、Nmap 扫描类型详解
1️⃣ TCP SYN 扫描(半开放扫描)-sS
原理:发送 SYN 包,收到 SYN/ACK 判定为开放,然后立即发送 RST 包,不完成三次握手。
优点:速度快、相对隐蔽,不会在目标应用日志中留下完整连接记录。
默认选项:Nmap 默认扫描类型。
bash
sudo nmap -sS192.168.1.1
2️⃣ TCP 连接扫描(全连接)-sT
原理:完成完整的 TCP 三次握手,建立完整连接后断开。
特点:准确性高,但会在目标日志中留下记录,速度相对较慢。
适用场景:用户无 root 权限时(此时 Nmap 会自动回退到此模式)。
3️⃣ UDP 扫描 -sU
原理:发送 UDP 数据包,开放端口通常无响应(或无端口不可达 ICMP 回复)。
特点:比 TCP 扫描慢得多,建议配合 -p 限制端口范围。
bash
sudo nmap -sU-p53,161192.168.1.1
4️⃣ TCP ACK 扫描 -sA
原理:发送 ACK 包探测防火墙规则,不判断端口开放状态,主要用于探测防火墙是否存在。
5️⃣ NULL/FIN/XMAS 扫描 -sN / -sF / -sX
原理:利用 TCP 协议栈实现细节的差异,发送不符合 RFC 规范的包,可绕过某些旧式无状态防火墙。现代系统中扫描效果有限。
五、Nmap 核心参数详解
端口扫描参数
| 参数 | 作用 | 示例 |
|---|---|---|
-p 端口 |
扫描指定端口 | -p 80,443,22 |
-p 端口范围 |
扫描连续端口 | -p 1-1000 |
-p- |
扫描所有 65535 个端口 | -p- |
--top-ports n |
扫描最常用的 n 个端口 | --top-ports 200 |
主机发现参数
| 参数 | 作用 | 示例 |
|---|---|---|
-sn |
Ping 扫描 ,只发现存活主机 | sudo nmap -sn 192.168.1.0/24 |
-Pn |
跳过主机发现 ,直接扫端口 | nmap -Pn 192.168.1.1 |
-sL |
仅列出目标列表,不探测 | nmap -sL 192.168.1.1-10 |
服务与版本检测
| 参数 | 作用 | 示例 |
|---|---|---|
-sV |
探测服务版本 | nmap -sV -p 80 192.168.1.1 |
--version-intensity n |
设置探测强度(0-9,默认7) | --version-intensity 5 |
操作系统检测
| 参数 | 作用 | 示例 |
|---|---|---|
-O |
探测操作系统类型 | sudo nmap -O 192.168.1.1 |
--osscan-guess |
更激进地推测 OS 版本 | --osscan-guess |
脚本扫描引擎(NSE)
| 参数 | 作用 | 示例 |
|---|---|---|
-sC |
使用默认安全脚本扫描 | nmap -sC 192.168.1.1 |
--script 脚本名 |
指定单个脚本或类别 | --script=vuln |
高级扫描参数
| 参数 | 作用 | 示例 |
|---|---|---|
-A |
强力扫描模式 | sudo nmap -A 192.168.1.1 |
-T0 ~ -T5 |
计时模板(0最慢5最快) | -T4 常规推荐 |
--min-rate n |
至少每秒发 n 个包 | --min-rate 1000 |
-n |
禁止 DNS 解析 (加速) | nmap -n 192.168.1.1 |
--open |
仅显示开放端口 | --open |
-oN/-oX/-oG |
输出格式 | -oA result |
-v/-vv |
增加详细程度 | -vv |
核心参数速查
bash
# 基础信息扫描sudo nmap 192.168.1.1 # 默认扫描1000个常用端口# 端口全量扫描sudo nmap -p- 192.168.1.1 # 扫描所有65535个端口# 服务与OS指纹探测(渗透测试黄金命令)sudo nmap -sS-sV-O-T4192.168.1.1 # SYN扫描 + 服务版本 + OS识别# 强力扫描(全面收集信息)sudo nmap -A-T4192.168.1.1 # OS检测 + 版本识别 + 脚本扫描 + 路由追踪# 输出保存nmap -sV -p- 192.168.1.1 -oA scan_result
💡 实战技巧:真实扫描务必加上
-n避免 DNS 解析变慢;配合--open让结果更清爽。
六、实战案例详解
案例一:局域网存活主机发现
bash
sudo nmap -sn192.168.1.0/24
执行效果:识别出网段内所有响应主机,是扫描大型内网前的必备步骤。
案例二:全端口服务扫描
bash
sudo nmap -sV -p- -T4192.168.1.100
执行效果:对所有 65535 个端口进行扫描,发现开放端口后探测服务版本,为漏洞利用提供依据。
案例三:操作系统识别
bash
sudo nmap -O192.168.1.100
执行效果:通过 TCP/IP 协议栈指纹推测操作系统类型及版本。
案例四:绕过防火墙扫描
bash
sudo nmap -Pn-sS-p4438.8.8.8
执行效果:-Pn 跳过主机发现,-sS 以 SYN 扫描探测,避免防火墙拦截。
案例五:C段渗透探测
bash
sudo nmap -sn192.168.1.0/24 -oA alive_hostssudo nmap -sS-sV-p80,443,22,3306 -iL alive_hosts.txt -oA c_scan
执行效果:先发现 C段存活主机,再对存活 IP 进行精准端口扫描,显著缩短扫描时间。
七、今日实操清单
基础扫描练习
- 执行
nmap --version确认 Nmap 已安装 - 对目标 IP 执行
nmap -sS扫描 - 执行
nmap -p-全端口扫描 - 执行
nmap -sV -p 80探测 Web 服务版本
进阶扫描
- 执行
sudo nmap -O识别操作系统 - 执行
sudo nmap -A -T4综合扫描 - 执行
sudo nmap -sn探测 C段存活主机
输出管理
- 使用
-oA保存扫描结果 - 用
grep过滤开放端口信息
八、自测题
-
Nmap 的工作原理是什么?
-
-sS与-sT扫描有什么区别? -
为什么 UDP 扫描比 TCP 扫描慢得多?
-
-sV参数的作用是什么? -
如何让 Nmap 扫描所有 65535 个端口?
-
-Pn参数的目的是什么? -
-T0到-T5的作用是什么?实战常用哪个? -
sudo nmap -A -T4 192.168.1.1会执行哪些检测?
九、记忆口诀
nmap 命令有套路,扫描类型先开路
sS 半开快又稳,sV 服务版本看
O 大写好兄弟,OS 信息没问题
全端口用 -p-,脚本 NSE 藏攻击
A 大 A 是终极,扫描太慢 T 调级
✅ 今日复盘
学到的核心概念:
- Nmap 原理:TCP/IP 协议栈指纹
- 扫描类型:SYN 扫描(-sS)、TCP 连接(-sT)、UDP 扫描(-sU)
- 核心参数:端口(-p)、服务版本(-sV)、OS(-O)、脚本(-sC)、速度(-T)
- 实战案例:存活发现、全端口扫描、C段探测
- 输出管理:-oA 保存结果
明天计划:
- 综合靶场实战
- 渗透测试报告撰写
- 全系列复盘
互动话题:如果你对网络攻防技术感兴趣,想学习更多网安方面的知识和工具,可以看看以下题外话!
题外话
黑客/网络安全学习路线
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
网络安全学习资源分享:
下面给大家分享一份2026最新版的网络安全学习路线资料,帮助新人小白更系统、更快速的学习黑客技术!
一、2026最新网络安全学习路线
一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
**读者福利 |** *CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 * (安全链接,放心点击)
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。
L1级别:网络安全的基础入门
L1阶段:我们会去了解计算机网络的基础知识,以及网络安全在行业的应用和分析;学习理解安全基础的核心原理,关键技术,以及PHP编程基础;通过证书考试,可以获得NISP/CISP。可就业安全运维工程师、等保测评工程师。

L2级别:网络安全的技术进阶
L2阶段我们会去学习渗透测试:包括情报收集、弱口令与口令爆破以及各大类型漏洞,还有漏洞挖掘和安全检查项目,可参加CISP-PTE证书考试。

L3级别:网络安全的高阶提升
L3阶段:我们会去学习反序列漏洞、RCE漏洞,也会学习到内网渗透实战、靶场实战和技术提取技术,系统学习Python编程和实战。参加CISP-PTE考试。

L4级别:网络安全的项目实战
L4阶段:我们会更加深入进行实战训练,包括代码审计、应急响应、红蓝对抗以及SRC的挖掘技术。并学习CTF夺旗赛的要点和刷题

整个网络安全学习路线L1主要是对计算机网络安全的理论基础的一个学习掌握;而L3 L4更多的是通过项目实战来掌握核心技术,针对以上网安的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
二、技术文档和经典PDF书籍
书籍和学习文档资料是学习网络安全过程中必不可少的,我自己整理技术文档,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,(书籍含电子版PDF)

三、网络安全视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的网安视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

四、网络安全护网行动/CTF比赛
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。


五、网络安全工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了技术之后,就需要开始准备面试,我们将提供精心整理的网安面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…


**读者福利 |** *CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 * (安全链接,放心点击)
文章来自网上,侵权请联系博主
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)