Nmap 参数大全:从入门到精通,掌握网络扫描的核心技巧

什么是 Nmap?

Nmap(Network Mapper)是一款开源的网络扫描工具,广泛用于网络发现、端口扫描、服务识别和漏洞检测。它支持多种扫描技术,能够快速识别网络中的主机、服务和操作系统信息,是网络安全工程师的必备工具。

Nmap 的核心功能

  1. 主机发现:检测网络中的活跃主机。
  2. 端口扫描:识别目标主机开放的端口及其服务。
  3. 版本检测:确定运行在端口上的服务及其版本信息。
  4. 操作系统检测:猜测目标主机的操作系统类型。
  5. 脚本扫描:通过 Nmap 脚本引擎(NSE)进行高级检测和漏洞扫描。

Nmap 参数大全:从基础到高级

1. 目标指定

  • **<目标>**:直接指定目标 IP 地址、主机名或网段。

    nmap 192.168.1.1
    nmap example.com
    nmap 192.168.1.0/24
    
  • **iL <文件>**:从文件中读取目标列表。

    nmap -iL targets.txt
    
  • **-exclude <目标>**:排除指定目标不扫描。

    nmap 192.168.1.0/24 --exclude 192.168.1.100
    
  • **-excludefile <文件>**:从文件中读取排除的目标列表。

    nmap 192.168.1.0/24 --excludefile exclude.txt
    

2. 主机发现

  • **sP**(Ping 扫描):仅检测主机是否在线,不扫描端口。

    nmap -sP 192.168.1.0/24
    
  • **Pn**(跳过主机发现):假设所有主机都在线,直接扫描端口。

    nmap -Pn 192.168.1.1
    
  • **PS <端口>**:使用 TCP SYN Ping 探测主机。

    nmap -PS80,443 192.168.1.1
    
  • **PA <端口>**:使用 TCP ACK Ping 探测主机。

    nmap -PA80,443 192.168.1.1
    
  • **PU <端口>**:使用 UDP Ping 探测主机。

    nmap -PU53 192.168.1.1
    
  • **PE**(ICMP Echo Ping):使用 ICMP Echo 请求探测主机。

    nmap -PE 192.168.1.1
    
  • **PP**(ICMP Timestamp Ping):使用 ICMP Timestamp 请求探测主机。

    nmap -PP 192.168.1.1
    
  • **PM**(ICMP Address Mask Ping):使用 ICMP Address Mask 请求探测主机。

    nmap -PM 192.168.1.1
    

3. 端口扫描

  • **p <端口>**:扫描指定端口或端口范围。

    nmap -p 80,443 192.168.1.1
    nmap -p 1-1000 192.168.1.1
    
  • **F**(快速扫描):仅扫描常见端口。

    nmap -F 192.168.1.1
    
  • **-top-ports <数量>**:扫描最常见的 N 个端口。

    nmap --top-ports 100 192.168.1.1
    
  • **sS**(SYN 扫描):半开放扫描,速度快且隐蔽。

    nmap -sS 192.168.1.1
    
  • **sT**(TCP 连接扫描):完整的 TCP 连接扫描,准确性高但速度较慢。

    nmap -sT 192.168.1.1
    
  • **sU**(UDP 扫描):扫描 UDP 端口。

    nmap -sU 192.168.1.1
    
  • **sN**(Null 扫描):发送无标志位的 TCP 包,用于绕过某些防火墙。

    nmap -sN 192.168.1.1
    
  • **sF**(FIN 扫描):发送 FIN 包,用于绕过某些防火墙。

    nmap -sF 192.168.1.1
    
  • **sX**(Xmas 扫描):发送 FIN、PSH 和 URG 标志位的 TCP 包。

    nmap -sX 192.168.1.1
    

4. 服务与版本检测

  • **sV**(版本检测):识别端口上运行的服务及其版本。

    nmap -sV 192.168.1.1
    
  • **-version-intensity <级别>**:控制版本检测的强度(0-9)。

    nmap -sV --version-intensity 5 192.168.1.1
    
  • **-version-light**:轻量级版本检测(相当于 -version-intensity 2)。

    nmap -sV --version-light 192.168.1.1
    
  • **-version-all**:尝试所有版本检测探针(相当于 -version-intensity 9)。

    nmap -sV --version-all 192.168.1.1
    
  • **O**(操作系统检测):猜测目标主机的操作系统。

    nmap -O 192.168.1.1
    
  • **-osscan-limit**:仅对可能的目标进行操作系统检测。

    nmap -O --osscan-limit 192.168.1.1
    
  • **-osscan-guess**:更激进地猜测操作系统。

    nmap -O --osscan-guess 192.168.1.1
    

5. 脚本扫描

  • **sC**(默认脚本扫描):运行 Nmap 默认的脚本集合。

    nmap -sC 192.168.1.1
    
  • **-script=<脚本名称>**:运行指定的 Nmap 脚本。

    nmap --script=http-title 192.168.1.1
    
  • **-script-args=<参数>**:为脚本提供参数。

    nmap --script=http-title --script-args=http-title.url=/index.html 192.168.1.1
    
  • **-script-trace**:显示脚本执行的详细过程。

    nmap --script=http-title --script-trace 192.168.1.1
    
  • **-script-updatedb**:更新脚本数据库。

    nmap --script-updatedb
    

6. 输出与日志

  • **oN <文件>**:将扫描结果保存为文本文件。

    nmap -oN result.txt 192.168.1.1
    
  • **oX <文件>**:将扫描结果保存为 XML 文件。

    nmap -oX result.xml 192.168.1.1
    
  • **oG <文件>**:生成便于 grep 处理的输出。

    nmap -oG result.grep 192.168.1.1
    
  • **oA <前缀>**:同时生成文本、XML 和 Grepable 格式的输出。

    nmap -oA result 192.168.1.1
    
  • **v**(详细输出):增加输出的详细程度。

    nmap -v 192.168.1.1
    
  • **d**(调试输出):显示调试信息。

    nmap -d 192.168.1.1
    

7. 高级参数

  • **T<0-5>**(时序模板):控制扫描速度,0 最慢,5 最快。

    nmap -T4 192.168.1.1
    
  • **-min-rate <速率>**:设置最小发包速率。

    nmap --min-rate 100 192.168.1.1
    
  • **-max-rate <速率>**:设置最大发包速率。

    nmap --max-rate 1000 192.168.1.1
    
  • **-packet-trace**:显示发送和接收的每个数据包。

    nmap --packet-trace 192.168.1.1
    
  • **-reason**:显示端口状态的原因。

    nmap --reason 192.168.1.1
    

实际应用场景

  1. 网络发现:使用 sP 快速发现网络中的活跃主机。
  2. 端口扫描:使用 psV 识别开放端口及其服务。
  3. 漏洞检测:使用 -script=vuln 扫描常见漏洞。
  4. 操作系统识别:使用 O 猜测目标主机的操作系统。

结语

如果您对 Nmap 的使用有任何疑问,欢迎在评论区留言!同时,关注我们的博客,获取更多网络安全相关的教程和技巧。

相关推荐


欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论。

×

喜欢就点赞,疼爱就打赏

//