shakhsg/port-scanner
GitHub: shakhsg/port-scanner
一个仅依赖 Python 标准库的多线程 TCP 端口扫描器,支持开放端口检测、服务 banner 抓取及结果导出。
Stars: 0 | Forks: 0
# 网络端口扫描器
[](https://python.org)
[](LICENSE)
[](https://github.com/shakhsg/port-scanner/actions)
一个使用 Python 构建的多线程 TCP 端口扫描器。能够识别开放端口、检测运行中的服务,并抓取 HTTP、FTP 和 SSH 服务的 banner。
**作者:** Shukhrat Mirzaev
**语言:** Python 3
**技能:** Socket 编程 · 多线程 · CLI · OOP · 网络安全
## 功能
- 多线程扫描,实现快速获取结果
- 抓取 banner 以检测服务版本(HTTP、FTP、SSH)
- 超时处理 —— 不会在关闭的端口上发生阻塞
- 简洁的 CLI 界面,提供可自定义的选项
- 将扫描结果导出为 `.txt` 文件
## 安装说明
```
# 克隆仓库
git clone https://github.com/yourusername/port-scanner.git
cd port-scanner
# 无需外部依赖 — 仅使用 Python standard library
python3 scanner.py --help
```
## 使用说明
```
# 基本扫描(端口 1-1024)
python3 scanner.py scanme.nmap.org
# 自定义端口范围
python3 scanner.py scanme.nmap.org -s 1 -e 500
# 保存结果到文件
python3 scanner.py scanme.nmap.org -o results.txt
# 自定义线程和超时
python3 scanner.py scanme.nmap.org -s 1 -e 1024 -t 200 --timeout 0.5
```
### 选项
| 选项 | 描述 | 默认值 |
|--------|-------------|---------|
| `target` | 目标 IP 或域名 | 必填 |
| `-s, --start` | 起始端口 | 1 |
| `-e, --end` | 结束端口 | 1024 |
| `-t, --threads` | 线程数 | 100 |
| `--timeout` | 连接超时时间(秒) | 1.0 |
| `-o, --output` | 将结果保存到 .txt 文件 | None |
## 示例输出
```
=======================================================
Network Port Scanner by Shukhrat Mirzaev
=======================================================
Target : scanme.nmap.org (45.33.32.156)
Ports : 1 - 1024
Threads : 100
Started : 2025-03-28 22:00:00
=======================================================
Scanning...
PORT SERVICE BANNER
---------------------------------------------------------
22 ssh SSH-2.0-OpenSSH_6.6.1p1
80 http Apache/2.4.7 (Ubuntu)
=======================================================
Scan complete. 2 open port(s) found.
=======================================================
```
## 法律声明
请仅扫描您拥有或获得明确授权的主机。未经授权的端口扫描在您所在的管辖区可能是违法行为。请使用 `scanme.nmap.org` 进行安全测试 —— 它是专门为此目的公开提供的。
## 技术栈
- `socket` —— TCP 连接和抓取 banner
- `threading` —— 多线程扫描
- `argparse` —— CLI 参数解析
- `datetime` —— 扫描时间戳
标签:Banner抓取, Docker 部署, Python, 插件系统, 数据统计, 无后门, 端口扫描, 网络安全, 网络运维, 逆向工具, 隐私保护