0xcrow13/wmap

GitHub: 0xcrow13/wmap

wmap 是一款零依赖的 Go 网络扫描与侦察工具,整合了主动端口扫描、被动情报收集和 CVE 漏洞关联能力。

Stars: 1 | Forks: 1

``` Y88b e / 888-~88e-~88e /~~~8e 888-~88e Y88b d8b / 888 888 888 88b 888 888b Y888/Y88b/ 888 888 888 e88~-888 888 8888 Y8/ Y8/ 888 888 888 C888 888 888 888P Y Y 888 888 888 "88_-888 888-_88" 888 ``` # wmap 主动/被动网络扫描与侦察工具。使用 Go 编写,零外部依赖。 ``` wmap [options] ``` ## 命令 | 命令 | 描述 | |--------------|------------------------------------------------| | `active` | TCP/UDP 端口扫描,支持服务/OS 指纹识别 | | `passive` | 通过 Shodan, Censys, BinaryEdge, ZoomEye, HackerTarget 进行侦察 | | `discover` | 对 CIDR 范围进行 Ping 扫描以发现存活主机 | | `update-db` | 测试 NVD API 连通性 | ## 主动扫描选项 | Flag | 描述 | |--------------------|--------------------------------------------------| | `-p ` | TCP 端口(支持逗号/范围,例如 `80,443,8000-8080`) | | `-P ` | UDP 端口(语法同上) | | `-sU` | 启用 UDP 扫描(默认 UDP 端口) | | `-sV` | 服务/版本 banner 抓取 | | `-O` | 根据 banner 进行 OS 检测 | | `-A` | `-sV -O` 的简写形式 | | `-T <1-5>` | 时间模板(1=慢速/20 线程 … 5=疯狂/500 线程) | | `--vuln` | 通过 NVD API 查询已检测服务的 CVE | | `--exploit` | 过滤漏洞结果,仅显示 EDBID 条目 | | `-o ` | 保存结果(如果文件名以 .json 结尾则保存为 JSON,否则为 CSV) | | `-oJ` | 输出 JSON 到 stdout | | `-v` | 扫描时显示每个端口的进度 | | `-q` | 隐藏 banner,输出最简信息 | | `--no-ping` | 假定所有主机在线 | | `--min-rate` | 最小 packets/sec(仅存储,不强制执行) | | `--max-rate` | 最大 packets/sec(仅存储,不强制执行) | ## 被动扫描选项 | Flag | 描述 | |------------------|-------------------------------------------| | `-o ` | 将被动侦察报告保存至文件 | ## 示例 ``` wmap active scanme.nmap.org -sV wmap active scanme.nmap.org -sV -O -p 22,80,443 --vuln wmap active -l targets.txt -p 1-1000 -o results.csv wmap passive example.com -o report.txt wmap passive -l domains.txt wmap discover 192.168.1.0/24 ``` ## API Keys(被动模式) 为被动数据源设置环境变量。未设置的数据源将被跳过: ``` export SHODAN_KEY=xxx export CENSYS_ID=xxx export CENSYS_SECRET=xxx export BINARYEDGE_KEY=xxx export ZOOMEYE_KEY=xxx ``` HackerTarget(nmap 风格的被动端口列表)不需要 API key。 ## 漏洞检测 当同时使用 `--vuln` 或 `--exploit` 与 `-sV` 时,扫描器会查询 [NVD API 2.0](https://nvd.nist.gov/developers)(免费,无需 key,限制为 5 req/30s)。结果会根据每个 (服务, 版本) 在内存中缓存。只有具备明确版本号(包含 2 个及以上数字部分,例如 `1.18.0`)的服务才会被查询——像 `AmazonS3` 这样的通用 banner 字符串会被跳过,以避免误报。 ## 输出 - 当输出通过管道或重定向时,ANSI 颜色会自动禁用。 - 使用 `-q` 隐藏 banner。 - CSV 输出格式为 host,port,proto,service,status(每个端口一行)。 - JSON 输出格式为 `{host, os, ports: [{port, service, version, banner, vulns}]}`。 ## 安装 ``` go install github.com/Xwal13/wmap@latest ``` 需要 Go 1.24+。
标签:EVTX分析, Go, Ruby工具, 云存储安全, 插件系统, 数据统计, 日志审计, 端口扫描, 网络扫描, 资产测绘