这是渗透学习笔记,详解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 系统

  1. 访问 Nmap 官网下载页

  2. 下载 Windows 安装包(.exe)

  3. 双击安装,务必勾选“WinPcap/Npcap”驱动和“Add to PATH”选项

  4. 安装完成后,在命令提示符(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 过滤开放端口信息

八、自测题

  1. Nmap 的工作原理是什么?

  2. -sS-sT 扫描有什么区别?

  3. 为什么 UDP 扫描比 TCP 扫描慢得多?

  4. -sV 参数的作用是什么?

  5. 如何让 Nmap 扫描所有 65535 个端口?

  6. -Pn 参数的目的是什么?

  7. -T0-T5 的作用是什么?实战常用哪个?

  8. 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大礼包:《网络安全入门&进阶学习资源包》免费分享 * (安全链接,放心点击)img

我们把学习路线分成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)

img

三、网络安全视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的网安视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

在这里插入图片描述

四、网络安全护网行动/CTF比赛

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

imgimg

五、网络安全工具包、面试题和源码

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

img

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了技术之后,就需要开始准备面试,我们将提供精心整理的网安面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

在这里插入图片描述
img

**读者福利 |** *CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 * (安全链接,放心点击)

文章来自网上,侵权请联系博主

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐