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文件。
网络安全工程学生 ## 许可证 本项目采用MIT许可证。有关详细信息,请参阅LICENSE文件。
标签:CTI, datetime, ETW劫持, logging, Nikto, Nmap, python-nmap, Python开发, requests, socket, subprocess, Web安全, 安全头部分析, 数据统计, 日志记录, 服务枚举, 本地模型, 端口扫描, 网络安全, 蓝队分析, 虚拟驱动器, 逆向工具, 隐私保护