soarli

Nmap 全攻略:从安装入门到防火墙规避
在网络安全领域,如果说有一款工具是所有人都必须掌握的“瑞士军刀”,那一定是 Nmap (Network Mappe...
扫描右侧二维码阅读全文
06
2026/02

Nmap 全攻略:从安装入门到防火墙规避

在网络安全领域,如果说有一款工具是所有人都必须掌握的“瑞士军刀”,那一定是 Nmap (Network Mapper)。无论是系统管理员用来通过网络发现设备,还是渗透测试人员用来探测漏洞,Nmap 都是不可或缺的神器。

本文将带你从零开始,了解 Nmap 的安装、基础扫描、结果分析,一直到进阶的脚本使用和防火墙规避技术。

⚠️ 法律免责声明: Nmap 是合法的网络管理工具,但在未经授权的网络上使用 Nmap 进行扫描可能被视为非法入侵行为。请务必只在你拥有权限的网络(如你自己的家庭网络、测试环境或公司授权的网络)中使用。


一、 Nmap 安装指南

Nmap 支持几乎所有主流操作系统。以下是各平台的快速安装方法:

1. Windows

Windows 原生不支持原始套接字,因此需要依赖 Npcap 驱动。

  • 下载: 前往 Nmap 官网 下载 .exe 安装包。
  • 关键点: 安装过程中务必勾选 "Install Npcap"
  • 验证: 打开 CMD 输入 nmap --version

2. Linux (推荐)

Linux 是 Nmap 的原生环境,安装最简单。

  • Debian/Ubuntu/Kali: sudo apt install nmap
  • CentOS/RHEL: sudo dnf install nmap
  • Arch Linux: sudo pacman -S nmap

3. macOS

推荐使用 Homebrew,方便快捷。

  • 命令: brew install nmap

4. Android

通过 Termux 将手机变成便携式黑客工具。

  • 命令: 在 Termux 中输入 pkg install nmap
  • 注意: 未 Root 的手机只能使用 Connect 扫描(-sT),Root 后可使用全功能。

二、 核心扫描技术与命令速查

Nmap 的核心逻辑是向目标发送特定的数据包,并根据返回的响应判断端口状态。

1. 基础主机发现 (Ping Scan)

不做端口扫描,只看“谁在线”。

nmap -sn 192.168.1.0/24

2. 端口扫描 (Port Scanning)

这是 Nmap 的重头戏。

扫描类型命令特点适用场景
TCP SYN 扫描sudo nmap -sS <IP>半开放,不建立完整连接,速度快,隐蔽。默认推荐 (需 Root)
TCP Connect 扫描nmap -sT <IP>完成三次握手,会在目标日志留痕。无 Root 权限时使用
UDP 扫描sudo nmap -sU <IP>扫描 DNS/DHCP 等协议,速度极慢。针对特定 UDP 服务
全端口扫描nmap -p- <IP>扫描 1-65535 所有端口。需要最全面信息时

3. 服务与系统侦察

知道端口开了还不够,你需要知道背后运行的是什么。

  • 探测服务版本: nmap -sV <IP> (例如:识别出 Apache 2.4.49)
  • 探测操作系统: sudo nmap -O <IP> (通过 TCP/IP 指纹猜测 OS)
  • 全面扫描 (Aggressive): nmap -A <IP> (集合了操作系统、版本、脚本和路由追踪,慎用,极易报警)

三、 读懂 Nmap 的“语言”:结果分析

扫描结束后,Nmap 会给每个端口打上标签。读懂这些标签是分析的关键:

  1. Open (开放):
  • 含义: 端口有应用程序监听,且允许连接。
  • 策略: 这是攻击入口,尝试连接或查找该服务版本的漏洞。
  1. Closed (关闭):
  • 含义: 数据包到达了主机,但没有应用监听。
  • 策略: 证明主机存活,可用于辅助判断操作系统。
  1. Filtered (被过滤):
  • 含义: 数据包被防火墙或路由器丢弃,Nmap 收不到回复。
  • 策略: 最麻烦的状态,需要使用“规避技术”来穿透。

四、 进阶武器:NSE 脚本引擎

Nmap 不仅仅是扫描器,配合 NSE (Nmap Scripting Engine) 脚本,它能进行漏洞检测甚至暴力破解。脚本位于 /usr/share/nmap/scripts/

  • 通用漏洞检测:
nmap --script=vuln <target>
  • 检测 SMB "永恒之蓝" (MS17-010):
nmap -p 445 --script smb-vuln-ms17-010 <target>
  • Web 敏感目录枚举:
nmap -p 80 --script http-enum <target>

五、 黑客秘籍:防火墙规避技术

当你面对大量 Filtered 端口时,说明目标有防火墙(IDS/IPS/Firewall)在拦截。这时候需要一些“欺骗”手段。

1. 碎片化扫描 (Fragmentation)

将数据包切碎,让防火墙难以重组检测。

  • 命令: nmap -f <target> (切分为 8 字节小包)

2. 诱饵扫描 (Decoys)

伪造多个 IP 与真实 IP 一起发送请求,混淆视听,让管理员分不清谁是攻击者。

  • 命令: nmap -D RND:10 <target> (随机生成 10 个诱饵 IP)

3. 源端口欺骗

很多防火墙允许源端口为 53 (DNS) 或 80 (HTTP) 的数据包通过。

  • 命令: nmap -g 53 <target>

4. 慢速扫描

降低扫描频率,避免触发 IDS 的流量阈值警报。

  • 命令: nmap -T1 <target> (偏执模式,非常慢)

总结

Nmap 的强大之处在于其灵活性。从简单的 nmap <IP> 到复杂的 nmap -sS -A -p- --script=vuln -T4 <IP>,它能满足不同层次的需求。

学习建议:

  1. 先懂原理: 理解 TCP 三次握手,才能理解为什么 SYN 扫描比 Connect 扫描快。
  2. 多动手: 在自己的局域网内多测试,对比不同参数(如 -sS-sT)的结果差异。
  3. 合法合规: 永远记住,技术是中立的,但使用技术的人要有底线。

Happy Scanning! 🕵️‍♂️

最后修改:2026 年 02 月 08 日 03 : 34 AM

发表评论