mirror of
https://github.com/shadow1ng/fscan.git
synced 2026-09-22 03:10:42 +08:00
chore: prepare v2.2.0 release
This commit is contained in:
@@ -0,0 +1,129 @@
|
||||
# fscan v2.2.0
|
||||
|
||||
v2.2.0 是 v2.2 系列首个正式版,基于 v2.1.3 之后的 RC 测试和 Issue 反馈整理发布。
|
||||
|
||||
本版本重点提升大规模扫描稳定性、POC 扫描可靠性、非标准端口服务识别、插件隔离和嵌入式 SDK 能力。
|
||||
|
||||
---
|
||||
|
||||
## 重点变化
|
||||
|
||||
### 嵌入式 Scanner SDK
|
||||
|
||||
新增 `pkg/fscan`,fscan 从纯 CLI 工具扩展为可嵌入的 Go 扫描引擎:
|
||||
|
||||
- 支持在 Go 程序内直接调用扫描能力
|
||||
- Scanner 实例拥有独立 `config` / `state` / `session`
|
||||
- 全局状态迁移到 session,改善多实例并发隔离
|
||||
- 补充 SDK 结果转换、配置校验和并发扫描测试
|
||||
|
||||
### 大规模扫描稳定性
|
||||
|
||||
- 新增流式 Host Iterator,大 CIDR 不再一次性展开到内存
|
||||
- 移除 MaxHosts 硬限制,大网段不再被静默截断
|
||||
- 新增自适应并发调度,基于 RTT、丢包率、fd limit 自动推导扫描参数
|
||||
- 线程池升级为 AIMD + 慢启动,遇到资源耗尽时自动降速
|
||||
- `-gt` 全局超时正式生效,超时后会取消扫描任务
|
||||
- 新增 `-nsp`,可禁用网段预筛
|
||||
|
||||
### 服务识别与插件调度
|
||||
|
||||
- 修复非标准端口服务无法匹配插件的问题
|
||||
- 新增服务缓存和指纹驱动插件匹配
|
||||
- `-full` 模式下 Web 插件可覆盖所有开放端口
|
||||
- 不确定服务增加 HTTP 回退探测
|
||||
- 移除误导性的“无可用插件”日志
|
||||
- 用户指定 `-p` 时 UDP 插件按端口交集正确调度
|
||||
|
||||
### Web / POC 扫描
|
||||
|
||||
- 修复默认扫描 POC 结果缺失
|
||||
- 修复 `-hf` 批量扫描时 POC 缺失
|
||||
- 修复 HTTPS 端口误用 HTTP 扫描 POC
|
||||
- 修复 POC 结果文件只显示 `vulnerable` 不显示漏洞名称
|
||||
- POC 加载按 `pocpath` 隔离缓存,多 session 不再互相覆盖
|
||||
- 修复 CEL、reverseCheck、正则缓存等稳定性问题
|
||||
- `-nopoc` 禁用 POC 时不再输出误导性错误日志
|
||||
|
||||
### 新增协议插件
|
||||
|
||||
新增多种原生协议插件,覆盖邮件、Java 调试、文件共享、带外管理、UDP 和工控场景:
|
||||
|
||||
| 插件 | 用途 |
|
||||
|------|------|
|
||||
| IMAP / POP3 | 邮件服务器检测 |
|
||||
| JDWP | Java Debug 端口检测 |
|
||||
| NFS / RMI | 文件共享 / Java 远程调用 |
|
||||
| IPMI | 服务器带外管理 |
|
||||
| SNMP / DNS / BACnet / Modbus | 网络设备、DNS、工控协议检测 |
|
||||
|
||||
### Web 版
|
||||
|
||||
- 拆分 CLI / Web 入口
|
||||
- Web 版结果存储改为 SQLite 持久化
|
||||
- Web API 版本号改为动态读取
|
||||
|
||||
---
|
||||
|
||||
## Bug 修复摘要
|
||||
|
||||
- 修复 #586 默认扫描 POC 结果缺失
|
||||
- 修复 #587 `-hf` 批量扫描 POC 缺失
|
||||
- 修复 #588 非标准端口服务插件匹配问题
|
||||
- 修复 #590 Telnet Cisco MOTD 横幅误判 shell prompt
|
||||
- 修复 #591 HTTPS POC 协议错误与结果名称缺失
|
||||
- 修复 #592 service probe 空指针 panic
|
||||
- 修复 #593 `-ehf` 排除主机未生效,支持 IP / CIDR / range
|
||||
- 修复 UDP 插件阻塞导致扫描无法结束
|
||||
- 修复 SSH goroutine 泄漏和握手 deadline 问题
|
||||
- 修复 Redis exploit 超时和非超时错误处理
|
||||
- 修复 MongoDB SCRAM、Cassandra、Oracle 等协议问题
|
||||
- 修复 SOCKS5 代理认证、LM:NT hash、逗号分隔密码等参数问题
|
||||
- 修复非终端输出 ANSI 控制码覆盖结果
|
||||
- 修复 CSV / NDJSON / TXT 输出若干字段问题
|
||||
- 修复 ARM 32 位原子计数器对齐问题
|
||||
|
||||
---
|
||||
|
||||
## 升级注意
|
||||
|
||||
- WebUI 仍建议视为实验性能力
|
||||
- 本地后渗透插件仅用于授权环境
|
||||
- v2.2.0 改动较大,建议从 v2.1.3 升级的用户先在测试环境验证扫描参数
|
||||
- 如依赖旧版本输出格式,请重点检查 POC、SERVICE、VULN 结果字段
|
||||
|
||||
---
|
||||
|
||||
## 版本说明
|
||||
|
||||
| 版本 | 说明 |
|
||||
|------|------|
|
||||
| **fscan** | 标准版,包含全部插件(推荐) |
|
||||
| **fscan-nolocal** | 精简版,不含本地模块(体积更小) |
|
||||
| **fscan-web** | WebUI 版,带 Web 管理界面(主流平台) |
|
||||
|
||||
## 平台支持
|
||||
|
||||
| 平台 | 架构 |
|
||||
|------|------|
|
||||
| Linux | x64, x32, arm64, armv5/6/7, mips, mips64, mipsle |
|
||||
| Windows | x64, x32 |
|
||||
| macOS | x64, arm64 |
|
||||
| FreeBSD | x64, x32, arm64, armv5/6/7 |
|
||||
| Solaris | x64 |
|
||||
|
||||
---
|
||||
|
||||
## 校验
|
||||
|
||||
本版本已通过:
|
||||
|
||||
- `go test ./...`
|
||||
- 近期 Issue 回归验证
|
||||
- 本地 HTTP / HTTPS POC 扫描验证
|
||||
- `-hf` 批量 POC 扫描验证
|
||||
- `-ehf` IP / CIDR 排除验证
|
||||
|
||||
完整变更记录见:
|
||||
|
||||
https://github.com/shadow1ng/fscan/compare/v2.1.3...v2.2.0
|
||||
Reference in New Issue
Block a user