Files
fscan/.github/release-notes/v2.2.0.md
T
ZacharyZcR fdf836f003
测试构建 / 代码检查 (push) Has been cancelled
测试构建 / 单元测试和构建 (push) Has been cancelled
测试构建 / 构建验证 (push) Has been cancelled
chore: prepare v2.2.0 release
2026-07-09 20:41:10 +08:00

130 lines
4.1 KiB
Markdown

# 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