asif-visionary/vulnerability-scanner
GitHub: asif-visionary/vulnerability-scanner
基于 Python 和 Nmap 的网络漏洞扫描器,通过端口扫描、Banner 抓取、操作系统检测和 NSE 漏洞脚本来识别联网系统中的潜在安全风险。
Stars: 1 | Forks: 0
# 🔍 漏洞扫描器
一个基于 Python 的网络漏洞扫描器,旨在通过端口扫描、Banner 抓取、服务枚举、操作系统检测以及使用 Nmap 进行漏洞评估,来识别联网系统中的潜在安全风险。
本项目演示了基本的网络安全概念,包括侦察、漏洞评估、网络枚举和安全扫描实践。
## 📌 功能
### 端口扫描
* 扫描指定范围的 TCP 端口
* 识别目标主机上的开放端口
* 快速了解暴露的服务
### Banner 抓取
* 连接到开放端口
* 在可用时获取服务 Banner
* 帮助识别正在运行的应用程序和服务版本
### 服务枚举
* 检测活动的网络服务
* 辅助识别暴露的应用程序
### 操作系统检测
* 使用 Nmap 操作系统指纹识别
* 尝试识别目标操作系统
### 漏洞评估
* 使用 Nmap NSE 漏洞脚本
* 在受支持的情况下检测已知漏洞
* 为暴露的服务提供额外的安全洞察
### 扫描性能跟踪
* 测量扫描的开始和结束时间
* 显示总扫描持续时间
## 🛡️ 演示的安全概念
本项目演示了以下几个网络安全概念:
* 网络侦察
* 端口扫描
* 服务枚举
* Banner 抓取
* 操作系统指纹识别
* 漏洞评估
* 攻击面发现
* 安全审计
* Nmap 脚本引擎 (NSE)
* 网络安全基础
## ⚙️ 使用的技术
* Python 3.x
* Socket 编程
* Nmap
* python-nmap
* Datetime 模块
* Git & GitHub
## 📂 项目结构
```
vulnerability-scanner/
│
├── app.py
├── README.md
├── requirements.txt
├── .gitignore
├── LICENSE
│
└── screenshots/
└── demo.png
```
## 🚀 安装说明
### 克隆仓库
```
git clone https://github.com/asif-visionary/vulnerability-scanner.git
cd vulnerability-scanner
```
### 创建虚拟环境
#### Windows
```
python -m venv .venv
```
激活:
```
.venv\Scripts\activate
```
#### Linux / macOS
```
python3 -m venv .venv
```
激活:
```
source .venv/bin/activate
```
### 安装依赖项
```
pip install -r requirements.txt
```
## 📖 Nmap 安装
本项目需要您的系统安装 Nmap。
### Windows
下载并安装 Nmap:
https://nmap.org/download.html
验证安装:
```
nmap --version
```
### Linux
```
sudo apt update
sudo apt install nmap
```
验证:
```
nmap --version
```
## 安装依赖项
```
pip install -r requirements.txt
```
## ▶️ 运行应用程序
```
python app.py
```
示例:
```
Enter the target IP or Hostname: scanme.nmap.org
Enter the starting port for scanning: 20
Enter the ending port for scanning: 100
```
## 🧪 示例输出
```
Starting network scan for target: scanme.nmap.org...
Open ports found: [22, 80]
Banner for scanme.nmap.org:22
SSH Service Detected
Banner for scanme.nmap.org:80
HTTP Service Detected
Operating System:
Linux
Scan completed in:
0:00:15.234567
```
## 🔒 工作原理
扫描器执行以下步骤:
1. 扫描指定的端口范围。
2. 识别开放端口。
3. 尝试对检测到的服务进行 Banner 抓取。
4. 使用 Nmap 执行服务和操作系统检测。
5. 执行 Nmap 漏洞脚本。
6. 显示扫描结果和执行时间。
## 🎯 学习成果
通过本项目,用户可以学习到:
* 网络扫描技术
* TCP 端口枚举
* 服务发现
* Banner 抓取方法
* 操作系统指纹识别
* 漏洞检测
* 使用 Python 实现 Nmap 自动化
* 网络安全评估基础
* 安全的网络审计实践
## 🔮 未来改进
未来可能的改进:
* 多线程端口扫描
* 基于 Web 的仪表板
* PDF 报告生成
* 将结果导出为 JSON/CSV
* CVE 映射集成
* 风险评分系统
* 扫描历史跟踪
* 自动化的修复建议
## ⚠️ 免责声明
本项目仅供教育目的和授权的安全测试使用。
在扫描、测试或评估任何网络、系统或服务之前,用户必须获得明确的许可。
未经授权的扫描可能会违反当地法律、组织政策或服务协议。
对于因使用本软件而导致的误用、损害或法律后果,作者不承担任何责任。
请始终以负责任和符合道德规范的方式进行安全测试。
## 📄 许可证
本项目基于 MIT 许可证授权。
## 👨💻 作者
Mohamed Asif
网络安全爱好者 | SOC | 云安全 | 应用安全
标签:CTI, Nmap, Python, 加密, 插件系统, 数据统计, 无后门, 漏洞扫描器, 端口扫描, 网络安全, 虚拟驱动器, 隐私保护