ZacharyZcR
|
94ead622e2
|
cleanup: 清理项目中的额外产物和临时文件
清理内容:
- 删除fscan-lite目录下的编译产物(.o文件)
- 移除临时测试脚本pull_images.sh
- 更新.gitignore,添加*.o和*.a编译对象文件规则
代码仓库整洁原则:
- 版本控制不应包含编译产物
- 临时脚本和测试文件不应提交
- .gitignore应覆盖所有可能的构建产物
影响:
- 减少仓库大小,避免无意义的文件变更
- 防止编译产物冲突和平台相关问题
- 保持代码仓库的专业性和整洁性
|
2025-09-02 01:15:08 +00:00 |
|
ZacharyZcR
|
9ad397f58f
|
perf: 使用单例模式消除重复协议检测
核心修复:
- 将WebPortDetector改为全局单例,消除多实例问题
- 所有协议检测共享同一个缓存,避免重复TCP连接
- 使用sync.Once确保线程安全的单例初始化
性能提升:
- 每个端口的协议检测从多次减少到1次
- 大幅降低TCP连接数,减少网络开销
- 缓存命中率显著提升
技术实现:
- GetWebPortDetector() 替代 NewWebPortDetector()
- newWebPortDetector() 改为私有方法
- BaseScanStrategy统一使用单例实例
这是数据结构决定性能的经典案例 - 通过正确的实例管理
彻底解决了重复检测问题
|
2025-09-02 00:06:17 +00:00 |
|
ZacharyZcR
|
c5eb2cef86
|
feat: 添加fscan-lite极简TCP端口扫描器
- 使用C89标准,支持Windows 98到Windows 11,Ubuntu 8-24
- 静态编译,单文件<1MB,零依赖运行
- 实现可靠的TCP Connect端口扫描
- 支持端口范围解析(1-1000, 80,443格式)
- 跨平台socket抽象层,最大兼容性
- 简化的Makefile构建系统
- 移除编译产生的临时对象文件
|
2025-09-02 00:03:24 +00:00 |
|
ZacharyZcR
|
a3177b28a6
|
fix: 修复插件系统逻辑Bug和架构问题
主要修复:
1. 修复时间显示Bug - StartTime初始化问题
2. 修复Web智能探测错误检测预定义端口而非用户指定端口
3. 修复本地插件被错误调用到端口扫描中的问题
4. 修复host:port格式双重处理导致的多余端口扫描
5. 统一插件过滤逻辑,消除接口不一致性
6. 优化Web检测缓存机制,减少重复HTTP请求
技术改进:
- 重构插件适用性检查逻辑,确保策略过滤器正确工作
- 区分Web检测的自动发现模式和用户指定端口模式
- 在解析阶段正确处理host:port格式,避免与默认端口冲突
- 完善缓存机制,提升性能
测试验证:
- ./fscan -h 127.0.0.1:3306 现在只检测3306端口
- 本地插件不再参与端口扫描
- Web检测只对指定端口进行协议检测
- 时间显示正确
|
2025-09-01 23:50:32 +00:00 |
|