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, 二进制发布, 动态分析, 协议分析, 密码管理, 开源工具, 插件系统, 数据统计, 无后门, 服务识别, 权限提升, 漏洞评估, 白盒扫描, 端口扫描, 网络安全, 逆向工具, 隐私保护