# fscan v2.2.2 v2.2.2 是 v2.2 系列的修复版本,重点解决扫描参数未生效、目标遗漏、SMTP 扫描挂起、POC 表达式兼容性和结果备份丢失问题。 ## 扫描参数与目标调度 - 修复只指定 `-pwda` 或 `-usera` 时默认字典被覆盖的问题;追加参数保留基础字典 - 新增 `-list-plugins`,列出当前构建实际可用的模块及注册端口 - 指定固定端口服务模块且未设置 `-p`、`-pf` 时,使用所选模块的注册端口集合;NetBIOS 跳过不适用端口 - 修复 `-pf` 端口文件未读取的问题,支持逐行端口、范围和逗号列表;不可读或没有有效端口的文件返回错误 - 修复 IPv4/IPv6 `host:port` 在解析后被误判为缺少扫描目标的问题 - 服务扫描中的缓存目标遵守 `-eh`、`-ehf`、`-ep`,UDP 插件调度也遵守 `-ep` - 服务扫描策略使用当前 session 的服务识别缓存 ## 协议与 POC 兼容性 - 为 SMTP 匿名访问和开放中继检查设置连接读写期限,避免目标接受连接后不发送 greeting 导致扫描一直等待 - 修复 Base64、JWT 等编码字符串被误当作 CEL 表达式编译的问题,覆盖 POC 的 `set` 和 `sets` - 补充 `timestamp_second()`,修正 POC 中 `randomLowercase` 的调用 ## Web、SDK 与结果保存 - Web 扫描使用完整配置解析,使自定义账号密码和 `host:port` 生效;项目缓存与显式目标合并 - SDK 普通扫描的 `OnProgress` 回调关联实际扫描状态 - TXT、JSON、CSV 仅在最终结果写入、同步并关闭成功后删除 `.realtime.tmp`;失败时保留恢复备份并关闭文件资源 - 增加对应回归测试,并将 Web 接口测试纳入 CI ## 相关 Issue 与 PR - #605:POC CEL 表达式兼容性 - #609、#610、#611:凭据追加、模块端口选择与模块列表 - #608:SMTP 静默服务端导致扫描挂起 - #612:端口文件、目标调度、Web/SDK 状态及结果备份 ## 升级说明 - 从 v2.2.1 可直接升级 - 使用 `-pwda`、`-usera` 追加凭据时会保留基础字典;只测试指定凭据时请使用 `-user`、`-pwd` 或相应字典文件参数 - 如需指定完整扫描端口集合,请显式使用 `-p` 或 `-pf` - 结果保存失败时可检查输出文件旁的 `.realtime.tmp` 恢复备份 完整变更记录: https://github.com/shadow1ng/fscan/compare/v2.2.1...v2.2.2