Dhesshwin-B-G/vulnerabilty_scanner
GitHub: Dhesshwin-B-G/vulnerabilty_scanner
一款基于 Python 的轻量级网络漏洞扫描器,通过扫描 TCP 开放端口、识别服务并比对本漏洞数据库来评估安全风险,最终生成文本格式的扫描报告。
Stars: 0 | Forks: 0
# 漏洞扫描器
## 概述
漏洞扫描器是一个基于 Python 的网络安全工具,旨在识别开放端口、检测常见服务、分析潜在的安全风险,并生成详细的漏洞报告。
开发此项目是为了理解基本的网络安全概念,如端口扫描、服务检测、漏洞评估和报告生成。
## 功能
- 扫描目标主机的 TCP 端口
- 识别常见的网络服务
- 使用漏洞数据库分析服务风险
- 生成详细的扫描报告
- 将结果保存到文本文件中
- 模块化且易于理解的架构
## 项目结构
```
vulnerability_scanner/
│
├── main.py
│
├── scanner/
│ ├── port_scanner.py
│ ├── service_detector.py
│ └── risk_analyser.py
│
├── database/
│ └── vulnerability.json
│
├── report/
│ └── report_generator.py
│
├── output/
│ └── scan_report.txt
│
└── test_files/
├── test_port.py
├── test_service.py
├── test_risk.py
└── test_report.py
```
## 使用的技术
- Python 3
- Socket 编程
- JSON
- 文件处理
## 工作原理
### 1. 端口扫描
扫描器检查目标系统上的一系列 TCP 端口,并识别开放的端口。
示例:
```
Port 22 → Open
Port 80 → Open
```
### 2. 服务检测
扫描器将开放端口映射到已知的服务。
示例:
```
22 → SSH
80 → HTTP
443 → HTTPS
3306 → MySQL
```
### 3. 风险分析
将检测到的服务与漏洞数据库进行比较。
示例:
```
SSH → Medium Risk
FTP → High Risk
MySQL → High Risk
```
### 4. 报告生成
最终结果将保存至:
```
output/scan_report.txt
```
## 安装说明
克隆或下载该项目。
确保已安装 Python:
```
python --version
```
## 运行扫描器
执行:
```
python main.py
```
出现提示时,输入目标 IP 地址或域名。
示例:
```
Enter target IP or domain: 127.0.0.1
```
## 示例输出
```
==================================================
VULNERABILITY SCANNER
==================================================
Enter target IP or domain: 127.0.0.1
[*] Scanning ports...
[OPEN] Port 135
[OPEN] Port 445
[*] Detecting services and analysing risks...
Port: 135
Service: Unknown Service
Risk: Unknown
Port: 445
Service: Unknown Service
Risk: Unknown
[+] Report saved to output/scan_report.txt
```
## 示例报告
```
==================================================
VULNERABILITY SCAN REPORT
==================================================
Target: 127.0.0.1
Port: 135
Service: Unknown Service
Risk: Unknown
Description: Service could not be identified.
--------------------------------------------------
```
## 涉及的网络安全概念
- TCP/IP 网络
- 端口扫描
- Socket 编程
- 服务枚举
- 漏洞评估
- 风险分级
- 报告生成
## 局限性
- 使用基于端口的服务检测
- 不执行高级 banner grabbing
- 使用本地漏洞数据库
- 仅扫描 TCP 端口
- 不执行真实的 CVE 查询
- 对于大范围端口,顺序扫描可能会比较慢
## 未来增强功能
- 多线程扫描
- 用于版本检测的 banner grabbing
- 集成 CVE 数据库
- 生成 PDF 报告
- GUI 界面
- 实时漏洞源
- 严重程度颜色标识
## 学习成果
通过这个项目,我们探索了以下网络安全概念:
- 使用 socket 进行网络通信
- 开放端口识别
- 服务检测技术
- 漏洞评估基础
- JSON 数据管理
- 安全报告生成
## 作者
Dhesshwin B G
网络安全实习项目
基于 Python 的漏洞扫描器
标签:Homebrew安装, Python, URL短链接分析, 加密, 插件系统, 数据统计, 无后门, 服务探测, 漏洞扫描器, 端口扫描, 网络安全, 隐私保护