Varun50151/Network-Scanner
GitHub: Varun50151/Network-Scanner
一款使用 Python 实现的带多线程端口扫描、横幅抓取、漏洞检测与邮件报告的网络安全工具。
Stars: 0 | Forks: 0
# 🛡️ 网络安全扫描器
一个使用 Python 构建的高性能、多线程网络安全工具 — 具备主机发现、端口扫描、横幅抓取、操作系统指纹识别、漏洞检测和自动电子邮件报告功能。
## ⚡ 性能亮点
## 🔧 功能特性
- **主机发现** — 使用 Scapy 在网络范围内进行基于 ARP 的主机存活检测
- **多线程端口扫描** — 在任意端口范围内并发执行 TCP 端口扫描
- **横幅抓取** — 从开放端口获取服务横幅以识别运行中的服务
- **漏洞扫描** — 通过 Nmap 脚本引擎(`--script=vuln`)进行操作系统指纹识别和 CVE 检测
- **自动电子邮件报告** — 通过 SMTP(Gmail)直接向收件箱发送结构化扫描报告
- **CLI 菜单界面** — 使用 colorama 增强的终端 UI,具备模块化架构
## 📋 扫描报告输出
每次完整网络扫描会生成结构化报告,包含:
- 开放端口及服务识别信息
- 每个端口的横幅信息
- 检测到的主机名
- 操作系统名称、家族及识别准确率
- 漏洞发现结果
- 扫描时长和时间戳
## 🗂️ 项目结构
```
network-scanner/
│
├── scanner.py # Main CLI application & core scanning logic
├── Email_sender.py # SMTP email reporting module
├── Host_scanner.py # ARP-based host discovery module
├── message.txt # Default email message template
├── password.txt # ⚠️ NOT included — see setup instructions
├── .gitignore # Excludes sensitive files from version control
└── README.md
```
## 🚀 快速开始
### 前置条件
```
pip install python-nmap scapy colorama
```
### 设置 — 电子邮件报告
1. 在项目根目录创建 `password.txt` 文件(该文件已加入 .gitignore):
```
your_gmail_app_password_here
```
2. 在 https://myaccount.google.com/apppasswords 生成 Gmail 应用密码
3. 如有需要,请在 `Email_sender.py` 中更新发件人邮箱
### 运行
```
python scanner.py
```
系统会提示输入邮箱,然后从以下选项中选择:
```
1. Host Discovery
2. Port Scan
3. Full Network Scan
4. Exit
```
## 🧠 工作原理
### 多线程端口扫描器
```
with ThreadPoolExecutor(max_workers=100) as executor:
futures = [executor.submit(single_port_scan, target, port)
for port in range(start_port, end_port + 1)]
```
所有端口作为并发任务提交到线程池。通过 Future 机制收集结果,消除传统单线程扫描器的顺序等待时间。
### 漏洞检测
使用 Nmap 参数 `-O -sV --script=vuln` 执行:
- 带准确率百分比的 OS 检测
- 服务版本识别
- 已知 CVE 漏洞匹配
## ⚠️ 免责声明
本工具仅限**教育用途和授权网络测试**。在未获得明确许可的情况下扫描网络或系统属于非法且不道德的行为。请始终确保在扫描任何目标前获得书面授权。
## 🛠️ 使用技术
| 库 | 用途 |
| --- | --- |
| `python-nmap` | 端口扫描、OS 识别、漏洞脚本 |
| `scapy` | 基于 ARP 的主机发现 |
| `socket` | 原始 TCP 连接与横幅抓取 |
| `concurrent.futures` | 多线程执行(ThreadPoolExecutor) |
| `smtplib` | SMTP 邮件投递 |
| `colorama` | 终端颜色格式化 |
| `datetime` | 扫描时间戳与时长追踪 |
## 👤 作者
**Varun Ramesh**
- GitHub:[@Varun50151](https://github.com/Varun50151)
- LinkedIn:[linkedin.com/in/varun-ramesh-8b4314290](https://linkedin.com/in/varun-ramesh-8b4314290)
标签:ARP发现, Banner抓取, Claude, CLI界面, Colorama, CVE检测, DNS枚举, Facebook API, Gmail, Nmap, OS指纹识别, Python, Qt框架, Scapy, SEO: Python端口扫描器, SEO: 多线程扫描, SEO: 漏洞扫描器, SEO: 网络安全工具, SMTP, 云存储安全, 反取证, 威胁情报, 安全评估, 开发者工具, 开源安全工具, 性能优化, 数据泄露防护, 数据统计, 无后门, 服务识别, 检测绕过, 端口扫描, 结构化报告, 网络安全工具, 网络扫描, 网络探测, 自动化邮件报告, 虚拟驱动器, 逆向工具, 逆向工程平台, 高并发