Rehana196/Advanced-Port-Scanner
GitHub: Rehana196/Advanced-Port-Scanner
一款带有赛博朋克 GUI 的 Python 多线程端口扫描器,支持服务检测、操作系统启发式分析和报告导出,面向教育和授权安全测试场景。
Stars: 0 | Forks: 0
# 高级端口扫描器
一款使用 Python 编写的专业、模块化、多线程端口扫描器,配备高端的“暗黑黑客”霓虹赛博朋克风格 GUI。它具备高级 banner 抓取、服务检测、操作系统启发式分析以及报告导出功能。
## 架构与项目结构
该项目遵循标准软件工程模式进行模块化构建:
```
Advanced-Port-Scanner/
│
├── main.py # Application entry point
├── gui.py # Tkinter application UI (Dark Hacker Theme)
├── scanner.py # Multi-threaded TCP/UDP scanning engines
├── banner.py # Custom network banner grabber
├── service_detection.py # Banner regex matching and service discovery
├── os_detection.py # TTL and banner OS heuristic classifier
├── export.py # Export module (JSON, CSV, TXT)
├── logger.py # Scan history management (JSON logs)
├── utils.py # Hostname resolvers, IP validators, configuration tools
├── config.py # Styling parameters and common network configurations
└── requirements.txt # Project dependencies
```
## 功能特性
- **交互式赛博朋克 UI**:使用标准 `tkinter.ttk` 实现流畅的霓虹元素(无需外部样式引擎)。
- **多线程扫描 Pipeline**:支持并发扫描数百个端口。
- **服务版本检测**:连接并分析服务 banner(例如 Apache、SSH、nginx 版本提取)。
- **启发式操作系统分析**:通过解析 banner 中的签名匹配并分析网络 TTL 参数来检测目标操作系统。
- **扫描历史日志**:记录之前的扫描,方便您在日志仪表板中查看。
- **通用导出器**:一键快速生成 JSON、CSV 或人类可读的 TXT 安全报告。
## 快速开始
### 前置条件
- Python 3.8 或更高版本。
- 使用标准库(`tkinter`、`socket`、`threading` 等)。如果您使用的是 Linux,可能需要安装 Tkinter 包(例如 `sudo apt-get install python3-tk`)。
### 运行应用
使用以下命令执行应用:
```
python main.py
```
### 用法说明
1. 输入您的目标 IP 或主机名(例如 `127.0.0.1` 或 `scanme.nmap.org`)。
2. 提供端口列表或范围(例如 `21-80,443`)。或者,输入 `common` 以查询 `config.py` 中配置的常用 TCP/UDP 服务列表。
3. 选择您的协议(TCP、UDP 或两者兼顾)并指定要分配的线程数。
4. 按 **INITIATE SCAN**。
5. 扫描完成后,在右下角选择您偏好的格式以导出报告,或者在 **[ SCAN LOGS & HISTORY ]**(扫描日志与历史)选项卡中查看您过往的日志。
标签:Python, 云存储安全, 图形化界面, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 网络扫描, 逆向工具, 隐私保护