Manjeetkumarr/vulnerability-scanner

GitHub: Manjeetkumarr/vulnerability-scanner

基于Python的网络安全漏洞扫描器,快速发现安全漏洞。

Stars: 1 | Forks: 0

# 漏洞扫描器 一个基于Python的网络安全漏洞扫描器,旨在执行网络侦察、服务枚举、网络安全分析和漏洞评估。该项目集成了多种安全技术,包括端口扫描、Nmap服务检测、Web安全头分析以及Nikto漏洞扫描。 本项目的首要目标是帮助识别网络主机和Web应用程序中的潜在安全弱点,同时提供结构化日志和报告以供分析。 ## 功能 ### 1. 端口扫描 * 扫描目标主机的TCP端口。 * 检测开放端口。 * 帮助识别暴露的服务。 * 使用Python套接字编程。 ### 2. Nmap服务检测 * 使用Python集成Nmap。 * 检测运行中的服务。 * 执行服务枚举。 * 识别服务名称和版本。 ### 3. Web安全头分析 检查关键安全头: * X-Frame-Options * 内容安全策略 (CSP) * 严格传输安全 (HSTS) * X-Content-Type-Options 识别可能增加攻击面的缺失安全控制。 ### 4. Nikto漏洞扫描 * 执行Web漏洞评估。 * 检测配置错误。 * 识别危险文件。 * 检测过时的软件版本。 * 发现常见的安全弱点。 ### 5. 日志系统 将扫描活动存储在: ``` logs/scanner.log ``` 包括: * 扫描开始时间 * 扫描完成时间 * 开放端口 * 检测到的服务 * 缺失的安全头 * 扫描失败 ### 6. 报告系统 将发现存储在: ``` reports/report.txt ``` 包括: * 开放端口 * 检测到的服务 * 缺失的安全头 * Nikto扫描执行详情 * 安全观察 ## 使用的技术 ### 编程语言 * Python 3 ### 安全工具 * Nmap * Nikto ### Python库 * socket * requests * python-nmap * logging * subprocess * datetime ### 操作系统 * Kali Linux ## 项目结构 ``` VulnerabilityScanner/ │ ├── logs/ │ └── scanner.log │ ├── reports/ │ └── report.txt │ ├── scanner/ │ ├── logger.py │ ├── nikto_scanner.py │ ├── nmap_scanner.py │ ├── port_scanner.py │ ├── report_generator.py │ └── web_scanner.py │ ├── main.py │ └── README.md ``` ## 安装 ### 克隆仓库 ``` git clone https://github.com/Manjeetkumarr/VulnerabilityScanner.git cd VulnerabilityScanner ``` ### 创建虚拟环境 ``` python3 -m venv venv ``` ### 激活环境 Linux: ``` source venv/bin/activate ``` Windows: ``` venv\Scripts\activate ``` ### 安装依赖项 ``` pip install python-nmap requests colorama ``` ### 安装安全工具 Kali Linux: ``` sudo apt update sudo apt install nmap nikto -y ``` ## 运行项目 ``` python3 main.py ``` ## 菜单选项 ``` 1. Port Scan 2. Nmap Service Scan 3. Web Security Header Scan 4. Nikto Scan 5. Clear Report 6. Exit ``` ## 工作流程示例 ### 端口扫描 输入: ``` 192.168.1.10 ``` 输出: ``` [OPEN] Port 22 [OPEN] Port 80 ``` ### Nmap扫描 输出: ``` Port 22 -> ssh Port 80 -> http ``` ### 头扫描 输出: ``` [MISSING] Content-Security-Policy [MISSING] Strict-Transport-Security ``` ## 日志示例 ``` 2026-05-30 21:10:12 - Port Scan Started 2026-05-30 21:10:14 - Open Port Found: 80 2026-05-30 21:10:18 - Port Scan Completed ``` ## 报告示例 ``` ============================================================ Time : 2026-05-30 21:10:18 Scan Type : Port Scan Target : 192.168.1.10 Finding : Port 80 OPEN ============================================================ ``` ## 使用的网络安全概念 ### 侦察 * 目标发现 * 信息收集 ### 枚举 * 服务识别 * 标识抓取 ### 漏洞评估 * 安全头分析 * Nikto扫描 ### 报告 * 安全文档 * 发现管理 ## 未来改进 ### 未来版本中可以添加的一些功能包括: * CVE检测 * SSL/TLS安全分析 * DNS枚举 * WHOIS查找 * PDF报告生成 * 基于AI的安全建议 * 多线程端口扫描 * 图形用户界面 (GUI) 仪表板 * 数据库集成 ## 学习成果 本项目展示了以下理解: * 网络安全 * 套接字编程 * 服务枚举 * 漏洞评估 * 安全报告 * Linux环境 * 网络安全工具集成 ## 免责声明 本项目仅用于教育和授权安全测试目的。仅扫描您拥有或明确授权评估的系统。未经授权扫描第三方系统可能违反法律、法规或组织政策。 ### 反馈 欢迎贡献、建议和反馈。请随意打开问题或提交拉取请求。 ## 关于开发者 **Manjeet Kumar**
网络安全工程学生 ## 许可证 本项目采用MIT许可证。有关详细信息,请参阅LICENSE文件。
标签:CTI, datetime, ETW劫持, logging, Nikto, Nmap, python-nmap, Python开发, requests, socket, subprocess, Web安全, 安全头部分析, 数据统计, 日志记录, 服务枚举, 本地模型, 端口扫描, 网络安全, 蓝队分析, 虚拟驱动器, 逆向工具, 隐私保护