Files
fscan/fscan-lite/README.md
T
ZacharyZcR 71b92d4408 feat: v2.1.0 核心重构与功能增强
## 架构重构
- 全局变量消除,迁移至 Config/State 对象
- SMB 插件融合(smb/smb2/smbghost/smbinfo)
- 服务探测重构,实现 Nmap 风格 fallback 机制
- 输出系统重构,TXT 实时刷盘 + 双写机制
- i18n 框架升级至 go-i18n

## 性能优化
- 正则表达式预编译
- 内存优化 map[string]struct{}
- 并发指纹匹配
- SOCKS5 连接复用
- 滑动窗口调度 + 自适应线程池

## 新功能
- Web 管理界面
- 多格式 POC 适配(xray/afrog)
- 增强指纹库(3139条)
- Favicon hash 指纹识别
- 插件选择性编译(Build Tags)
- fscan-lab 靶场环境
- 默认端口扩展(62→133)

## 构建系统
- 添加 no_local tag 支持排除本地插件
- 多版本构建:fscan/fscan-nolocal/fscan-web
- CI 添加 snapshot 模式支持仅测试构建

## Bug 修复
- 修复 120+ 个问题,包括 RDP panic、批量扫描漏报、
  JSON 输出格式、Redis 检测、Context 超时等

## 测试增强
- 单元测试覆盖率 74-100%
- 并发安全测试
- 集成测试(Web/端口/服务/SSH/ICMP)
2026-01-11 20:16:23 +08:00

126 lines
2.3 KiB
Markdown

# fscan-lite
极简但极致兼容的TCP内网端口扫描器
## 设计理念
**兼容性第一,简洁至上**
- 支持从 Windows 98 到 Windows 11
- 支持从 Ubuntu 8.04 到最新版本
- 使用 C89 标准,最大兼容性
- 静态编译,零依赖运行
- 单个可执行文件 < 1MB
## 功能特性
- ✅ TCP端口连接扫描
- ✅ 支持端口范围 (1-65535, 80,443)
- ✅ 可配置超时时间
- ✅ 静态编译,零依赖
- ✅ 跨平台兼容
## 编译
### Linux/Unix
```bash
# 动态编译
make
# 静态编译(推荐)
make static
# 最小化编译
make small
```
### Windows
```bash
# MinGW 编译
mingw32-make -f Makefile
# 或使用MSVC
cl /TC src/*.c /Febin/fscan-lite.exe ws2_32.lib
```
## 使用方法
```bash
# 基本用法
./bin/fscan-lite -h 192.168.1.1 -p 22,80,443
# 扫描端口范围
./bin/fscan-lite -h 10.0.0.1 -p 1-1000
# 自定义超时
./bin/fscan-lite -h 192.168.1.100 -p 80,443 -t 2
```
## 参数说明
| 参数 | 说明 | 示例 |
|------|------|------|
| -h HOST | 目标主机IP | -h 192.168.1.1 |
| -p PORTS | 端口列表 | -p 80,443,8000-8080 |
| -t TIMEOUT | 超时时间(秒) | -t 3 |
| --help | 显示帮助 | --help |
| --version | 显示版本 | --version |
## 二进制大小对比
| 版本 | 大小 | 说明 |
|------|------|------|
| fscan (Go) | ~30MB | 包含运行时 |
| fscan-lite | ~900KB | 静态编译 |
| fscan-lite (strip) | ~700KB | 去除调试信息 |
## 兼容性测试
### Linux 发行版
- ✅ Ubuntu 8.04 - 24.04
- ✅ CentOS 5 - 9
- ✅ Debian 5 - 12
- ✅ RHEL 5 - 9
### Windows 版本
- ✅ Windows 98 SE
- ✅ Windows XP
- ✅ Windows 7/8/10/11
- ✅ Windows Server 2003-2022
## 技术实现
- **语言**: C89 (最大兼容性)
- **网络**: 原生socket API
- **编译**: GCC/MSVC/Clang
- **链接**: 静态链接,零依赖
- **大小**: < 1MB 单文件
## 性能对比
| 指标 | fscan | fscan-lite |
|------|-------|------------|
| 启动时间 | ~50ms | ~5ms |
| 内存占用 | ~20MB | ~2MB |
| 扫描速度 | 1000 ports/s | 1000 ports/s |
| 兼容性 | 现代系统 | 25年跨度 |
## 构建配置
```bash
# 查看构建信息
make info
# 所有构建选项
make help
```
## 许可证
与 fscan 主项目保持一致
---
**理念**: 一个工具应该在它设计的任何系统上都能运行,而不需要用户去寻找依赖项。