nmap命令

nmap 命令 #

nmap(Network Mapper)是一个开源的网络探测和安全审计工具,用于发现网络上的主机和服务,创建网络映射,以及进行安全扫描和漏洞检测。

语法 #

nmap [扫描类型] [选项] {目标规范}

常用选项 #

目标规范 #

选项 描述
192.168.1.1 单个 IP 地址
192.168.1.1-254 IP 地址范围
192.168.1.0/24 CIDR 表示法
example.com 主机名
-iL 文件 从文件读取目标列表

主机发现 #

选项 描述
-sL 列表扫描 - 仅列出要扫描的目标
-sn Ping 扫描 - 禁用端口扫描
-Pn 将所有主机视为在线 - 跳过主机发现
-PS/PA/PU/PY[端口] TCP SYN/ACK, UDP 或 SCTP 发现特定端口
-PE/PP/PM ICMP 回显、时间戳和网络掩码请求发现
-n 不进行 DNS 解析
-R 对所有目标进行 DNS 解析

扫描技术 #

选项 描述
-sS TCP SYN 扫描(默认)
-sT TCP 连接扫描
-sU UDP 扫描
-sA TCP ACK 扫描
-sW TCP 窗口扫描
-sM TCP Maimon 扫描
-sN/-sF/-sX TCP Null, FIN, Xmas 扫描
-sV 版本检测
-sC 使用默认脚本进行扫描
-sI 僵尸主机[:端口] 空闲扫描
-sO IP 协议扫描

端口规范和扫描顺序 #

选项 描述
-p 端口范围 仅扫描指定端口(例如:-p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080)
-F 快速模式 - 扫描比默认扫描更少的端口
-r 连续扫描端口 - 不随机化
--top-ports 数量 扫描最常用的 N 个端口

服务/版本检测 #

选项 描述
-sV 探测开放端口以确定服务/版本信息
--version-intensity 级别 设置版本扫描强度(0-9)
--version-light 限制最可能的探测(强度 2)
--version-all 尝试每个探测(强度 9)

脚本扫描 #

选项 描述
-sC 使用默认脚本集进行扫描
--script=脚本名称 使用指定的脚本进行扫描
--script-args=参数 为脚本提供参数

输出选项 #

选项 描述
-oN 文件 输出标准格式到文件
-oX 文件 输出 XML 格式到文件
-oG 文件 输出可 grep 格式到文件
-oA 文件前缀 同时输出到所有格式
-v 增加详细程度
-d 增加调试级别

时间和性能 #

选项 描述
-T0 偏执级时序(非常慢,用于 IDS 规避)
-T1 鬼祟级时序
-T2 文明级时序
-T3 普通级时序(默认)
-T4 激进级时序
-T5 疯狂级时序(非常快,可能不可靠)
--min-rate 数量 每秒发送的最小数据包数
--max-rate 数量 每秒发送的最大数据包数

常见用法 #

1. 基本扫描 #

nmap 192.168.1.1

2. 扫描整个子网 #

nmap 192.168.1.0/24

3. 快速扫描 #

nmap -F 192.168.1.1

4. 详细扫描特定端口 #

nmap -p 22,80,443 192.168.1.1

5. 扫描所有端口 #

nmap -p- 192.168.1.1

6. 服务版本检测 #

nmap -sV 192.168.1.1

7. 操作系统检测 #

nmap -O 192.168.1.1

8. 综合扫描(版本检测、脚本扫描和操作系统检测) #

nmap -A 192.168.1.1

9. 隐蔽扫描 #

nmap -sS -T2 192.168.1.1

10. 使用脚本进行漏洞扫描 #

nmap --script vuln 192.168.1.1

11. 保存结果到文件 #

nmap -oA scan_results 192.168.1.1

输出示例 #

Starting Nmap 7.80 ( https://nmap.org ) at 2025-07-20 14:30 UTC
Nmap scan report for example.com (93.184.216.34)
Host is up (0.013s latency).
Not shown: 998 filtered ports
PORT    STATE SERVICE  VERSION
80/tcp  open  http     nginx 1.18.0
443/tcp open  ssl/http nginx 1.18.0

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 15.32 seconds

注意事项 #

  • 未经授权对网络或系统进行扫描可能违反法律法规和组织政策
  • 在进行扫描前,应获得适当的授权
  • 某些扫描技术可能会触发入侵检测系统(IDS)或防火墙警报
  • 积极的扫描可能会对目标系统造成负载影响
  • 在生产环境中使用时,应选择合适的扫描选项和时间
  • 某些扫描选项(如 SYN 扫描)需要 root 权限