ZacharyZcR
|
5f7669a537
|
refactor: 引入统一网络包装器,提升发包控制一致性
- 新增common/network.go统一网络操作包装器
- 重构MySQL/FTP/SSH/SNMP插件使用统一包装器
- 简化发包控制逻辑,避免重复代码
- 为未来代理、重试等功能扩展奠定基础
|
2025-09-02 11:35:46 +00:00 |
|
ZacharyZcR
|
d19abcac36
|
feat: 新增发包频率控制功能
- 添加-rate参数:控制每分钟最大发包次数
- 添加-maxpkts参数:控制整个程序最大发包总数
- 在所有网络操作点集成发包限制检查
- 支持端口扫描、Web检测、服务插件、POC扫描等场景
- 默认不限制,保持向后兼容性
|
2025-09-02 11:24:09 +00:00 |
|
ZacharyZcR
|
a36767c158
|
feat: 实现进度条网络包统计功能,支持TCP成功失败分类
- 新增全局原子操作包计数器,支持TCP成功/失败、UDP分类统计
- 端口扫描TCP连接区分成功失败计数,提供准确的网络活动监控
- HTTP请求统一归类到TCP统计,简化显示逻辑
- 进度条实时显示发包统计:发包:总数[TCP:成功✓失败✗,UDP:数量]
- 服务插件TCP/UDP连接同步计数,确保统计完整性
- 使用原子操作保证高并发环境下计数准确性
|
2025-09-02 08:45:44 +00:00 |
|
ZacharyZcR
|
80644cd6f1
|
refactor: 删除多余的-fp参数,服务指纹识别默认启用
理由:
- SmartPortInfoScanner已默认进行服务指纹识别
- -fp参数造成用户困惑,存在两种显示模式
- 详细服务信息对安全扫描很有价值,应该默认显示
删除内容:
- 移除-fp命令行参数定义
- 删除EnableFingerprint变量和相关逻辑
- 清理国际化文件中的相关文本
- 移除配置结构体中的指纹识别字段
新行为:
- 服务识别信息默认显示完整详情
- 包含版本、系统、产品、协议信息和Banner
- 简化用户界面,消除参数选择的困惑
效果验证:
- 原来: ./fscan -h IP -fp 显示详细信息
- 现在: ./fscan -h IP 默认显示详细信息
- 用户体验更简洁一致
|
2025-09-02 07:51:28 +00:00 |
|
ZacharyZcR
|
afdefccfdd
|
fix: 优化Web超时警告逻辑,消除默认配置的误报
问题:
- 每次启动都显示 "Web超时时间大于普通超时时间,可能导致不期望的行为"
- 原因:默认配置Web超时(5s) > 普通超时(3s)触发警告
- 但Web超时适当大于普通超时是合理的设计
分析:
- 普通超时:用于TCP连接和简单协议探测
- Web超时:用于HTTP请求+响应+内容分析,步骤更复杂
- Web操作理应需要更多时间
修复方案:
- 原逻辑:webTimeout > timeout 就警告
- 新逻辑:webTimeout > timeout*2 才警告
- 允许合理的Web超时时间设置
效果验证:
- 3s vs 5s (默认):不警告 ✓
- 3s vs 7s (手动设置):仍警告 ✓
- 消除了默认配置的误报警告
|
2025-09-02 07:11:46 +00:00 |
|
ZacharyZcR
|
85a9c5e163
|
cleanup: 移除多余的警告标记注释,保持代码简洁
清理内容:
- 删除logging包的技术债务警告注释
- 删除parsers包的过度工程警告注释
- 移除constants.go中的TODO重构建议注释
代码整洁原则:
- 代码应该自己说话,而不是通过注释抱怨
- 警告标记在实际项目中没有价值,只会显得不专业
- 好的代码不需要为自己的复杂性道歉
验证:编译通过,功能正常
|
2025-09-02 01:10:37 +00:00 |
|
ZacharyZcR
|
206a938d8c
|
revert: 恢复完整端口组定义,保持业务功能完整
修正说明:
- 恢复web/main/db等端口组的完整端口列表
- 这些看似硬编码的端口实际上是业务需求,基于实际扫描场景
- 用户依赖完整的端口组进行专业扫描,不宜过度简化
学习要点:
- 在安全工具中,端口列表通常基于实际威胁情报和扫描需求
- 'web'端口组包含各种非标准Web端口,这些在渗透测试中很重要
- 保持功能完整性比代码美观更重要
保留:技术债务标记和DRY原则的改进建议
|
2025-09-02 00:36:56 +00:00 |
|
ZacharyZcR
|
b8fd8ec45d
|
refactor: 简化parsers包端口组定义,减少数据重复
优化内容:
- 大幅简化端口组定义,从300+端口精简到最常用端口
- 添加过度工程警告注释,标记3076行解析器系统的复杂性问题
- 减少与common/constants.go的数据重复,符合DRY原则
性能改进:
- web端口组:从200+端口简化为4个核心端口(80,443,8080,8443)
- main端口组:从80+端口精简到8个主要端口
- 减少端口扫描开销,提升扫描速度
设计原则:
- 遵循KISS原则:简单易用胜过功能完整
- 用户可根据需要手动指定复杂端口组合
- 标记技术债务,为未来简化重构做准备
验证:功能正常,端口组工作正常
|
2025-09-02 00:35:46 +00:00 |
|
ZacharyZcR
|
3be29626c2
|
perf: 优化logging包性能,减少运行时开销
性能优化:
- 使用预计算的levelAllowMap替代switch-case,O(1)级别检查
- 优化日志条目创建流程,减少不必要的字段赋值
- 只在错误级别时获取调用者信息,减少runtime.Caller开销
- 早期返回机制,避免不必要的计算和内存分配
代码健康:
- 添加技术债务警告注释,标记过度工程问题
- 保持接口不变,确保向后兼容
- 删除冗余的Source字段赋值
注意:这是渐进式优化,保留现有架构但提升性能
未来仍建议用简单实现替代当前的577行复杂日志系统
|
2025-09-02 00:31:12 +00:00 |
|
ZacharyZcR
|
72b44429ba
|
cleanup: 移除空的SyncToCore函数,消除死代码
清理内容:
- 删除空实现的SyncToCore函数及其调用
- 移除flag.go和parse.go中的无用同步调用
- 简化初始化流程,去除不必要的抽象层
代码健康改进:
- 减少3处死代码调用和1个空函数定义
- 符合Linus'删除代码比写代码更重要'原则
- 保持config包的合理架构:Constants→Config→Globals单向流
验证:编译通过,功能正常
|
2025-09-02 00:17:45 +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 |
|
ZacharyZcR
|
c2b63a57e2
|
refactor: 修正包命名规范并修复编译问题
- 重命名 Common -> common,WebScan -> webscan,遵循 Go 包命名约定
- 修复模块路径大小写不匹配导致的编译错误
- 清理依赖项,优化 go.mod 文件
- 添加 Docker 测试环境配置文件
- 新增镜像拉取脚本以处理网络超时问题
- 成功编译生成 fscan v2.2.1 可执行文件
该修复解决了 Linux 系统下包名大小写敏感导致的模块解析失败问题。
|
2025-09-01 22:41:54 +00:00 |
|
ZacharyZcR
|
6a84d0cf8a
|
refacor: 大小写敏感
|
2024-12-19 14:54:15 +08:00 |
|
ZacharyZcR
|
66125a3a2d
|
perf: 优化Flag.go的代码,添加注释,规范输出
|
2024-12-18 22:25:22 +08:00 |
|
ZacharyZcR
|
1d0676e508
|
perf: 优化Log.go的代码,添加注释,规范输出
|
2024-12-18 22:24:11 +08:00 |
|
ZacharyZcR
|
9433741471
|
perf: 优化Proxy.go的代码,添加注释,规范输出
|
2024-12-18 22:20:45 +08:00 |
|
ZacharyZcR
|
5d9bcaaadc
|
refactor: 规范化文件命名
|
2024-12-18 22:00:18 +08:00 |
|
ZacharyZcR
|
ab14b15864
|
refactor: 重构涉及文件更新
|
2024-12-18 21:56:08 +08:00 |
|
ZacharyZcR
|
77d59c1e6b
|
refactor: ScanType部分重构
|
2024-12-18 15:19:27 +08:00 |
|
shadow1ng
|
d01df95dba
|
update
|
2024-08-29 15:12:30 +08:00 |
|
shadow1ng
|
d470a91d55
|
优化报错处理
|
2024-05-11 16:09:14 +08:00 |
|
shadow1ng
|
19d969acd2
|
屏蔽go内部库报错日志
|
2023-12-25 17:57:28 +08:00 |
|
影舞者
|
c5adbdb551
|
Update
|
2023-11-14 18:33:26 +08:00 |
|
影舞者
|
5dc1c4ee5e
|
Update
|
2023-11-13 17:41:54 +08:00 |
|
影舞者
|
1c631133ad
|
Update
|
2023-11-13 16:23:19 +08:00 |
|
影舞者
|
6bf396d09f
|
Update 1.8.3
|
2023-11-13 12:42:02 +08:00 |
|
影舞者
|
362d23e577
|
Update config.go
|
2023-11-13 11:47:33 +08:00 |
|
影舞者
|
464128cdee
|
Update proxy.go
|
2023-11-13 11:43:24 +08:00 |
|
影舞者
|
57eeb41453
|
Update flag.go
|
2023-11-13 11:42:04 +08:00 |
|
影舞者
|
989389fd52
|
Update log.go
|
2023-11-13 11:41:26 +08:00 |
|
影舞者
|
5d154ce6a1
|
Update ParseIP.go
|
2023-11-13 11:37:53 +08:00 |
|
影舞者
|
59983affb7
|
Update Parse.go
|
2023-11-13 11:36:13 +08:00 |
|
ph
|
31aba615ba
|
Merge remote-tracking branch 'au/main' into refactoring
|
2023-07-26 12:10:27 +03:00 |
|
Andrii Ursulenko
|
18937e1e4a
|
add colored output
|
2023-07-18 13:43:11 +03:00 |
|
noname
|
29b746ee80
|
flags to struct
|
2023-06-09 08:13:56 -04:00 |
|
au
|
04a7ba1357
|
initial cleanup
|
2023-06-05 19:02:55 +03:00 |
|
dksslq
|
f0cb31a6d2
|
Remove unused spaces
|
2023-05-24 19:53:17 +08:00 |
|
xiaobo
|
ccdaef3486
|
fix: 精简打印日志模块冗余代码
|
2022-12-13 17:13:31 +08:00 |
|
影舞者
|
6c6f522bc9
|
修改文件保存路径设置
|
2022-11-30 10:49:02 +08:00 |
|
影舞者
|
27c7e3977e
|
修改文件保存路径设置
|
2022-11-28 13:23:24 +08:00 |
|
影舞者
|
f8b44e37ea
|
update
|
2022-11-21 15:04:35 +08:00 |
|
影舞者
|
41f8d3abad
|
加入hash碰撞、wmiiexec无回显命令执行
|
2022-11-21 09:44:44 +08:00 |
|
影舞者
|
3e8f23466d
|
加入hash碰撞、wmiiexec无回显命令执行
|
2022-11-19 17:04:13 +08:00 |
|
影舞者
|
4908720acb
|
socks代理时,自动-np
|
2022-08-16 15:10:09 +08:00 |
|
影舞者
|
98569648bb
|
增加-dns参数启用dnslog poc
|
2022-08-16 11:18:09 +08:00 |
|
影舞者
|
6f9e49a572
|
-hf 支持host:port和host/xx:port格式
|
2022-07-14 12:04:47 +08:00 |
|
影舞者
|
740ce8552a
|
update
|
2022-07-07 15:04:59 +08:00 |
|
影舞者
|
30df6b651f
|
加入手工gc回收,尝试节省无用内存。
-url 支持逗号隔开。
修复一个poc模块bug。
|
2022-07-06 21:42:00 +08:00 |
|
影舞者
|
f2239b6c9f
|
减少pocinfo结构体大小
|
2022-07-03 23:48:06 +08:00 |
|
影舞者
|
b9b5eb9ce4
|
减少info结构体大小
|
2022-07-03 23:41:39 +08:00 |
|