mirror of
https://github.com/shadow1ng/fscan.git
synced 2026-09-22 03:10:42 +08:00
功能过于单一(仅 TCP 端口扫描),与 fscan 品牌定位不符。 fscan-nolocal 已是精简版的正确方案。 - 删除 fscan-lite 源码和构建脚本 - goreleaser 移除 lite 构建步骤 - CI 不再安装 mingw 交叉编译工具
107 lines
3.8 KiB
Markdown
107 lines
3.8 KiB
Markdown
# fscan v2.2.0-rc
|
||
|
||
> ⚠️ **这是预发布版本 (Release Candidate)**,可能存在未发现的问题。
|
||
> 如果你在使用中遇到任何异常,请积极通过 [Issue](https://github.com/shadow1ng/fscan/issues/new/choose) 反馈,帮助我们尽快稳定正式版。
|
||
> 生产环境建议继续使用 [v2.1.3](https://github.com/shadow1ng/fscan/releases/tag/v2.1.3)。
|
||
|
||
---
|
||
|
||
## 与 v2.1.3 的主要变更
|
||
|
||
### 🏗️ 架构升级:嵌入式 Scanner SDK
|
||
|
||
新增 `pkg/fscan` 包,fscan 从纯 CLI 工具进化为**可嵌入的扫描引擎**。
|
||
|
||
- 支持从其他 Go 程序直接调用 fscan 扫描能力
|
||
- 每个 Scanner 实例拥有独立的 config/state/session
|
||
- 支持多实例并发扫描,日志和结果完全隔离
|
||
- 全局状态已完整迁移到 session 实例
|
||
|
||
### 🚀 大规模扫描支持
|
||
|
||
- **流式 Host Iterator** — /8 级别 CIDR 不再一次性展开到内存
|
||
- **移除 MaxHosts 硬限制** — 大网段不再被静默截断
|
||
- **ARM 原子计数器对齐** — 修复 32 位 ARM 平台 panic
|
||
|
||
### 🔌 新增协议插件(+9)
|
||
|
||
| 插件 | 用途 |
|
||
|------|------|
|
||
| IMAP / POP3 | 邮件服务器检测 |
|
||
| JDWP | Java Debug 端口检测 |
|
||
| NFS / RMI | 文件共享 / Java 远程调用 |
|
||
| IPMI | 服务器带外管理 |
|
||
| SNMP (UDP) | 网络设备管理 |
|
||
| DNS / BACnet / Modbus | DNS 服务 / 工控协议 |
|
||
|
||
全部为**原生协议实现**,零外部依赖。
|
||
|
||
### ⚡ 性能与体积优化
|
||
|
||
- Kafka/MongoDB/Cassandra 从重型客户端库改为 raw TCP 实现,**二进制体积减小**
|
||
- 热路径零分配、自适应连接池 CAS 无锁化
|
||
- Scanner 客户端指纹收敛(降低被检测概率)
|
||
|
||
### 🌐 网络能力增强
|
||
|
||
- **SOCKS5 代理认证**支持(用户名/密码)
|
||
- **国密 TLS**(SM2/SM3/SM4)网站扫描
|
||
- 支持 `-add-password` 追加多个自定义密码
|
||
|
||
### 🔧 本地后渗透插件
|
||
|
||
- 新增 sshkey、4 种持久化插件(crontask/systemd/winregistry/winschtask)
|
||
- minidump 降级链凭据提取 + 杀软前置检测
|
||
- cleaner 清理所有持久化痕迹
|
||
- systeminfo 整合合并(fileinfo/dcinfo/avdetect/envinfo)
|
||
|
||
### 📦 工程改进
|
||
|
||
- 目录重命名:`WebScan/` → `webscan/`、`mylib/` → `libs/`
|
||
- i18n 覆盖扩展(中/英双语)
|
||
- 全量 lint/errcheck 修复
|
||
- 补充大量单元测试
|
||
|
||
---
|
||
|
||
## ⚠️ 已知问题 / 注意事项
|
||
|
||
| 问题 | 说明 |
|
||
|------|------|
|
||
| SDK 并发限速共享 | `CanSendPacket()` 全局限速器在多 Scanner 实例间共享(按进程限速,非按实例) |
|
||
| CEL 回连验证走全局 | DNSLog 反连检测的 HTTP 请求计数走全局 state(影响可忽略) |
|
||
| 本地插件仅限授权场景 | 持久化/minidump/shell 类插件仅用于授权渗透测试 |
|
||
| WebUI 为实验性功能 | `fscan-web` 版本的 Web 界面尚未完善 |
|
||
| `common` 包未完全拆分 | 内部架构的 common 包职责仍较重,后续版本持续优化 |
|
||
|
||
---
|
||
|
||
## 反馈与贡献
|
||
|
||
这是一个 RC 版本,我们非常需要你的反馈:
|
||
|
||
- 🐛 发现 Bug → [提交 Bug 报告](https://github.com/shadow1ng/fscan/issues/new?template=bug_report.yml)
|
||
- 🎯 结果不准 → [提交误报/漏报](https://github.com/shadow1ng/fscan/issues/new?template=false_positive.yml)
|
||
- ✨ 功能建议 → [提交功能请求](https://github.com/shadow1ng/fscan/issues/new?template=feature_request.yml)
|
||
- 💬 使用疑问 → [Discussions](https://github.com/shadow1ng/fscan/discussions)
|
||
|
||
---
|
||
|
||
## 版本说明
|
||
|
||
| 版本 | 说明 |
|
||
|------|------|
|
||
| **fscan** | 标准版,包含全部插件(推荐) |
|
||
| **fscan-nolocal** | 精简版,不含本地后渗透模块(体积更小) |
|
||
| **fscan-web** | WebUI版,带 Web 管理界面(主流平台) |
|
||
|
||
## 平台支持
|
||
|
||
| 平台 | 架构 |
|
||
|------|------|
|
||
| Linux | x64, x32, arm64, armv5/6/7, mips, mips64, mipsle |
|
||
| Windows | x64, x32 |
|
||
| macOS | x64 (Intel), arm64 (Apple Silicon) |
|
||
| FreeBSD | x64, x32, arm64, armv5/6/7 |
|
||
| Solaris | X64n |
|