# 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