Akashnukathoti-1104/Port-Scanner
GitHub: Akashnukathoti-1104/Port-Scanner
NetScan Pro 是一款基于 Flask 的全栈 Web 端口扫描器,支持多线程扫描、服务检测、漏洞风险评估和报告导出。
Stars: 0 | Forks: 0
# ⚡ NetScan Pro — 高级端口扫描器
**Codtech IT Solutions | 网络安全与道德黑客实习**
| 字段 | 详情 |
|---|---|
| **实习生姓名** | Nukathoti Akash |
| **实习生 ID** | CITS2003 |
| **学院** | Bapatla Engineering College |
| **领域** | 网络安全与道德黑客 |
| **实习周数** | 6 周 (2026年5月26日 – 2026年7月7日) |
| **项目名称** | 高级端口扫描器 (Web App) |
| **项目范围** | 具有多线程、banner grabbing、漏洞分析以及 JSON/CSV 报告导出功能的全栈 Web 端口扫描器 |
| **任务** | 任务 3 |
## 📌 项目概述
NetScan Pro 是一款基于 Web 的高级端口扫描器,采用 Python (Flask) 和自定义暗色主题 UI 构建。它支持多线程 TCP 端口扫描,具备服务检测、banner grabbing 以及跨 30 多个已知风险端口的自动化漏洞风险评估功能。
这是一款可投入生产环境的工具,已实时部署在 Render 上,可通过浏览器访问 —— 无需安装 CLI。
## 🚀 在线演示
## ✨ 功能特性
| 特性 | 描述 |
|---|---|
| 🔍 **多线程 TCP 扫描** | 最多 300 个并发线程,实现快速扫描 |
| 🏷️ **Banner Grabbing** | 检索服务版本 banner (SSH、HTTP、FTP、Redis、SMTP 等) |
| ⚠️ **漏洞分析** | 标记 30 多个危险端口,提供 CVE 参考和风险等级 |
| 📊 **风险可视化** | 颜色编码的风险分布条 (Critical → Info) |
| 📁 **导出报告** | 将结果下载为 JSON 或 CSV |
| 🎯 **灵活的端口选择** | 前 100 预设 / Well-known (1–1024) / 自定义端口范围 |
| 🌐 **Web UI** | 简洁的暗色主题界面,无需安装 |
| ⚙️ **可配置** | 通过 UI 滑块调整线程数和 socket 超时时间 |
## 🛠️ 技术栈
- **后端:** Python 3.11, Flask 3.0
- **前端:** HTML5, CSS3, Vanilla JavaScript
- **扫描:** Python `socket` 模块 (仅使用标准库,无需 nmap)
- **部署:** Render (gunicorn WSGI)
## 📂 项目结构
```
port-scanner/
├── app.py # Flask backend — scanning engine
├── templates/
│ └── index.html # Full frontend (single file)
├── requirements.txt # Python dependencies
├── render.yaml # Render deployment config
├── Procfile # WSGI process definition
└── README.md # This file
```
## ⚙️ 本地设置
```
# Clone repo
git clone https://github.com/YOUR_USERNAME/port-scanner.git
cd port-scanner
# 安装 dependencies
pip install -r requirements.txt
# 运行 app
python app.py
# 在 browser 中打开
# http://localhost:5000
```
## ☁️ 在 Render 上部署
### 操作步骤:
1. **将此代码库推送到 GitHub**
2. 访问 [render.com](https://render.com) → New → **Web Service**
3. 连接你的 GitHub 代码库
4. 设置以下值:
- **Build Command:** `pip install -r requirements.txt`
- **Start Command:** `gunicorn app:app --workers 4 --bind 0.0.0.0:$PORT --timeout 120`
- **Python Version:** `3.11`
5. 点击 **Deploy** —— 大约 2 分钟后即可上线!
## 🖥️ 截图
| 视图 | 截图 |
|---|---|
| 扫描器 UI | *(截图)* |
| 扫描结果 | *(截图)* |
| 风险分析 | *(截图)* |
| JSON 导出 | *(截图)* |
## 🔐 道德使用声明
## 📊 漏洞覆盖范围
扫描器提供以下风险等级的安全提示:
| 等级 | 描述 | 示例端口 |
|---|---|---|
| 🔴 Critical | 即时漏洞利用风险 | Redis (6379), MongoDB (27017), RDP (3389), SMB (445) |
| 🟠 High | 严重的配置错误 | VNC (5900), Jupyter (8888), Telnet (23) |
| 🟡 Medium | 常见薄弱点 | SMTP (25), MySQL (3306), SNMP (161) |
| 🔵 Info | 最佳实践提醒 | SSH (22), HTTPS (443), DNS (53) |
## 👨💻 作者
**Nukathoti Akash**
实习生 ID: CITS2003
B.Tech CSE | Bapatla Engineering College
Codtech IT Solutions — 网络安全与道德黑客实习
持续时间: 6 周 | 2026年5月26日 – 2026年7月7日
标签:Flask, Python, 后端开发, 插件系统, 数据可视化, 数据统计, 无后门, 端口扫描, 网络安全, 逆向工具, 隐私保护