B-iLyas647/Port-scanner-v1.0
GitHub: B-iLyas647/Port-scanner-v1.0
一款零依赖的 Python 命令行多线程 TCP 端口扫描器,支持 banner 抓取与结果导出。
Stars: 0 | Forks: 0
# 🔍 端口扫描器
一个使用 Python 构建的快速、轻量级命令行端口扫描器。
支持多线程扫描、banner 抓取和结果导出。
## 功能
- 使用原始 socket 进行 TCP 端口扫描
- 使用 `ThreadPoolExecutor`(200个工作线程)进行多线程扫描
- 通过 banner 抓取识别运行中的服务
- 常用端口模式(20个最关键的端口)
- 使用正则表达式进行输入验证
- 将结果导出到文本文件
- 清晰的表格展示
## 环境要求
- Python 3.x
- 无需任何外部库
## 使用方法
```
python port_scanner.py --target [--ports | --common] [options]
```
## 参数
| 参数 | 描述 |
|----------|-------------|
| `--target` | 目标 IP 地址(必填) |
| `--ports` | 端口范围(例如 `1-1000`)或单个端口(例如 `80`) |
| `--common` | 扫描 20 个最常用的端口 |
| `--banner` | 从开放的端口抓取 banner |
| `--timeout` | 每个端口的超时时间,以秒为单位(默认:`0.5`) |
| `--export` | 将结果导出到文件(例如 `results.txt`) |
## 示例
```
# 扫描常见端口并进行 banner grabbing
python port_scanner.py --target 192.168.1.1 --common --banner
# 扫描端口范围
python port_scanner.py --target 192.168.1.1 --ports 1-1000
# 扫描并导出结果
python port_scanner.py --target 192.168.1.1 --common --banner --export results.txt
# 自定义 timeout
python port_scanner.py --target 192.168.1.1 --ports 1-500 --timeout 0.3
```
## 法律声明
此工具仅用于教育目的和授权测试。
未经许可扫描网络是违法的。
在扫描任何目标之前,请务必确保您已获得授权。
## 作者
**Ilyas** — 卡萨布兰卡 ISTA (OFPPT) 数字开发专业大一学生。
正在深入学习 Python、网络和 Web 安全技术。
标签:Banner抓取, Python, 云存储安全, 插件系统, 数据统计, 无后门, 服务器安全, 端口扫描, 系统独立性, 网络扫描, 逆向工具