wjhcd145/ReconPort
GitHub: wjhcd145/ReconPort
一款基于 PyQt5 和自研 asyncio 引擎的图形化端口扫描与网络侦查工具,专为安全测试场景提供无需 nmap 依赖的快速端口探测和服务指纹识别能力。
Stars: 0 | Forks: 0
# 🔌 ReconPort
### 专为 Kali Linux 设计的专业端口扫描与网络侦查工具

[](https://www.python.org/)
[](https://www.riverbankcomputing.com/software/pyqt/)
[](https://www.kali.org/)
[](LICENSE)
[](#-custom-scanner-engine)
## 📋 概述
**ReconPort** 是一款生产级的**基于 GUI 的端口扫描器**和**网络侦查工具**,专为**渗透测试人员**、**安全研究员**和**红队操作员**设计。它采用**定制的高速 asyncio 扫描引擎**构建(不依赖 nmap),提供快速、可靠的端口检测,并具备**服务指纹识别**、**Banner 抓取**以及全面的报告功能。
## ✨ 核心功能
### 🎯 定制 AsyncIO 扫描引擎
- **纯 Python 实现** — 无需 nmap,无需 scapy,没有外部依赖
- **高并发** — 同时扫描多达 800 个端口
- **TCP Connect 扫描** — 在所有平台上实现可靠的端口检测
- **UDP 探测** — 检测 DNS、SNMP、NTP 及其他 UDP 服务
- **Banner 抓取** — 自动对开放端口进行服务指纹识别
### 🎨 黑客主题 GUI
- **深色专业主题** — 深黑 + 终端绿/青美学
- **等宽字体** — 整洁、易读的终端风格字体
- **响应式布局** — 分割面板、标签页和可滚动的端口列表
### 📊 端口情报
- 涵盖 20 个类别的 **95+ 预定义端口**:
- Web(HTTP、HTTPS、备用端口)
- 远程访问(SSH、RDP、VNC、Telnet)
- 数据库(MySQL、PostgreSQL、MongoDB、Redis、MSSQL、Oracle)
- 基础设施(DNS、DHCP、SNMP、NTP、Syslog)
- VPN(OpenVPN、WireGuard、IPSec、L2TP)
- 云/DevOps(Docker、Kubernetes、Consul、Vault、Prometheus)
- Windows/SMB、邮件、FTP、管理面板等
- **无限自定义端口** — 添加任意端口范围(`1000-2000`)或列表(`8080,9999`)
- **快速选择预设** — 常见 Top 20、全选、取消全选
### ⚙️ 扫描配置
| 配置 | 并发 | 超时 | Banner | 适用场景 |
|---|---|---|---|---|
| 隐秘(慢速) | 100 | 1.5s | ❌ | 低噪、规避 IDS |
| 快速(Top 100) | 500 | 0.8s | ✅ | 快速指纹识别 |
| 强烈(全部) | 300 | 1.0s | ✅ | 平衡的全面扫描 |
| 深度(Banner) | 200 | 2.0s | ✅ | 完整服务枚举 |
| UDP 扫描 | 100 | 1.5s | ❌ | UDP 服务发现 |
| 快速扫描 | 800 | 0.5s | ❌ | 超快 TCP 扫描 |
### 🔍 服务指纹识别
自动检测并提取以下服务的版本:
- **SSH** (OpenSSH, libssh)
- **HTTP/HTTPS** (nginx, Apache, IIS)
- **FTP** (vsftpd, ProFTPD, Pure-FTPd)
- **SMTP** (Postfix, Exim, Sendmail)
- **POP3/IMAP** (Dovecot)
- **VNC**、**Redis**、**MySQL**、**RDP**、**SMB** 等
### 📈 时序控制 (T0–T5)
| 模板 | 并发 | 超时 | 行为 |
|---|---|---|---|
| T0 偏执 | 30 | 3.0s | 最大隐蔽性 |
| T1 鬼祟 | 50 | 2.5s | 极低噪音 |
| T2 礼貌 | 100 | 2.0s | 温和扫描 |
| T3 普通 | 300 | 1.5s | 平衡(默认) |
| T4 激进 | 500 | 1.0s | 快速扫描 |
| T5 疯狂 | 800 | 0.5s | 极限速度 |
### 💾 数据管理
- **SQLite 数据库** — 自动保存所有扫描结果及完整的元数据
- **可搜索的历史记录** — 按目标 IP 或主机名过滤
- **统计仪表板** — 跟踪扫描、目标和开放端口
- **导出** — 支持 JSON、CSV、HTML(带样式)、TXT 格式
## 🚀 安装说明
### 快速安装(单条命令)
```
chmod +x install.sh
./install.sh
```
### 手动安装
```
# 安装系统依赖
sudo apt-get install python3 python3-pip python3-venv libxcb-xinerama0
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 安装 Python packages
pip install -r requirements.txt
```
## 💻 使用说明
### 运行 ReconPort
```
./run.sh
```
### 快速入门指南
1. **输入目标** — IP 地址、CIDR 范围或主机名
2. **选择端口** — 从 95+ 预定义端口中选择或添加自定义端口
3. **选择配置** — 选择扫描配置和时序模板
4. **开始扫描** — 点击绿色的 **▶ SCAN** 按钮
5. **查看结果** — 查看开放端口、服务和版本
6. **导出** — 将结果保存为 JSON/CSV/HTML/TXT
## 🏗️ 架构
```
reconport/
├── main.py # Entry point
├── run.sh # Launcher script
├── install.sh # One-command installer
├── requirements.txt # Only PyQt5 (no nmap!)
├── core/
│ ├── scanner.py # Custom asyncio scanning engine
│ ├── port_definitions.py # 95+ port intelligence catalog
│ ├── database.py # SQLite history storage
│ └── exporter.py # Multi-format export
├── ui/
│ ├── main_window.py # Main GUI application
│ └── theme.py # Dark hacker stylesheet
├── assets/
│ └── screenshot.png # Interface preview
└── data/
└── scans.db # Auto-created SQLite DB
```
## 📋 环境要求
| 组件 | 用途 |
|---|---|
| **Python 3.8+** | 运行时 |
| **PyQt5** | GUI 框架 |
| **asyncio** | 异步扫描引擎(内置) |
| **sqlite3** | 数据库(内置) |
**无需 nmap、scapy 或任何外部扫描器二进制文件。**
## 🎯 适用场景
- **交战前侦察** — 在渗透测试前映射攻击面
- **攻击面管理** — 随时间跟踪暴露的服务
- **合规性审计** — 记录开放的端口和服务
- **CTF 竞赛** — 用于夺权赛(CTF)的快速端口发现
- **Bug Bounty** — 识别目标资产上的意外服务
- **网络资产盘点** — 编录跨基础设施的服务
## ⚠️ 法律免责声明
本工具仅供**授权的安全测试**和**教育目的**使用。在扫描任何网络、系统或主机之前,请务必获得适当的书面授权。未经授权的扫描在您所在的司法管辖区可能属于违法行为。
开发者对滥用本工具的行为不承担任何责任。
## 📄 许可证
**MIT 许可证** — 可免费用于个人和商业用途。
## 🙌 致谢
**ReconPort** — 专业端口扫描与网络侦查工具
由 **MrNobody** 维护
*⭐ 如果此工具对您有帮助,请考虑在 GitHub 上给它点个 Star!*
标签:asyncio, ATT&CK 框架, PyQt5, Python, 插件系统, 数据统计, 无后门, 服务器安全, 端口扫描, 计算机取证, 逆向工具