[工具使用] Nmap 从入门到实战:核心原理与命令全解

581 0
Honkers 2026-3-3 14:27:27 来自手机 | 显示全部楼层 |阅读模式

一、Nmap介绍

Nmap被称为"网络安全界的瑞士军刀",是每一位从业者必须掌握的核心工具。但在学习过程中发现,仅仅会敲命令是不够的,理解背后的原理才能真正用好它。

本文从零开始梳理Nmap的核心知识点,包含:

  • ✅ Nmap的核心原理(IP、TCP/UDP基础)

  • ✅ 最常用的命令分类速查

  • ✅ 实战案例(内网靶机扫描)

  • ✅ 避坑指南与学习建议


二、Nmap前置知识

2.1 IP地址与二进制(理解 /24 的关键)

IP地址 192.168.1.5 在底层实际是32位二进制:

  1. 192.168.1.5 = 11000000.10101000.00000001.00000101
复制代码
概念说明
8位二进制每组数字占8位,范围0-255
32位4组 × 8位 = 32位(IPv4的由来)
/24固定前24位(前3组),最后1组可变 → 256个地址
可用IP.0是网络地址,.255是广播地址,实际可用1-254

2.2 TCP三次握手(理解端口状态的关键)

  1. 客户端 → SYN       → 服务器
  2. 客户端 ← SYN-ACK   ← 服务器
  3. 客户端 → ACK       → 服务器(连接建立)
复制代码

Nmap利用这个原理:

  • 收到SYN-ACK → 端口 open

  • 收到RST → 端口 closed

  • 无回复 → 端口 filtered

2.3 公有IP vs 私有IP

类型范围示例说明
私有IP192.168.x.x, 10.x.x.x内网使用,可自由扫描(自有环境)
公有IP8.8.8.8, 任意互联网IP必须获得授权才能扫描

三、Nmap核心命令分类速查

3.1 目标管理

命令作用示例
nmap 192.168.1.1单IP扫描nmap 192.168.1.1
nmap 192.168.1.0/24扫整个C段nmap 192.168.1.1-254
nmap 192.168.1.1-50扫连续IP段nmap 192.168.1.1-50
nmap -iL targets.txt从文件读目标适合批量扫描
nmap --exclude 192.168.1.10排除特定IP跳过指定目标

3.2 主机发现

命令作用适用场景
nmap -sn 192.168.1.0/24只发现在线主机内网资产盘点
nmap -Pn 192.168.1.1跳过主机发现目标禁ping时
nmap -PS80,443 192.168.1.0/24TCP SYN发现绕过ICMP过滤
nmap -PA80 192.168.1.0/24TCP ACK发现更隐蔽的绕过
nmap -PE 192.168.1.0/24ICMP发现传统ping

3.3 端口扫描

命令作用原理权限
nmap -sS 192.168.1.1SYN半开扫描发SYN,收SYN-ACK回RSTroot
nmap -sT 192.168.1.1TCP全连接完成三次握手普通用户
nmap -sU 192.168.1.1UDP扫描慢,用于DNS/SNMP等root
nmap -p 80,445 192.168.1.1指定端口只扫特定端口
nmap -p- 192.168.1.1全端口扫描1-65535(耗时较长)
nmap -F 192.168.1.1快速扫描只扫top 100端口
nmap --top-ports 200TOP 200端口扫最常用的200个

3.4 服务与系统识别

命令作用输出示例
nmap -sV 192.168.1.1服务版本探测Apache httpd 2.4.41
nmap -O 192.168.1.1操作系统识别Windows 7 SP1
nmap -A 192.168.1.1全面扫描-O + -sV + -sC + traceroute

3.5 脚本引擎(NSE)

命令作用说明
nmap --script vuln 192.168.1.1漏洞扫描运行所有漏洞检测脚本
nmap --script smb-vuln-ms17-010 -p 445 192.168.1.1永恒之蓝检测检测MS17-010
nmap --script smb-enum-shares -p 445 192.168.1.1枚举共享查看共享文件夹
nmap --script smb-protocols -p 445 192.168.1.1SMB版本探测确认是否支持SMBv1

3.6 输出与速度

命令作用
nmap -T4 192.168.1.1时间模板(T0最慢-T5最快)
nmap -oN result.txt保存为标准输出
nmap -oX result.xml保存为XML
nmap -v显示详细扫描过程
nmap --open只显示开放端口

四、实战案例:内网靶机扫描全过程

环境

  • Kali Linux:192.168.34.xxx

  • 靶机(Win 7):192.168.34.133

步骤1:基础端口扫描

  1. nmap 192.168.34.133
复制代码

关键输出:

  1. PORT     STATE SERVICE
  2. 445/tcp   open microsoft-ds
  3. 135/tcp   open msrpc
  4. 139/tcp   open netbios-ssn
  5. ...
  6. Not shown: 987 closed tcp ports (reset)
复制代码

解读:

  • 445端口开放 → SMB服务,可能存在永恒之蓝

  • 987 closed (reset) → 说明发了SYN,收到RST,符合TCP原理

步骤2:操作系统识别

  1. nmap -O 192.168.34.133
复制代码

关键输出:

  1. OS details: Microsoft Windows Vista SP2 or Windows 7 or Windows Server 2008 R2
复制代码

结合开放端口(554/2869/5357等) → 极大概率是 Windows 7

步骤3:永恒之蓝漏洞检测

  1. nmap --script smb-vuln-ms17-010 -p 445 192.168.34.133
复制代码

关键输出:

  1. |   VULNERABLE:
  2. |   Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)
  3. |     State: VULNERABLE
  4. |     IDs: CVE:CVE-2017-0143
复制代码

✅ 确认存在MS17-010漏洞

步骤4:进一步信息收集

  1. # 查看SMB版本
  2. nmap --script smb-protocols -p 445 192.168.34.133
  3. # 枚举共享文件夹
  4. nmap --script smb-enum-shares -p 445 192.168.34.133
  5. # 枚举系统用户
  6. nmap --script smb-enum-users -p 445 192.168.34.133
复制代码

五、避坑指南与学习建议

5.1 常见误区

误区正解
只背命令不理解原理理解IP/TCP才能举一反三
盲目相信OS识别结果Nmap是"猜测",需结合端口佐证
UDP扫描嫌慢就放弃UDP服务(DNS/SNMP)很重要
扫描不通就放弃先试 -Pn 绕过ICMP过滤

5.2 安全提醒

  • 合法授权是底线:永远不要在未经授权的目标上扫描

  • 靶机环境建议:Metasploitable、VulnHub、自有虚拟机

  • 永恒之蓝等漏洞脚本可能触发靶机蓝屏,做好快照

5.3 深入学习方向

  • Wireshark抓包验证:亲眼看到SYN/SYN-ACK/RST包

  • NSE脚本开发:看懂Lua代码,编写自定义脚本

  • 结合Metasploit:用Nmap结果指导后续渗透


六、常用命令速记表

用途命令
扫C段nmap 192.168.1.0/24
只发现在线nmap -sn 192.168.1.0/24
跳过pingnmap -Pn 192.168.1.1
SYN扫描sudo nmap -sS 192.168.1.1
服务版本nmap -sV 192.168.1.1
操作系统nmap -O 192.168.1.1
全面扫描nmap -A 192.168.1.1
永恒之蓝nmap --script smb-vuln-ms17-010 -p 445
指定端口nmap -p 80,443,8080
全端口nmap -p- 192.168.1.1
快速模式nmap -T4 192.168.1.1
保存结果nmap -oN result.txt

七、结语

Nmap的学习不是一蹴而就的,但只要掌握了IP/TCP的基础原理,再复杂的命令也能看懂它的本质。

从基础扫描到漏洞检测,Nmap能做的远不止"看开了哪些端口"。希望这份总结能帮各位读者少走弯路,在实际操作中真正用好这个工具。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行