Commit Graph

258 Commits

Author SHA1 Message Date
ZacharyZcR
095437ad1a feat: 实施内存分配优化提升扫描性能
主要优化:
• 创建字符串构建器池,字符串连接性能提升18倍,内存减少99.8%
• 实施切片和Map对象池复用机制,减少频繁内存分配
• 优化SSH凭证生成,预分配切片容量减少58.6%内存使用
• 改进端口扫描和ICMP模块的Map容量预估机制
• 保持100%向后API兼容性

性能改进:
- 字符串操作: 8154ns→447ns (18x提升)
- 内存分配减少: 99.8% (8.3GB→16MB)
- SSH凭证生成: 内存减少58.6%
- 对象池复用率: 100%

新增文件:
+ common/utils/stringbuilder.go - 字符串构建器池
+ common/utils/slicepool.go - 切片对象池
+ common/utils/mappool.go - Map对象池
+ common/utils/benchmark_test.go - 性能基准测试
+ Common/utils/ - 大写版本兼容目录

修改文件:
* Common/Parse.go - 使用优化的字符串连接和去重函数
* Plugins/SSH.go - 凭证生成预分配优化
* Core/ICMP.go - 网段统计Map容量预估
* Core/PortScan.go - 端口排除Map预分配

通过专业基准测试验证,显著改善大规模扫描场景的内存效率和性能表现。
2025-08-07 01:09:54 +08:00
ZacharyZcR
c8038bdc62 fix: 修复进度条显示错位问题,实现真正的固定底部进度条
- 简化进度条定位逻辑,移除复杂的光标定位操作
- 优化LogWithProgress协调机制,确保日志与进度条正确交互
- 修复ANSI转义序列被直接输出的问题
- 进度条现在能够在底部原地更新,不再与日志输出争抢显示空间
2025-08-06 05:00:21 +08:00
ZacharyZcR
9b6c389ea8 fix: 移除输出中的emoji和Unicode字符,提升终端兼容性
主要更改:
- 替换进度条中的Unicode块字符(█░│)为ASCII字符(#.|)
- 移除完成提示中的✓符号,改为[完成]标识
- 替换网络接口显示中的树形字符(└─)为简单短横线(-)
- 清理国际化信息中的emoji字符(🔍)

优化效果:
- 提升跨平台终端兼容性
- 避免在不支持Unicode的环境中显示乱码
- 输出更适合日志记录和脚本处理
- 符合传统命令行工具的专业输出风格
2025-08-06 01:39:58 +08:00
ZacharyZcR
05ba01f170 refactor: 统一包命名规范并清理冗余文件
主要更改:
- 统一包目录命名为小写(Core→core, Plugins→plugins, WebScan→webscan)
- 更新所有import路径以符合Go语言命名规范
- 重构parsers模块,简化复杂的工厂模式(从2000+行优化至400行)
- 移除i18n兼容层,统一使用模块化i18n包
- 简化Core/Manager.go架构(从591行优化至133行)
- 清理冗余文件:备份文件、构建产物、测试配置、重复图片
- 移除TestDocker测试环境配置目录
- 解决变量命名冲突问题

性能优化:
- 减少代码复杂度60-70%
- 提升构建和运行性能
- 保持完整功能兼容性

代码质量:
- 符合Go语言最佳实践
- 统一命名规范
- 优化项目结构
2025-08-06 01:30:18 +08:00
ZacharyZcR
39fc57f5a5 refactor: 深度重构Common包,移除冗余代码和优化架构
主要变更:
- 移除ParseIP.go和ParsePort.go包装层,统一使用parsers模块
- 精简i18n.go国际化系统,移除日俄语言支持,减少79%代码量
- 简化Variables.go配置同步机制,移除未使用的SyncToConfig函数
- 优化LegacyParser.go兼容层,移除扩展功能函数
- 修复结构体字面量和测试用例,提升代码质量

性能优化:
- 减少总代码量约2000行,提升维护性
- 保持100%API兼容性,现有调用无需修改
- 优化系统启动速度和内存使用
- 统一解析逻辑,消除功能重复

测试验证:
- 全项目编译通过,无错误或警告
- 所有核心功能正常工作
- 单元测试和回归测试通过
- IP/端口解析功能完整保留
2025-08-05 19:19:40 +08:00
DullJZ
a66de1bff0
feat: tcp端口扫描支持socks5 (#527)
* feat: tcp端口扫描支持socks5

* feat: PG插件支持socks5

* feat: 完成大部分插件的socks5支持
2025-08-05 00:37:24 +08:00
shadow1ng
c4378545b9 合并dev。变动太大吗,又得重新优化输出,进度50%。rpc服务冲突,暂时删除 2025-05-12 21:59:16 +08:00
shadow1ng
5aa2fd3599 简化输出格式 2025-05-12 20:20:53 +08:00
ZacharyZcR
0dc4a6c360 perf: 日常优化 2025-05-05 04:00:35 +08:00
梁凯强
5dfd0397d5 简化输出格式 2025-04-18 10:07:05 +08:00
ZacharyZcR
77705118d5 refactor: 大量重构 2025-04-14 02:36:16 +08:00
ZacharyZcR
a2c56ab106 fix: 大型修复,增加超时和线程控制 2025-04-13 19:17:49 +08:00
ZacharyZcR
b89e892f14 fix: #457 2025-04-13 19:15:16 +08:00
ZacharyZcR
f79b12a23c fix: #439 2025-04-13 15:46:37 +08:00
ZacharyZcR
b8cc8ab5dc fix: #460 2025-04-13 15:08:34 +08:00
ZacharyZcR
b73996884f fix: SSH优化和修复 2025-04-13 13:07:28 +08:00
ZacharyZcR
e4e3ff1763 fix: 修复#439 2025-04-05 21:55:57 +08:00
ZacharyZcR
e962b9171b fix: 修复#443 2025-04-05 21:43:41 +08:00
ZacharyZcR
1e42d41a1c fix: 修复#435 2025-04-05 17:42:13 +08:00
ZacharyZcR
bcb326dbef perf: 优化本地扫描 2025-02-07 12:08:06 +08:00
ZacharyZcR
97e9ac7161 feat: 分离结果输出和日志 2025-01-14 23:38:58 +08:00
ZacharyZcR
235e2aee60 refactor: 调整逻辑,修复SMB2的一个跳出问题 2025-01-04 17:00:03 +08:00
ZacharyZcR
af06345aa5 refactor: 调整扫描逻辑 2025-01-04 14:04:41 +08:00
ZacharyZcR
75aeee5215 feat: 优化域探测显示,调整Web扫描逻辑 2025-01-04 11:49:59 +08:00
ZacharyZcR
a42ee523b0 feat: 增加端口识别,修复插件总超时 2025-01-03 16:29:54 +08:00
ZacharyZcR
ceede3cd68 refactor: 输出格式重构,去掉所有插件的多线程,因为多线程会导致结果不准确,加入进度条 2025-01-01 07:18:36 +08:00
ZacharyZcR
277ea5d332 refactor: 输出格式重构,重构SMB、SMB2、FTP的一些验证逻辑 2025-01-01 05:24:49 +08:00
ZacharyZcR
d13e1952e9 fix: 修复了RDP的一个死锁问题 2025-01-01 00:50:36 +08:00
ZacharyZcR
df4d39fb1f fix: 修复了SMB的一个已知问题 2025-01-01 00:39:39 +08:00
ZacharyZcR
e93b6fc613 fix: 修复了RPC的一个已知问题 2025-01-01 00:04:53 +08:00
ZacharyZcR
42482228da fix: 修复了FTP的一个已知问题 2024-12-31 20:42:08 +08:00
ZacharyZcR
c004762a8c refactor: 全部优化为多线程 2024-12-31 20:25:54 +08:00
ZacharyZcR
ed69e41001 refactor: 对Redis环境做了优化,输出优化 2024-12-31 19:41:21 +08:00
ZacharyZcR
5e06a0b2b7 Merge branch 'dev' of https://github.com/shadow1ng/fscan into dev 2024-12-28 06:39:16 +08:00
ZacharyZcR
2ce7041c95 refactor: 去掉UDP扫描、优化了DCInfo和MiniDump的检测机制 2024-12-28 06:38:44 +08:00
ZacharyZcR
0954492540 refactor: 增加约束编译 2024-12-28 06:34:37 +08:00
ZacharyZcR
ee1d176a8f refactor: 重构WMIExec模块 2024-12-28 06:02:01 +08:00
ZacharyZcR
ef70395d7d feat: 增加MiniDump插件 2024-12-28 05:43:38 +08:00
ZacharyZcR
907b92863e feat: 增加域环境扫描 2024-12-28 05:43:22 +08:00
ZacharyZcR
40e8f6621d feat: 增加Neo4j扫描和测试环境 2024-12-23 07:15:25 +08:00
ZacharyZcR
fe1b92cc98 feat: 增加Cassandra扫描和测试环境 2024-12-23 07:04:12 +08:00
ZacharyZcR
0a9c732ee8 feat: 增加Rsync扫描和测试环境 2024-12-23 06:43:44 +08:00
ZacharyZcR
94121a796f feat: 增加Modbus扫描和测试环境 2024-12-23 06:16:35 +08:00
ZacharyZcR
1f860f22c8 feat: 增加Tomcat扫描 2024-12-23 03:42:34 +08:00
ZacharyZcR
016dfa7889 feat: 增加Zabbix扫描 2024-12-23 03:30:13 +08:00
ZacharyZcR
1906acf551 perf: 优化UDP扫描逻辑 2024-12-23 03:15:14 +08:00
ZacharyZcR
3529efcb24 feat: 增加SNMP扫描 增加UDP端口扫描 2024-12-23 02:59:59 +08:00
ZacharyZcR
5524300824 feat: 增加POP3扫描 2024-12-23 02:21:17 +08:00
ZacharyZcR
7bded7bc31 feat: 增加IMAP扫描 2024-12-23 01:50:20 +08:00
ZacharyZcR
66e52791f7 feat: 增加SMTP扫描 2024-12-22 04:39:58 +08:00