Manishsarkar1/Port_Scanner
GitHub: Manishsarkar1/Port_Scanner
纯 Python 实现的端口扫描框架,支持 TCP Connect/SYN 扫描和服务版本检测,无需依赖 nmap。
Stars: 1 | Forks: 0
# ScanForge (从零开始)
纯 Python 端口扫描框架,不依赖 `nmap` 二进制文件或 nmap 封装库。
## 功能特性
- 模块化扫描器框架结构(易于扩展)
- TCP 连接扫描引擎
- TCP SYN 扫描引擎(`--scan-type syn`)
- 目标解析:支持单个 IP、主机名、逗号分隔列表、CIDR
- 端口解析:支持单个值和范围
- 支持可配置工作线程数的并行扫描
- 可选的 Banner 抓取
- 针对常见协议的服务/版本探测(`--version-detect`)
- 可选的 JSON 输出
## 快速开始
1. 安装 Python 3.10+
2. (SYN 模式可选)安装 scapy:`pip install scapy`
3. 运行:
```
python main.py -t 127.0.0.1 -p 1-1024
```
## 示例
```
# Connect scan(默认)
python main.py -t scanme.nmap.org -p 22,80,443,3306,5432
# SYN scan(通常需要 admin/root 权限)
python main.py -t 192.168.1.10 -p 1-1024 --scan-type syn
# 在开放端口上检测服务版本
python main.py -t 192.168.1.10 -p 21,22,25,80,110,143,3306,5432,6379 --version-detect
# SYN + version detect + JSON 输出
python main.py -t 192.168.1.10 -p 22,80,443 --scan-type syn --version-detect --json-out reports/scan.json
```
## 版本检测覆盖范围(当前)
- SSH, HTTP, FTP, SMTP, POP3, IMAP, Redis, MySQL, PostgreSQL(尽力探测)
## 后续扩展
- UDP 扫描引擎
- OS 指纹识别模块
- 服务/版本检测插件
- 类似 NSE 的脚本子系统
## 法律声明
仅扫描您拥有或获得明确书面授权进行测试的系统。
标签:AES-256, Banner Grabbing, Python, Qt框架, Scapy, Socke编程, SYN Scan, TCP Connect, 二进制发布, 动态分析, 协议分析, 密码管理, 开源工具, 插件系统, 数据统计, 无后门, 服务识别, 权限提升, 漏洞评估, 白盒扫描, 端口扫描, 网络安全, 逆向工具, 隐私保护