rogue-agent1/portprobe
GitHub: rogue-agent1/portprobe
一款零依赖的纯 Python TCP 端口扫描器,支持并发扫描、服务识别和 banner 抓取,适合快速端口探测和服务健康检查。
Stars: 0 | Forks: 0
# portprobe 🔍
快速的 TCP 端口扫描器和服务检测器。支持扫描范围、检测特定端点,或探测常用服务端口。支持 banner 抓取。
## 功能特性
- **快速并发扫描** — 默认 100 个 worker,几秒钟内扫描 1024 个端口
- **Banner 抓取** — 识别 HTTP 服务器、SSH 版本等
- **常用端口知识库** — 熟知 40 多种知名服务(SSH、HTTP、Redis、PostgreSQL 等)
- **三种模式** — 范围扫描、针对性检测或常用端口扫描
- **JSON 输出** — 适用于 CI/监控的机器可读格式
- **零依赖** — 纯 Python 3.10+
## 用法
### 扫描端口范围
```
# 扫描前 1024 个端口
python3 portprobe.py scan 192.168.1.1
# 自定义范围
python3 portprobe.py scan myserver.local --ports 8000-9000
# 特定端口
python3 portprobe.py scan host.local --ports 80,443,8080,3000
```
### 检测特定端点
```
# 检查服务是否可达
python3 portprobe.py check localhost:8080 db.local:5432 cache:6379
# 仅当所有端口都开放时返回 exit code 0
```
### 扫描常用服务端口
```
# 快速检查已知服务(SSH、HTTP、数据库等)
python3 portprobe.py common myserver.local
```
## 输出
```
localhost (127.0.0.1)
Scanned 40 ports in 1008ms
PORT STATE SERVICE LATENCY BANNER
─────────────────────────────────────────────────────────────────
5000/tcp open Dev 3ms HTTP/1.1 200 OK
18789/tcp open OpenClaw 2ms
2 open / 40 scanned
```
## 选项
| 标志 | 描述 |
|------|-------------|
| `--ports, -p` | 端口范围(默认:1-1024) |
| `--timeout, -t` | 连接超时时间(默认:扫描 1s,检测 2s) |
| `--workers, -w` | 并发 worker 数(默认:100) |
| `--no-banner` | 跳过 banner 抓取(更快) |
| `--json, -j` | JSON 输出 |
## 退出码
- `0` — 发现开放端口(scan/common)或所有目标均开放(check)
- `1` — 无开放端口或部分目标已关闭
## 许可证
MIT
标签:Banner Grabbing, DNS枚举, DNS查询工具, Python, Qt框架, TCP, URL短链接分析, 并发扫描, 插件系统, 无后门, 服务器安全, 服务探测, 服务识别, 端口扫描器, 纯Python, 网络安全工具, 网络调试, 自动化, 零依赖