raktimneog08-ops/001-port-scanner
GitHub: raktimneog08-ops/001-port-scanner
一款基于 Python asyncio 的异步高并发端口扫描器,支持服务版本检测、多目标扫描和多种输出格式。
Stars: 0 | Forks: 0
# 001 - 高级端口扫描器
一款使用 Python 构建的异步、高并发端口扫描器。本项目是 100 个网络安全工具包项目的一部分。
## 🚀 功能特性
- **高并发**:利用 Python 的 `asyncio` 实现非阻塞 I/O 和快速扫描。
- **服务版本检测**:连接到开放端口并抓取 banner,通过正则表达式签名识别正在运行的服务。
- **时间模板**:可在 `sneaky`、`polite` 或 `aggressive` 时间模板之间进行选择,以管理速率限制和网络噪音。
- **多目标支持**:支持单个 IP、CIDR 块(例如 `192.168.1.0/24`)和域名。
- **美观的输出**:利用 `rich` 库实现实时、彩色的 CLI 表格输出。支持 JSON 和 CSV 导出。
- **UDP 回退**:实验性的基础 UDP 探测支持。
## ⚙️ 设置与安装
1. 确保您已安装 Python 3.7+。
2. 安装 `rich` 库以进行 CLI 渲染(可选,但推荐):
pip install rich
## 🛠️ 用法
针对单个目标 IP 的基本用法:
```
python port_scanner.py 127.0.0.1
```
使用特定端口、时间模板和 CSV 导出的高级用法:
```
python port_scanner.py 192.168.1.0/24 -p 22,80,443,8000-8080 -T aggressive -s tcp -f csv -o results.csv
```
### 参数
- `-p`, `--ports`:端口范围(例如 `80,443,1-1024`)
- `-T`, `--timing`:时间模板(`sneaky`、`polite`、`aggressive`)
- `-s`, `--scan-type`:扫描类型(`tcp`、`udp`)
- `-o`, `--output`:输出文件路径
- `-f`, `--format`:输出格式(`cli`、`json`、`csv`)
## 📄 文档
有关扫描器内部原理的更详细分解,请参阅随附的文档文件:
- [系统架构](architecture.md)
- [边缘情况与弹性](edgecase.md)
- [分阶段实现](phase-wise-implementation.md)
## ⚠️ 免责声明
此工具出于教育目的和授权的网络审计而构建。在扫描任何目标之前,请务必确保您已获得明确的许可。
标签:Python, Scrypt密钥派生, 异步编程, 插件系统, 数据统计, 无后门, 服务指纹识别, 端口扫描, 网络安全, 计算机取证, 逆向工具, 隐私保护