SuperAPI AI 工具集

nmap

安全与审计

查看项目

更新于 10-15 13:58

技能介绍

用途

nmap 技能用于执行专业的网络侦察与端口扫描,帮助用户发现目标主机上开放的端口、运行的服务及其版本,并可通过 NSE 脚本进行进一步枚举与漏洞检测。该技能主要面向安全测试、资产梳理和 IoT 设备评估等场景。

主要能力

  • 多种扫描类型:快速扫描(Top 1000 端口)、全端口扫描(-p-)、隐蔽 SYN 扫描(-sS)、UDP 扫描(-sU)、激进扫描(-A)、漏洞扫描(--script vuln)、操作系统检测(-O)等。
  • 两阶段默认策略:第一阶段使用 sudo nmap -p- <target> -oA <output-dir>/nmap-portscan 快速发现全部 65535 个开放端口;若出现 "Host seems down" 则自动加 -Pn 重试。第二阶段解析开放端口后运行 nmap -p <OPEN_PORT_LIST> -sV -sC <target> -oA <output-dir>/nmap-services 进行服务版本检测与默认 NSE 脚本枚举。
  • 输出管理:始终使用 -oA <prefix> 生成 .nmap(可读)、.xml(可解析)、.gnmap(可 grep)三种格式,默认保存到 ./nmap-output/ 目录。
  • NSE 脚本支持:涵盖 auth、brute、default、discovery、vuln 等类别,以及针对 IoT 的 RTSP、UPnP、MQTT、Modbus 等专用脚本。
  • 结果解析:提供从 .gnmap 或 .nmap 文件中提取开放端口的命令示例,以及提取服务版本、检查漏洞关键词的方法。
  • IoT 常见端口关注:列出 FTP(21)、SSH(22)、Telnet(23)、HTTP(80)、HTTPS(443)、RTSP(554)、MQTT(1883)、WS-Discovery(3702)、UPnP(5000)、HTTP Alt(8000/8080)、MQTT/TLS(8883) 等端口及其说明。

使用方式

技能被调用后,按以下工作流执行:

  1. 创建输出目录:OUTPUT_DIR="./nmap-output"; mkdir -p "$OUTPUT_DIR"
  2. 运行第一阶段端口发现:sudo nmap -p- <target> -oA "$OUTPUT_DIR/nmap-portscan"
  3. 检查 "Host seems down" 并视情况加 -Pn 重试。
  4. 解析开放端口:OPEN_PORTS=$(awk '$2=="open"{split($1,p,"/"); ports=ports sep p[1]; sep=","} END{print ports}' "$OUTPUT_DIR/nmap-portscan.nmap")
  5. 运行第二阶段服务检测:nmap -p "$OPEN_PORTS" -sV -sC <target> -oA "$OUTPUT_DIR/nmap-services"
  6. 报告结果位置:echo "Scan complete. Results saved to: $OUTPUT_DIR"

此外,可根据服务检测结果运行针对性扫描,例如对 Web 服务运行 --script http-*,对 SSH 运行 --script ssh-*,对 RTSP 运行 --script rtsp-*,对疑似 ONVIF 摄像头运行 --script http-methods,http-headers。

适用场景

  • 授权范围内的网络资产发现与端口梳理。
  • IoT 设备安全测试,如摄像头、MQTT 设备、Modbus 设备等。
  • 渗透测试中的信息收集阶段。
  • 服务版本识别与已知漏洞初步排查。

限制

  • 部分扫描类型(-sS、-sU、-O 及原始数据包功能)需要 root/sudo 权限。
  • UDP 扫描非常慢,建议使用 --top-ports 限制范围。
  • 激进扫描(-A、-T4)和漏洞扫描(--script vuln)会产生较多流量,可能被 IDS/IPS 检测。
  • 全端口扫描(-p-)耗时较长,通常 5-30 分钟以上,取决于目标。
  • 快速扫描仅覆盖 Top 1000 端口,可能遗漏非标准端口上的服务。
  • 仅应对拥有明确授权的主机进行扫描,需遵守范围限制并注意对生产系统的影响。
  • 技能中未提供具体的收费、价格或平台支持信息。