toiletsamurai/port-scanner

GitHub: toiletsamurai/port-scanner

这是一个仅使用Python标准库编写的快速并发TCP端口扫描器,用于高效发现网络开放端口。

Stars: 0 | Forks: 0

# 端口扫描器 一个用Python编写的快速、并发的TCP端口扫描器。而且我只用了标准库哦! ## 功能 - 支持可配置线程数的并发扫描 - 灵活的端口输入:支持单个、范围、逗号分隔或预设值 - 自动检测常见端口的服务名称 - 基本的服务Banner抓取(HTTP、FTP、SSH等) - 清晰、彩色的CLI输出 - 零外部依赖 ## 用法 ``` # 扫描主机常用端口 python scanner.py scanme.nmap.org # 扫描特定端口 python scanner.py 192.168.1.1 -p 22,80,443 # 扫描端口范围 python scanner.py example.com -p 1-1024 # 提高线程数以加速 python scanner.py 10.0.0.1 -p 1-65535 --threads 500 # 降低超时以加快扫描速度(慢速网络下准确度较低) python scanner.py example.com --timeout 0.3 ``` ## 选项 | 标志 | 默认值 | 描述 | |------|---------|-------------| | `-p`, `--ports` | `common` | 要扫描的端口:`common`、`80`、`1-1024`、`22,80,443` | | `-t`, `--threads` | `100` | 并发线程数 | | `--timeout` | `1.0` | 每个端口的超时时间(秒) | ## 示例输出 ``` ─────────────────────────────────────────────────────── PORT SCANNER ─────────────────────────────────────────────────────── Target : scanme.nmap.org (45.33.32.156) Ports : 17 to scan Timeout : 1.0s per port Started : 2024-01-15 14:32:01 ─────────────────────────────────────────────────────── ─────────────────────────────────────────────────────── 2 open port(s) found: [OPEN] 22/tcp SSH [OPEN] 80/tcp HTTP ↳ Apache/2.4.7 ─────────────────────────────────────────────────────── Done in 1.24s | 17 ports scanned ─────────────────────────────────────────────────────── ``` ## 要求 - Python 3.10+ - 无需外部包 ## ⚠️ 法律声明 未经许可请勿进行此操作,这并不合法。 ## 扩展想法 - [ ] UDP扫描 - [ ] 操作系统指纹识别 - [ ] JSON/CSV输出 - [ ] 从文件扫描多个主机 - [ ] 用于显示已关闭端口的 `--verbose` 标志
标签:banner抓取, TCP扫描, 云存储安全, 并发扫描, 插件系统, 数据统计, 服务器安全, 服务检测, 标准库, 端口扫描, 端口检测, 网络安全, 网络扫描, 逆向工具, 隐私保护, 零依赖