运行时依赖
安装命令
点击复制技能文档
Nmap Recon 使用 Nmap 进行网络侦察和端口扫描。当要求扫描目标、查找开放端口、检测服务、检查漏洞或进行网络侦察时使用。触发“scan [target]”、“port scan”、“nmap”、“what ports are open”、“recon [target]”、“service detection”、“vulnerability scan”。 要求 nmap 必须安装(在 Kali 上是标准的,通过包管理器可用) 根/超级用户用于 SYN 扫描和操作系统检测 使用 快速扫描(前 1000 个端口) nmap -sC -sV -oA scan_$(date +%Y%m%d_%H%M%S) TARGET 全端口扫描 nmap -p- -sC -sV -oA fullscan_$(date +%Y%m%d_%H%M%S) TARGET 快速扫描(快速检查) nmap -F -T4 TARGET 隐身 SYN 扫描(需要根) sudo nmap -sS -sV -O -oA stealth_$(date +%Y%m%d_%H%M%S) TARGET UDP 扫描(前 100 个端口) sudo nmap -sU --top-ports 100 -oA udp_$(date +%Y%m%d_%H%M%S) TARGET 漏洞扫描 nmap --script vuln -oA vulnscan_$(date +%Y%m%d_%H%M%S) TARGET 攻击性扫描(操作系统、版本、脚本、追踪路由) nmap -A -T4 -oA aggressive_$(date +%Y%m%d_%H%M%S) TARGET 输出解析 Nmap 输出多种格式,使用 -oA: .nmap - 人类可读 .xml - 机器可解析 .gnmap - 可 grep 格式 从可 grep 输出中解析开放端口: grep "open" scan.gnmap | awk -F'[/]' '{print $1}' | tr ',' '\n' | sort -u 提取服务版本: grep -E "^[0-9]+/" scan.nmap | awk '{print $1, $3, $4}' 从 XML 中快速总结: xmllint --xpath "//port[@state='open']" scan.xml 2>/dev/null 常见扫描配置文件 配置文件 命令 用例 快速 nmap -F -T4 快速初始侦察 标准 nmap -sC -sV 服务检测 + 默认脚本 全端口 nmap -p- -sC -sV 所有 65535 个端口 隐身 sudo nmap -sS -T2 逃避扫描 漏洞 nmap --script vuln 漏洞检测 攻击性 nmap -A -T4 全枚举 脚本分类 # 列出可用脚本 ls /usr/share/nmap/scripts/ # 运行特定类别 nmap --script=default,safe TARGET nmap --script=vuln TARGET nmap --script=exploit TARGET nmap --script=auth TARGET # 运行特定脚本 nmap --script=http-title TARGET nmap --script=smb-vuln* TARGET 目标指定 # 单个主机 nmap 192.168.1.1 # CIDR 范围 nmap 192.168.1.0/24 # 范围 nmap 192.168.1.1-254 # 从文件 nmap -iL targets.txt # 排除主机 nmap 192.168.1.0/24 --exclude 192.168.1.1 计时模板 -T0 偷偷摸摸(IDS 逃避) -T1 谨慎(IDS 逃避) -T2 礼貌(慢) -T3 正常(默认) -T4 攻击性(快) -T5 疯狂(非常快,可能会错过端口) 授权要求 只扫描您拥有或有明确书面授权的目标。永远不要扫描: 公共基础设施(无权限) 您不控制的网络 未经批准的生产系统 示例工作流 # 1. 快速扫描以查找活跃主机 nmap -sn 192.168.1.0/24 -oA live_hosts # 2. 在发现的主机上进行快速端口扫描 nmap -F -T4 -iL live_hosts.gnmap -oA quick_ports # 3. 对有趣的主机进行深度扫描 nmap -p- -sC -sV -oA deep_scan TARGET # 4. 漏洞扫描 nmap --script vuln -oA vuln_scan TARGET