jonathanrodrigues15287/cybersecurity_vulnerability_scanner

GitHub: jonathanrodrigues15287/cybersecurity_vulnerability_scanner

一款基于 Python 的网络安全漏洞扫描工具。

Stars: 0 | Forks: 0

# 网络安全漏洞扫描器 一个基于 Python 的网络漏洞扫描器,执行端口扫描、服务指纹识别、banner 抓取和 CVE 匹配的漏洞分析。 ## 功能 - **多线程端口扫描** — 可配置线程数的快速并发扫描 - **双栈支持** — 完全的 IPv4 和 IPv6 扫描能力 - **服务指纹识别** — 基于多阶段探测的 banner 抓取,以实现准确的服务检测 - **漏洞分析** — 自动 CVE 匹配、过时软件检测和弱配置识别 - **风险评分** — 基于 CVSS 评分的聚合风险评估(关键/高/中/低/信息) - **多种报告格式** — 文本、CSV、JSON 和 HTML 报告 - **HTML 报告** — 自包含的暗色主题报告,包含风险分布图 - **CLI & 交互模式** — 完整的命令行界面和交互式菜单 ## 安装 **要求:** Python 3.8+ ``` # 克隆或下载项目 cd cybersecurity_vulnerability_scanner # 无需外部依赖 — 仅使用 Python 标准库 ``` ## 使用 ### 命令行界面 ``` # 基本扫描(前 1024 个端口,文本报告) python main.py -t 192.168.1.1 # 使用 HTML 输出扫描特定端口范围 python main.py -t 192.168.1.1 -p 80-443 -o html # 完整扫描,JSON 输出,自定义超时和线程 python main.py -t 10.0.0.1 -p 1-65535 -o json --timeout 2.0 --threads 200 # 使用详细日志扫描 python main.py -t scanme.nmap.org -p 1-1024 -v # IPv6 目标 python main.py -t ::1 -p 1-1024 -o csv ``` ### 交互式菜单 ``` # 无参数启动以使用交互式菜单 python main.py ``` 交互式菜单提供了针对目标、端口范围、输出格式和扫描速度配置文件的引导选项。 ### CLI 选项 | 标志 | 描述 | 默认值 | |------|-------------|---------| | `-t, --target` | 目标 IP 地址或主机名 | _(必需)_ | | `-p, --ports` | 端口范围(例如,`1-1024`) | `1-1024` | | `-o, --output` | 输出格式:`text`、`csv`、`json`、`html` | `text` | | `--timeout` | 套接字超时(秒) | `1.0` | | `--threads` | 最大并发扫描线程数 | `100` | | `-v, --verbose` | 启用调试级别日志 | `false` | ## 报告格式 | 格式 | 描述 | 适用于 | |--------|-------------|----------| | **文本** | 可读性高,包含摘要和风险分布 | 快速查看 | | **CSV** | 带有漏洞列的表格数据 | 电子表格分析 | | **JSON** | 结构化数据,包含完整元数据 | CI/CD 集成、API | | **HTML** | 带有图表的暗色主题视觉报告 | 利益相关者演示 | 报告保存到 `data/scan_results/`。 ## 项目结构 ``` cybersecurity_vulnerability_scanner/ ├── main.py # Entry point ├── core/ │ ├── scanner.py # Main Scanner class with threading │ ├── port_checker.py # TCP port checking │ ├── service_detector.py # Multi-stage service fingerprinting │ └── vulnerability_engine.py # CVE matching, risk scoring, weak config detection ├── reports/ │ ├── text_report.py # Text report generator │ ├── csv_report.py # CSV report generator │ ├── json_report.py # JSON report generator │ └── html_report.py # HTML report generator ├── ui/ │ ├── cli.py # Argument parser │ └── menu.py # Interactive menu ├── utils/ │ ├── validators.py # IP validation and hostname resolution │ └── constants.py # Common ports and defaults ├── data/ │ ├── cve_db.json # Local CVE database (25 entries) │ └── scan_results/ # Generated reports ├── tests/ │ ├── test_scanner.py │ ├── test_validator.py │ ├── test_vulnerability_engine.py │ └── test_reports.py ├── requirements.txt └── README.md ``` ## 运行测试 ``` # 运行所有测试 python -m pytest tests/ -v # 运行特定测试模块 python -m pytest tests/test_vulnerability_engine.py -v # 使用 unittest python -m unittest discover tests/ ``` ## ⚠️ 声明 本工具仅用于 **授权的安全测试和教育目的**。未经明确许可扫描网络或系统在大多数司法管辖区是非法的。在扫描任何目标之前,请始终获得适当的授权。作者不对误用承担责任。
标签:CSV报告, CVE匹配, HTML报告, IPv4, IPv6, JSON报告, PowerShell, Python, Qt框架, 交互式菜单, 命令行界面, 数据统计, 无后门, 服务识别, 端口扫描, 网络安全, 逆向工具, 隐私保护, 风险评分