galactic1000/NetProbe

GitHub: galactic1000/NetProbe

一个模块化的 Python 网络扫描器,整合主机发现、端口扫描、协议指纹识别和 CVE 漏洞关联功能,支持多种扫描模式和输出格式。

Stars: 0 | Forks: 0

# NetProbe NetProbe 是一个模块化的 Python 网络扫描器,用于实用的主机发现、端口扫描、协议感知指纹识别以及漏洞/建议报告。 ## 亮点 - 主机发现 (ICMP + TCP 探测,可选 UDP 提示) - TCP 全连接扫描 (`-sT`),SYN 扫描 (`-sS`,在不可用时自动回退),UDP 扫描 (`-sU`) - 组合 TCP+UDP 模式 (`-sT -sU`) - 通过插件探测进行协议感知指纹识别 - 产品/版本提取及一致的回退格式化 - 基于被动扫描证据的 OS 猜测,可选置信度/证据输出 - 漏洞 + 建议管道,包含去重和严重性归一化 - 由 `data/fingerprint_db.json` 驱动的过时版本检测 - CVE 关联 (`off`, `cache`, `periodic`, `live`) - 多目标扫描及聚合/单目标报告输出 (`json`, `csv`, `txt`, `md`) ## 运行 直接从源代码运行: ``` python netprobe.py ``` 无需安装步骤即可从此仓库运行扫描。 ## 快速开始 ``` # 默认扫描配置 python netprobe.py scanme.nmap.org # 显式端口上的 TCP 连接扫描 python netprobe.py 192.168.1.10 -sT -p 22,80,443 # SYN 扫描(需要平台具备 raw-socket 能力) python netprobe.py 192.168.1.10 -sS -p common # UDP 扫描 python netprobe.py 192.168.1.10 -sU -p 53,123,161 # TCP + UDP 组合 python netprobe.py 192.168.1.10 -sT -sU -p common # IPv6 字面量(raw) python netprobe.py 2001:db8::10 -sT -p 22,80,443 # IPv6 字面量(带括号) python netprobe.py [2001:db8::10] -sS -p common # 当主机名同时拥有 A 和 AAAA 记录时优先使用 IPv6 python netprobe.py example.com --prefer-ipv6 -sT -p common ``` ## 配置文件 程序配置文件用于调整超时/工作线程/速率/报告/CVE 行为的默认值: - `normal` (默认) - `safe` - `deep` ``` python netprobe.py target.example --profile safe ``` ## 核心 CLI ``` python netprobe.py --help ``` 常用选项: - `targets...` - `-iL, --targets-file FILE` - `-p, --ports SPEC` - `--ports-profile {common,web,remote,database,messaging,infrastructure}` - `-sS, --syn` - `-sT, --connect` - `-sU, --udp` - `-6, --prefer-ipv6` - `-t, --timeout SECONDS` - `-w, --workers COUNT` - `--rate-limit auto|N|0` - `--rate-profile {general,conservative,aggressive}` - `--no-discovery` - `--no-vuln-scans` - `--os-confidence` - `--os-evidence` - `-o, --output FILE` - `--format {json,csv,txt,md}` - `--report-mode {aggregate,individual,both}` ## CVE 选项 - `--cve`: - 启用 `periodic` 模式的快捷方式,除非显式设置了 `--cve-mode` - `--cve-mode {off,cache,periodic,live}` - `--cve-filter FILTER` - 接受的形式: - 仅范围:`remote` 或 `broad` - 范围 + 服务:`remote:http,ssh` - 仅服务:`http,ssh` - `--cve-refresh HOURS` - `0` 表示在 `periodic` 模式下每次运行都刷新 - `--cve-cache-file PATH` - `--update-cve` NVD API 密钥从环境变量中读取: - `NVD_API_KEY` 示例: ``` # 通过快捷键启用定期模式 python netprobe.py target.example --cve # 带 scope+service 过滤的 Live 模式 python netprobe.py target.example --cve-mode live --cve-filter remote:http,ssh # 强制将缓存刷新到自定义文件 python netprobe.py target.example --update-cve --cve-cache-file .cache/custom_cve.json ``` ## IPv6 支持 (当前行为) - IPv6 在解析和扫描路径中完全受支持。 - 接受的 IPv6 目标输入形式: - 原始字面量:`2001:db8::1` - 带括号字面量:`[2001:db8::1]` - 当 A 和 AAAA 记录同时存在时,默认协议族偏好为 IPv4 优先。 - 使用 `--prefer-ipv6` 以优先选择 AAAA 候选地址。 - 如果设置了 `--prefer-ipv6` 但主机没有 IPv6 地址,解析将快速失败并给出明确错误。 - 解析器在扫描阶段之前使用轻量级可达性探测来选择可用的候选地址。 常用 IPv6 示例: ``` python netprobe.py 2001:db8::20 python netprobe.py [2001:db8::20] -sU -p 53,123,161 python netprobe.py dualstack.example --prefer-ipv6 -sT -sU -p common ``` ## 指纹识别说明 当前的指纹识别/探测包括: - Web/服务产品提取(服务器标头和 Banner 模式) - SSH/HTTP/TLS/Telnet/FTP 检查 - DNS, SNMP, NTP 协议感知探测 - SMB 探测,包含 SMB 代数/方言提示,并在可检测时标记 Samba - 针对 MySQL, PostgreSQL, MSSQL, Oracle, MongoDB 的数据库探测/提示 - 回退显示规则确保 VERSION 列保持有用: - 产品 + 编号 -> `Product x.y` - 仅产品 -> `Product` - 仅编号 -> `service x.y` - 无信息 -> 空白 ## 漏洞 / 建议模型 - 发现结果分为以下类型: - `vulnerability` (漏洞) - `advisory` (建议) - 严重性已归一化并去重。 - 终端摘要分别打印漏洞/建议计数。 - LOW (低危) 漏洞保留用于 CVE 关联发现结果。 - 过时版本逻辑通过指纹数据库规则驱动: - 服务基线 - HTTP 产品基线 - 服务-产品基线(例如 Samba, Postfix, Exim, Dovecot, Courier, Cyrus) ## 多目标报告 输入可以是位置参数目标 and/or `-iL` 文件条目。 使用 `-o` 且有多个目标时: - `aggregate`:一个合并报告 - `individual`:每个目标一个报告 - `both`:合并报告 + 每个目标的报告 ## 测试 依赖项仅用于测试/开发工作流: ``` pip install -r requirements.txt ``` 运行测试: ``` pytest -q ``` ## 已知限制 - UDP 扫描是概率性的(在某些情况下预期会出现 `open|filtered`)。 - SYN 扫描行为取决于 OS 权限和路径/网络行为。 - 服务和版本检测是尽力而为的,并取决于远程响应。 ## 免责声明 请仅在你拥有或明确获得授权测试的系统上使用 NetProbe。
标签:C2日志可视化, CVE关联, Facebook API, GPT, Groq, Homebrew安装, Linux安全, Python, SYN扫描, TCP扫描, URL短链接分析, 二进制发布, 云存储安全, 协议分析, 反取证, 域名解析, 安全规则引擎, 安全评估, 密码管理, 开源工具, 报告生成, 指纹识别, 插件系统, 操作系统识别, 数据统计, 无后门, 服务探测, 权限提升, 漏洞管理, 端口扫描, 网络安全, 网络扫描, 自然语言处理, 逆向工具, 防御绕过, 隐私保护