RohanBhoi-7064/port-scanner
GitHub: RohanBhoi-7064/port-scanner
一款基于 Python 标准库的轻量级多线程命令行端口扫描器,集成了服务 Banner 抓取与漏洞签名匹配功能,用于快速检测目标主机的开放端口与潜在安全隐患。
Stars: 0 | Forks: 0
# 端口扫描器与漏洞签名检测工具
一个基于 Python 构建的轻量级、并发命令行工具,用于执行快速的网络端口扫描、banner 抓取以及基本的漏洞签名匹配。
## 功能
- **多线程扫描**:使用 Python 的 `concurrent.futures.ThreadPoolExecutor` 并发检查端口,实现高性能。
- **服务 Banner 抓取**:捕获开放端口上的应用 banner,以识别正在运行的服务。
- **签名漏洞检测**:将抓取到的 banner 与本地已知存在漏洞的软件版本目录(例如过时的 SSH、vsftpd、Apache)进行匹配。
- **报告生成**:将扫描结果导出为结构化的文本 (`.txt`) 或 JSON (`.json`) 文件。
## 环境要求
- Python 3.x
无需任何外部依赖。该项目完全依赖 Python 标准库(`socket`、`sys`、`concurrent.futures`、`json`、`datetime`、`argparse`)。
## 安装说明
将仓库克隆到本地:
```
git clone https://github.com/rohan-bhoi/port-scanner.git
cd port-scanner
```
## 使用说明
使用 Python 运行脚本,并传入目标主机及可选参数。
```
python scanner.py [options]
```
### 选项
- `target`:要扫描的目标主机 IP 地址或域名(例如 `127.0.0.1` 或 `example.com`)。
- `-p`, `--ports`:要扫描的端口范围。默认为 `1-1024`。(例如 `-p 80` 或 `-p 1-500`)。
- `-t`, `--threads`:要生成的并发线程数。默认为 `50`。
- `-o`, `--output`:写入扫描报告的路径(支持 `.txt` 或 `.json` 文件格式)。
### 示例
**在默认端口 (1-1024) 上进行基本扫描:**
```
python scanner.py 127.0.0.1
```
**使用自定义线程数扫描特定范围:**
```
python scanner.py localhost -p 1-8080 -t 100
```
**将结果导出为 JSON 文件:**
```
python scanner.py localhost -p 20-100 -o scan_report.json
```
## 许可证
MIT License
标签:Python, 插件系统, 数据统计, 无后门, 端口扫描, 逆向工具