hariharasabarishcyber123/Port-Scanner
GitHub: hariharasabarishcyber123/Port-Scanner
一款使用 Python Flask 和 JavaScript 构建的 Web 端口扫描工具,提供实时流式结果展示与多线程扫描能力。
Stars: 0 | Forks: 0
# PortScan — Python 端口扫描器 Web 应用
一款使用 Python (Flask) 和原生 JavaScript 构建的专业、实时端口扫描器 Web 应用程序。
## 项目结构
```
port_scanner/
├── app.py # Flask application & routes
├── scanner.py # Core scanning engine (multi-threaded)
├── requirements.txt # Python dependencies
├── utils/
│ ├── __init__.py
│ └── service_map.py # Port → Service name mapping
├── templates/
│ └── index.html # Main HTML template
└── static/
├── css/
│ └── style.css # Dark cybersecurity theme
└── js/
└── app.js # Frontend logic (SSE streaming)
```
## 功能特性
- 通过 Server-Sent Events (SSE) 实时流式传输结果
- 多线程扫描(最多 200 个线程)
- 对 60 个以上的已知端口进行服务名称检测
- 针对 HTTP 服务的 Banner 抓取
- 主机名解析
- 过滤结果:全部 / 开放 / 关闭
- 搜索/过滤端口和服务
- 将结果导出为 CSV
- 快速预设(Top 100、常用端口、Web、开发)
- 可随时中止扫描
## 安装与运行
### 1. 安装依赖
```
pip install -r requirements.txt
```
### 2. 运行应用
```
python app.py
```
### 3. 在浏览器中打开
```
http://localhost:5000
```
## 使用说明
1. 输入目标 IP 地址(例如 `127.0.0.1`)或主机名
2. 设置端口范围(默认:1–1024)
3. 如有需要,调整线程数和超时时间
4. 点击 **启动扫描**
5. 实时查看流式返回的结果
6. 完成后将结果导出为 CSV
## ⚠️ 法律警告
请仅扫描您拥有或获得**明确书面授权**的系统。
未经授权的端口扫描在您所在的司法管辖区可能是违法的。
本工具仅供**教育目的**使用。
## 技术栈
- **后端**:Python 3、Flask、socket、threading
- **前端**:HTML5、CSS3、原生 JavaScript
- **数据流**:Server-Sent Events (SSE)
- **字体**:JetBrains Mono、Rajdhani (Google Fonts)
标签:Banner Grabbing, Banner抓取, CMS安全, CSS3, DNS枚举, Flask, HTML5, HTTP服务, JavaScript, Python, Server-Sent Events, Socket编程, SSE, URL短链接分析, 实时扫描, 插件系统, 教育项目, 数据可视化, 数据统计, 无后门, 服务探测, 漏洞扫描辅助, 白盒扫描, 端口扫描, 端口服务映射, 网络安全, 网络安全审计, 网络安全工具, 网络安全靶场, 逆向工具, 隐私保护