phishiing/scanner-for-exposed-SSH-Telnet-RDP-VNC-SMB-RPC-ports
GitHub: phishiing/scanner-for-exposed-SSH-Telnet-RDP-VNC-SMB-RPC-ports
纯 Python 标准库实现的轻量级管理端口扫描器,可并行检测多域名下 SSH、RDP、VNC 等七种管理端口的开放状态。
Stars: 1 | Forks: 0
## 🚀 功能
- **极速** — 并行扫描所有域名(默认:50个并发扫描)
- **零依赖** — 纯 Python 标准库,无需 `pip install`
- **7个管理端口** — SSH (22), Telnet (23), RPC (135), SMB (445), RDP (3389), VNC (5900), VNC-1 (5901)
- **智能 DNS 解析** — 支持 IPv4/IPv6,具备重试逻辑、缓存和可配置的超时时间
- **自动保存结果** — 带时间戳的输出文件,包含访问命令
- **跨平台** — 适用于 macOS, Linux 和 Windows
## 📦 快速开始
```
# Clone
git clone https://github.com/phishiing/Open-Managment-Ports.git
cd Open-Managment-Ports
# 准备 targets
echo "example.com" > domains.txt
echo "scanme.nmap.org" >> domains.txt
# 扫描
python3 scan_management_ports.py domains.txt
```
## 📋 示例输出
```
============================================================
Open Management Port Scanner
Started: 2026-06-11 16:00:30
============================================================
[*] Loaded 2 domain(s) from 'domains.txt'
[*] Timeout: 2s | Threads: 200
[SCAN] example.com → 93.184.216.34 (7 ports)
[SCAN] scanme.nmap.org → 45.33.32.156 (7 ports)
[OPEN] scanme.nmap.org:22 (SSH)
└─ ssh user@scanme.nmap.org
============================================================
SCAN COMPLETE
============================================================
Domains scanned: 2
Ports checked: 7
Open ports found: 1
============================================================
Domain Port Service
---------------------------------------------------------------
scanme.nmap.org 22 SSH
[*] Results saved to: scan_results.txt
```
## ⚙️ 选项
| 参数 | 描述 | 默认值 |
|---|---|---|
| `input_file` | 包含域名的纯文本文件(每行一个) | `domains.txt` |
| `-o, --output` | 输出结果文件 | `scan_results.txt` |
| `--timeout` | 每个端口的连接超时时间(秒) | `2` |
| `--dns-timeout` | DNS 解析超时时间(秒) | `4` |
| `--dns-retries` | DNS 重试次数 | `1` |
| `--threads` | 每个域名的端口扫描线程数 | `200` |
| `--domain-threads` | 并行域名扫描数 | `50` |
### 高级用法
```
# 使用自定义设置扫描
python3 scan_management_ports.py my_targets.txt --timeout 3 --threads 500
# 调整 DNS 以提高可靠性
python3 scan_management_ports.py domains.txt --dns-timeout 10 --dns-retries 3
# 大规模并行扫描(数百个 domains)
python3 scan_management_ports.py big_list.txt --domain-threads 200
# 将结果保存到自定义文件
python3 scan_management_ports.py domains.txt -o my_results.txt
```
## 📁 输出文件格式
```
# 开放管理端口扫描结果
# 扫描日期:2026-06-11 16:00:30
# 已扫描 domains:2
# 已检查 ports:7
# 发现的开放 ports:1
# # Domain:Port Service | Access
#----------------------------------------------------------------------
scanme.nmap.org:22 (SSH) | ssh user@scanme.nmap.org
```
## 🛠 环境要求
| 要求 | 最低版本 |
|---|---|
| Python | 3.6+ |
| 外部包 | **无** |
| 操作系统 | macOS, Linux, Windows |
## 🔧 工作原理
1. **加载** 文本文件中的域名(每行一个)
2. **解析** 使用带有重试逻辑的 `getaddrinfo()` 将每个域名解析为 IP 地址
3. **扫描** 使用**两个层级**的线程池并行扫描所有7个管理端口:
- **域名级并行**:同时扫描多个域名
- **端口级并行**:并发检查每个域名的所有7个端口
4. **报告** 开放的端口及可直接使用的访问命令
5. **保存** 将所有结果保存到带时间戳的结果文件中
## ⚠️ 免责声明
此工具仅供**授权的安全测试**使用。请始终确保您已获得扫描目标域名的明确许可。未经授权的扫描在您所在的司法管辖区可能属于违法行为。
## 📄 许可证
[MIT](LICENSE)
标签:Python, 云存储安全, 插件系统, 数据统计, 无后门, 端口扫描, 网络扫描, 运维工具, 逆向工具