ZacharyZcR
|
05727a0db7
|
feat: 实现Telnet远程终端协议专业扫描插件
- 新增Telnet服务插件,支持完整的Telnet协议实现和弱口令检测
- 实现Telnet连接器、利用器和主插件的完整新架构
- 支持智能服务器类型识别(无需认证、仅密码、用户名+密码)
- 集成IAC命令处理、选项协商等完整Telnet协议功能
- 支持多种认证模式和用户名/密码组合暴力破解
- 完善国际化消息支持和Docker测试环境配置
- 测试验证:成功检测root:123456等弱密码组合
|
2025-08-09 15:42:46 +08:00 |
|
ZacharyZcR
|
8da185257b
|
feat: 实现SNMP网络管理协议专业扫描插件
- 新增SNMP服务插件,支持UDP协议和community字符串认证
- 实现SNMP连接器、利用器和主插件的完整架构
- 添加UDP端口161的特殊处理机制,解决UDP端口扫描问题
- 支持默认community字符串爆破(public, private, cisco, community)
- 集成SNMP系统信息获取和服务识别功能
- 完善国际化消息支持和Docker测试环境配置
|
2025-08-09 15:34:05 +08:00 |
|
ZacharyZcR
|
fbc75bb709
|
feat: 添加Rsync和SMTP插件实现文件
包含新架构下的连接器、利用器和插件主体实现:
- rsync服务插件:支持RSYNCD协议和模块扫描
- smtp服务插件:支持SMTP协议和PLAIN认证
- PostgreSQL插件文件(之前遗漏)
- Docker测试环境配置文件
|
2025-08-09 15:05:42 +08:00 |
|
ZacharyZcR
|
188f949f09
|
feat: 完成Rsync和SMTP服务插件迁移到新架构
- 完成Rsync文件同步服务插件迁移
* 实现RSYNCD协议支持和模块列表获取
* 支持匿名访问和认证扫描
* 添加Docker测试环境配置
- 完成SMTP邮件服务插件迁移
* 实现SMTP协议和PLAIN认证支持
* 支持匿名访问检测和弱密码扫描
* 添加Docker测试环境配置
- 更新国际化消息和插件注册机制
- 两个插件均通过完整功能测试验证
|
2025-08-09 15:05:19 +08:00 |
|
ZacharyZcR
|
c2bb4bfd35
|
feat: Rsync和SMTP服务插件迁移到新架构完成
- 完成Rsync文件同步服务插件迁移
* 实现RSYNCD协议支持和模块列表获取
* 支持匿名访问和认证扫描
* 添加Docker测试环境配置
- 完成SMTP邮件服务插件迁移
* 实现SMTP协议和PLAIN认证支持
* 支持匿名访问检测和弱密码扫描
* 添加Docker测试环境配置
- 更新国际化消息和插件注册机制
- 两个插件均通过完整功能测试验证
|
2025-08-09 13:46:46 +08:00 |
|
ZacharyZcR
|
3e71e7e4c9
|
feat: RabbitMQ消息队列服务插件迁移到新架构完成
- 实现AMQP协议连接器,支持RabbitMQ消息队列服务扫描
- 支持弱密码检测和服务识别功能
- 优先检测默认凭据admin/123456和guest/guest
- 服务识别使用TCP连接检测,避免AMQP协议复杂度
- 简化实现,不提供利用功能,专注于安全扫描
- 集成国际化消息系统
- 测试通过:服务识别和弱密码检测功能
|
2025-08-09 13:30:24 +08:00 |
|
ZacharyZcR
|
532daf16ed
|
feat: POP3邮件服务插件迁移到新架构完成
- 实现POP3协议连接器,支持普通和TLS连接(端口110/995)
- 支持弱密码检测和邮件服务识别功能
- 简化实现,不提供利用功能,专注于安全扫描
- 集成国际化消息系统
- 测试通过:服务识别和弱密码检测功能
|
2025-08-09 13:16:47 +08:00 |
|
ZacharyZcR
|
3de7b21fe0
|
feat: Oracle数据库插件迁移到新架构完成
- 实现Oracle TNS协议连接器,支持多种服务名
- 支持高危用户(SYS/SYSTEM)检测和SYSDBA权限
- 实现服务识别和弱密码检测功能
- 集成国际化消息系统
- 测试通过:服务识别和高危用户认证功能
|
2025-08-09 13:02:11 +08:00 |
|
ZacharyZcR
|
dc8579f554
|
feat: 实现Neo4j图数据库专业扫描插件
- 新增Neo4j Bolt协议识别和弱密码检测
- 支持未授权访问和默认凭据检测
- 实现ServiceConnector三层架构模式
- 添加Neo4j专用国际化消息
- 支持7474/7687端口扫描
- 自动注册到插件系统
|
2025-08-09 11:57:35 +08:00 |
|
ZacharyZcR
|
a71092b514
|
feat: 实现Microsoft SQL Server数据库专业扫描插件
- 新增MSSQL协议识别和弱密码检测
- 支持sa等管理员账户暴力破解
- 实现ServiceConnector三层架构模式
- 添加MSSQL专用国际化消息
- 支持SOCKS代理连接
- 自动注册到插件系统
|
2025-08-09 11:46:07 +08:00 |
|
ZacharyZcR
|
7e4d5a0bcd
|
feat: 实现MongoDB NoSQL数据库专业扫描插件
- 新增MongoDB协议识别和未授权访问检测
- 支持Wire Protocol(OP_MSG和OP_QUERY)
- 实现connector/exploiter/plugin三层架构
- 添加MongoDB专用国际化消息
- 自动注册到插件系统
|
2025-08-08 14:02:13 +08:00 |
|
ZacharyZcR
|
fbe141cc80
|
feat: 实现Memcached和Modbus专业扫描插件
|
2025-08-08 13:37:58 +08:00 |
|
ZacharyZcR
|
7b8d2b4add
|
feat: 实现LDAP轻量级目录访问协议专业扫描插件
|
2025-08-08 12:54:03 +08:00 |
|
ZacharyZcR
|
4e661735f8
|
feat: 实现FTP文件传输协议专业扫描插件
|
2025-08-08 12:12:29 +08:00 |
|
ZacharyZcR
|
6e936f604a
|
feat: 实现Apache Kafka消息队列专业扫描插件
- 新增Kafka插件支持9092等端口扫描
- 实现SASL PLAIN认证机制支持
- 支持弱密码暴力破解和服务识别功能
- 延迟连接设计避免SASL握手错误
- 支持Consumer和Client双重连接验证
- 完善Kafka相关国际化消息支持
- 兼容新插件架构设计模式
|
2025-08-08 11:34:37 +08:00 |
|
ZacharyZcR
|
0808461026
|
feat: 实现IMAP邮件服务专业扫描插件
- 新增IMAP/IMAPS插件支持143和993端口扫描
- 实现TLS/SSL加密连接支持
- 添加IMAP协议专用超时机制(默认超时+5秒)
- 支持弱密码暴力破解和服务识别功能
- 完善IMAP相关国际化消息支持
- 兼容新插件架构设计模式
|
2025-08-08 11:27:55 +08:00 |
|
ZacharyZcR
|
a70df9bc3c
|
refactor: 清理Cassandra插件exploiter.go为最小实现
- 移除所有利用功能代码,简化为最小版本
- 移除gocql依赖和复杂的数据提取逻辑
- 保持与其他插件一致的最小化实现模式
|
2025-08-08 10:26:00 +08:00 |
|
ZacharyZcR
|
ab8834a602
|
refactor: 简化非Redis插件的exploiter实现为最小版本
- 清理SSH、MySQL、FTP、ActiveMQ插件的exploiter.go为最小实现
- 移除所有未使用的利用功能代码和依赖
- 仅保留基础结构以维持接口兼容性
- 只有Redis插件保留完整的参数驱动利用功能
|
2025-08-08 10:14:30 +08:00 |
|
ZacharyZcR
|
90576b122c
|
fix: 完全移除SSH插件的自动利用调用
- 删除SSH插件中的autoExploit方法调用
- 移除autoExploit方法定义
- SSH插件现在只进行弱密码扫描,不再尝试任何利用功能
- -sshkey参数仅用于私钥文件认证,不涉及利用功能
修复后SSH插件不再显示"利用失败"消息
|
2025-08-08 09:45:34 +08:00 |
|
ZacharyZcR
|
60e59f5a78
|
refactor: 精简利用功能,只保留真正有攻击价值的利用方法
- 完全移除FTP、MySQL、SSH、ActiveMQ的利用功能,只保留弱密码扫描
- 重构Redis插件利用方法,严格按参数控制启用:
* arbitrary_file_write: 需要-rwp和(-rwc或-rwf)参数
* ssh_key_write: 需要-rf参数
* crontab_injection: 需要-rs参数
- 修复Redis未授权访问时的利用条件检查问题
- 去除所有信息收集类利用,只保留GetShell和文件写入等实际攻击能力
现在利用功能完全参数驱动,只有提供对应参数时才启动相应利用方法
|
2025-08-08 09:40:56 +08:00 |
|
ZacharyZcR
|
4b482b603d
|
fix: 修复FTP插件注册和利用功能问题
- 在Core/Registry.go中添加FTP插件导入,确保插件正确注册
- 完善FTP插件的i18n消息支持,添加完整的中英文消息
- 修复FTP利用器错误处理逻辑,改进错误报告机制
- 添加FTP测试环境docker-compose配置文件
修复后FTP插件支持:
- 服务识别和版本检测
- 弱密码扫描和匿名登录检测
- 目录枚举、文件上传下载测试等利用功能
|
2025-08-08 08:58:36 +08:00 |
|
ZacharyZcR
|
83afd0f994
|
feat: 实现FTP文件传输协议专业扫描插件
• 新增FTP插件支持标准21端口和常见替代端口
• 实现匿名访问检测和弱密码爆破功能
• 支持自动利用:目录枚举、文件下载测试、文件上传测试
• 集成-nobr模式服务识别和-ne自动利用功能
• 完整的Context超时机制和连接数管理
• 添加中英文国际化消息支持
• 基于新插件架构实现模块化设计
功能特性:
- 支持jlaffaye/ftp驱动的FTP协议通信
- 智能识别vsFTPd、ProFTPD等多种FTP服务器
- 三种利用方法:目录结构探测、文件操作测试
- 完整的错误处理和连接限制处理机制
|
2025-08-08 04:46:35 +08:00 |
|
ZacharyZcR
|
516225a11f
|
feat: 实现Apache Cassandra数据库服务专业扫描插件
• 新增Cassandra插件支持Native Protocol (9042端口)
• 实现弱密码检测和未授权访问检测
• 支持自动利用:信息收集、Keyspace枚举、数据提取
• 集成-nobr模式服务识别和-ne自动利用功能
• 完整的Context超时机制和代理支持
• 添加中英文国际化消息支持
• 基于新插件架构实现模块化设计
功能特性:
- 支持gocql驱动的CQL查询和认证
- 智能识别Cassandra Native Protocol v4
- 三种利用方法:系统信息、数据库结构、敏感数据
- 完整的错误处理和超时控制机制
|
2025-08-08 04:34:32 +08:00 |
|
ZacharyZcR
|
51735c4e25
|
feat: 实现-nobr/-ne参数和服务识别功能
新增功能:
- 添加-ne参数禁用利用攻击,实现弱密码检测和利用攻击的分离控制
- 实现-nobr模式下所有插件的服务识别功能,单数据包获取最大信息
- 修复端口插件匹配逻辑,只调用适配端口的插件提升扫描效率
插件改造:
- MySQL: 通过握手包识别获取版本信息
- Redis: INFO命令识别版本,优先检测未授权访问
- SSH: Banner识别获取协议和服务器版本
- ActiveMQ: STOMP协议识别获取版本和认证状态
技术改进:
- 新增端口匹配算法确保精准插件调用
- 完善i18n国际化支持所有新功能
- 统一服务识别接口设计便于扩展
|
2025-08-08 03:32:00 +08:00 |
|
ZacharyZcR
|
ecc79aa9b8
|
feat: 实现ActiveMQ消息队列服务专业扫描插件
新增功能:
- 基于STOMP协议的ActiveMQ弱密码检测
- 完整的多语言i18n支持(中英文)
- 自动信息收集和权限识别
- 队列枚举和管理权限检测
- 优化的Docker测试环境配置
技术特性:
- 支持端口61613(STOMP)和61614(STOMP+SSL)
- 智能用户权限分析
- 异步利用执行机制
- 统一的插件架构设计
- 完善的错误处理和日志记录
测试环境:
- 简化的ActiveMQ Docker配置
- 预配置多种测试凭据
- 专注STOMP协议,提升性能
|
2025-08-08 02:53:14 +08:00 |
|
ZacharyZcR
|
d91ed05d0e
|
restore: 从main分支恢复TestDocker测试环境目录
- 恢复完整的Docker测试环境配置
- 支持MySQL, Redis, SSH, MongoDB等多种服务测试
- 包含57个测试环境配置文件
- 方便进行插件功能验证和性能测试
|
2025-08-07 23:43:34 +08:00 |
|
ZacharyZcR
|
8a2c9737f3
|
enhance: 增强进度条显示和扫描配置功能
- 在扫描开始时显示详细配置信息(-t, -time, -mt, -gt参数)
- 端口扫描进度条显示线程数配置
- 进度条实时显示插件和连接并发状态
- 添加ConcurrencyMonitor并发监控系统
- 提升mt参数默认值从10到50以提高扫描性能
- 移除端口范围限制,支持全端口扫描(1-65535)
- 完善中英文国际化支持
|
2025-08-07 14:48:32 +08:00 |
|
ZacharyZcR
|
de286026e8
|
refactor: 统一插件超时机制实现Context-First架构
- 重构SSH/MySQL/Redis插件超时控制,移除第三方库超时依赖
- 统一使用Go Context超时机制,提升超时控制可靠性和精确度
- 扩展MySQL/Redis/SSH插件默认端口支持,提升扫描覆盖率
- 修复插件系统中ConcurrentScanConfig超时配置缺失问题
- 优化插件检测逻辑,正确识别新架构插件并显示准确状态信息
- 解决插件在错误端口上长时间等待问题,显著提升扫描效率
|
2025-08-07 14:01:50 +08:00 |
|
ZacharyZcR
|
b346e6bdc1
|
feat: 完善插件系统i18n国际化支持
- 修复重复输出问题:适配器层改为debug输出,避免与插件层重复
- 修复格式化错误:修正SaveExploitResult中的端口格式化问题
- 新增利用方法名称i18n:添加GetExploitMethodName函数支持方法名本地化
- 扩展i18n消息模板:新增利用方法执行、MySQL/Redis专用消息模板
- 完善exploiter国际化:所有利用方法和结果消息支持中英文切换
- 优化用户体验:利用方法显示从"information_gathering"变为"信息收集"
|
2025-08-07 12:30:17 +08:00 |
|
ZacharyZcR
|
43f210ffc6
|
feat: 实现新一代插件注册系统完全替代传统手动注册模式
- 重构插件注册架构采用现代工厂模式和自动发现机制
- 新增完整的插件元数据管理系统支持版本能力标签等信息
- 实现智能插件适配器提供向后兼容的桥接功能
- 建立MySQL Redis SSH三个标准插件作为新架构参考实现
- 优化插件扫描逻辑支持按端口按类型的智能查询和过滤
- 添加国际化支持和完善的文档体系
- 代码量减少67%维护成本大幅降低扩展性显著提升
新架构特点:
- 零配置插件注册import即用
- 工厂模式延迟初始化和依赖注入
- 丰富元数据系统和能力声明
- 完全解耦的模块化设计
- 面向未来的可扩展架构
测试验证: MySQL和Redis插件功能完整包括弱密码检测未授权访问检测和自动利用攻击
|
2025-08-07 11:28:34 +08:00 |
|
ZacharyZcR
|
b38684bc9e
|
fix: 修复AliveHosts全局变量内存泄漏问题
- 重构CheckLive函数使用局部变量代替全局变量
- 预分配容量避免频繁扩容提升性能
- 移除全局AliveHosts和ExistHosts变量声明
- 更新AliveScanner以使用局部存活主机列表
- 修复多次调用时内存累积问题
|
2025-08-07 10:08:46 +08:00 |
|
ZacharyZcR
|
78b8ff4f81
|
fix: 修复扫描模式验证和帮助文本过时问题
修复内容:
- 移除ValidationParser中无效的扫描模式(main, web, db, service, top1000, custom)
- 简化扫描模式验证逻辑,只保留真正支持的预定义模式(all, icmp)
- 允许任何插件名称作为扫描模式,实际验证在运行时进行
- 更新帮助文本,移除过时的portscan/tcpscan/udpscan引用
技术改进:
- 避免维护两套插件列表,减少维护成本
- 使验证逻辑与实际功能保持一致
- 提供更准确的用户指导信息
支持的扫描模式:
- all: 运行所有插件
- icmp: 存活探测模式
- 插件名称: mysql, redis, ssh等任何注册插件
- 多插件: mysql,redis,ssh等逗号分隔格式
|
2025-08-07 09:54:56 +08:00 |
|
ZacharyZcR
|
022461f407
|
feat: 添加-m icmp参数支持存活探测模式
新增功能:
- 支持通过-m icmp参数启用存活探测功能
- 与现有-ao参数功能等价,提供更直观的使用方式
- 添加参数冲突检查,当同时使用-ao和-m icmp时给出友好提示
- 完善参数验证,将icmp添加到有效扫描模式列表
技术实现:
- 扩展ValidationParser支持icmp模式验证
- 修改Scanner策略选择逻辑支持icmp模式
- 新增参数冲突检查函数checkParameterConflicts
- 更新帮助信息和国际化消息支持
向后兼容:
- 保持-ao参数原有功能不变
- 两种参数方式都能正确触发存活探测
- 支持中英文双语界面和提示信息
|
2025-08-07 09:45:01 +08:00 |
|
ZacharyZcR
|
78f81610cd
|
feat: 实现存活探测模式(-ao)支持快速主机存活状态检测
新增功能:
- 添加-ao参数启用存活探测模式,专注于ICMP ping检测
- 实现AliveScanner专用扫描器,提供详细统计信息
- 集成到Scanner架构,支持与其他扫描模式无缝切换
- 完善i18n国际化支持,覆盖中英文界面
技术实现:
- 新增core/AliveScanner.go实现专用存活检测逻辑
- 扩展Scanner.go选择策略支持存活探测模式
- 优化目标解析和错误处理机制
- 提供成功率、耗时等详细扫描统计
使用场景:
- 快速批量主机存活性验证
- 网络拓扑发现前期探测
- 大规模网络资产盘点预检
|
2025-08-07 09:28:11 +08:00 |
|
ZacharyZcR
|
6c93129cb1
|
refactor: 重构扫描器架构优化代码复用和性能
主要改进:
- 创建BaseScanStrategy基础类提取通用功能,减少60%代码重复
- 新增PortDiscoveryService分离端口发现逻辑,提升职责清晰度
- 优化插件匹配算法,从O(n×m×p)降至O(n×p)复杂度
- 修复插件适用性判断逻辑错误,确保精确端口匹配
- 完善国际化支持,新增21个i18n消息定义
- 代码行数显著减少:LocalScanner(-50%)、ServiceScanner(-42%)、WebScanner(-44%)
技术优化:
- 组合模式替代继承,提升扩展性
- 策略模式实现插件过滤器,支持Local/Service/Web类型
- 服务分离提升可测试性和维护性
- 性能优化减少嵌套循环和重复计算
确保漏洞扫描插件列表与实际执行插件保持精确一致。
|
2025-08-07 09:16:03 +08:00 |
|
ZacharyZcR
|
e8a7c594e9
|
refactor: 重构i18n模块为模块化架构提升维护性
将单个messages.go文件(935行)拆分为按功能分类的多个文件:
- core.go: 核心系统消息
- parse.go: 解析相关消息
- config.go: 配置相关消息
- scan.go: 扫描相关消息
- network.go: 网络相关消息
- output.go: 输出相关消息
- error.go: 通用错误消息
- flag.go: 命令行参数消息
- constants.go: 语言常量定义
- init.go: 统一初始化机制
提升了代码维护性、可读性和团队协作效率,为后续国际化扩展奠定良好基础。
|
2025-08-07 08:53:51 +08:00 |
|
ZacharyZcR
|
a250fd7e22
|
refactor: 重构Scanner.go架构并完善国际化支持
架构优化:
- 简化ScanStrategy接口,从8个方法减少到3个
- 移除不必要的Scanner结构体包装,改为直接函数调用
- 合并scheduleScanTask和executeSingleScan为单一函数
- 移除prepareScanTasks中间层,采用流式处理避免预构建任务列表
- 移除ScanTask结构体,减少内存分配
性能提升:
- 流式任务执行,降低内存占用
- 统一资源管理,简化并发控制
- 减少函数调用链层次,提高执行效率
国际化完善:
- 新增5个扫描流程相关的双语消息定义
- 所有硬编码中文字符串替换为i18n调用
- 完整支持中英文扫描模式选择和错误提示
代码质量:
- 从187行减少到166行,函数数量从9个减少到7个
- 职责更清晰,耦合度更低,可维护性提升
- 保持向后兼容,核心功能完整
|
2025-08-07 08:27:12 +08:00 |
|
ZacharyZcR
|
647860f170
|
refactor: 清理无法访问的死代码函数
移除项目中无法访问的死代码:
- 移除 Scanner.go 中的 logScanPlan 函数
- 移除 match_engine.go 中的 containsPort 和 IsPortMatch 函数
- 清理相关的未使用导入:strings、strconv
优化效果:
- 减少约60行无用代码
- 消除编译器 unreachable func 警告
- 提升代码可维护性和可读性
- 优化二进制文件大小
这些函数在参数精简过程中失去了调用者,成为死代码。
移除后核心功能保持完整,通过完整测试验证。
|
2025-08-07 08:05:39 +08:00 |
|
ZacharyZcR
|
f943f04de7
|
refactor: 精简命令行参数提升用户体验
移除冗余和低频使用的参数:
- 移除 -ping 参数,统一使用 -np 控制存活检测
- 移除 -top 参数,改为智能计算显示数量
- 移除 -np-bar, -slow, -sp 调试参数
- 重构 -pg 为 -nopg,简化进度条控制逻辑
主要变更:
- 将进度条控制从默认开启改为默认显示,使用 -nopg 禁用
- 实现智能TOP计算,根据扫描规模自动调整显示数量
- 统一参数命名风格,提高易用性
- 完善参数文档,新增 PARAMETERS.md
影响:
- 简化了用户界面,减少参数学习成本
- 保持核心功能不变,提升使用体验
- 移除功能重复和混淆的参数选项
|
2025-08-07 07:18:32 +08:00 |
|
ZacharyZcR
|
8c3039506f
|
refactor: 重命名common/core为common/base并移除LegacyParser中间层
- 重命名common/core包为common/base,解决与根目录core包名冲突问题
- 移除common/parsers/LegacyParser.go向后兼容层,简化代码架构
- 将SimpleParseIP/SimpleParsePort等函数重命名为ParseIP/ParsePort
- 更新所有相关引用和导入路径
- 删除41行冗余代码,提升代码可维护性
|
2025-08-07 06:31:05 +08:00 |
|
ZacharyZcR
|
0a60d76f71
|
refactor: 重构PortFinger.go为模块化架构以提升代码可维护性
将原有的878行单一文件重构为多个专门化模块:
- 类型定义模块:集中管理所有数据结构
- 扫描器核心:初始化和全局状态管理
- 编码工具:处理各种编码格式转换
- 探测器解析:解析nmap-service-probes格式
- 匹配引擎:模式匹配和服务识别
- 版本解析:服务版本信息提取
通过向后兼容层保持原有API接口不变,确保现有代码无需修改即可使用新架构
|
2025-08-07 02:26:12 +08:00 |
|
ZacharyZcR
|
69a70fc577
|
feat: 在漏洞扫描阶段显示启用的插件列表
增强用户体验,让用户清楚了解漏洞扫描时启用的具体插件:
功能特点:
• 在"开始漏洞扫描"后显示实际启用的插件列表
• 智能过滤,只显示针对发现端口的适用插件
• 完整国际化支持,中英文界面均正常显示
• 格式与现有"使用服务插件"保持一致
实现细节:
* Core/ServiceScanner.go: 新增LogVulnerabilityPluginInfo函数
- 使用与实际扫描相同的插件过滤逻辑
- 确保显示的插件列表与实际执行的插件一致
- 支持插件去重和格式化显示
* Common/i18n/messages.go: 添加漏洞扫描相关国际化文本
- scan_vulnerability_start: "开始漏洞扫描" / "Starting vulnerability scan"
- scan_vulnerability_plugins: "使用漏洞扫描插件: %s" / "Using vulnerability scan plugins: %s"
- scan_no_vulnerability_plugins: "未找到可用的漏洞扫描插件" / "No available vulnerability scan plugins found"
显示效果:
- 针对SMB端口(445,135): 显示"ms17010, smb, smb2, smbghost, findnet"
- 针对Web端口(80,443): 显示"webpoc, webtitle"
- 根据实际发现的开放端口智能显示相关插件
提升用户对扫描过程的可见性和控制感,便于调试和性能优化。
|
2025-08-07 01:38:51 +08:00 |
|
ZacharyZcR
|
291da0c879
|
refactor: 清理内存优化工具包中的死代码函数
根据静态分析结果清理未使用的函数:
删除文件:
- Common/utils/mappool.go (整个Map对象池模块未被使用)
精简文件:
- Common/utils/slicepool.go: 移除未使用的池管理函数,保留核心去重功能
- Common/utils/stringbuilder.go: 移除未使用的格式化和统计函数
- Common/utils/benchmark_test.go: 更新测试以适应清理后的API
保留的核心功能:
✓ JoinStrings/JoinInts - 字符串连接优化 (18x性能提升)
✓ DeduplicateStrings - 字符串去重功能
✓ StringBuilderPool - 字符串构建器池化机制
清理效果:
- 减少约150行无用代码
- 简化API设计,提高可维护性
- 保持所有实际使用的优化功能完整性
- 编译测试和功能测试全部通过
经验证,核心的内存优化功能(字符串连接18x性能提升,99.8%内存减少)完全保留。
|
2025-08-07 01:17:46 +08:00 |
|
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
|
68a0c99c4c
|
fix: 修复globals.go并发安全问题并清理死代码
修复内容:
- 消除双向同步机制中的竞态条件风险
- 移除复杂的syncWithCore/syncToCore函数
- 简化全局状态管理架构
优化改进:
- 使用单一数据源(core包)避免数据不一致
- 保持向后兼容性,不破坏现有API
- 清理11个unreachable函数,减少30%代码量
- 从270行精简至188行,提升可维护性
技术细节:
- 移除globalState复杂结构体
- 简化配置同步逻辑为SyncFromCore/SyncToCore
- 保留必要的全局变量以维持兼容性
- 所有核心扫描功能验证正常
安全提升:
- 消除数据竞争和竞态条件
- 确保配置同步的原子性
- 提高多线程环境下的稳定性
涉及文件: 2个文件,+85行,-64行
|
2025-08-07 00:29:44 +08:00 |
|
ZacharyZcR
|
20cb3356de
|
refactor: 重构common包错误消息系统并优化常量管理
主要改进:
- 将output和parsers包中的硬编码错误消息迁移到i18n国际化系统
- 修复constants.go中未引用常量的使用问题
- 消除所有硬编码字符串、魔术数字和协议标识符
- 清理死代码常量MinIPv4OctetValue
具体变更:
* output包: 删除19个硬编码错误消息,新增13个i18n消息键
* parsers包: 删除24个硬编码错误模板,新增22个i18n消息键
* 修复8个未引用的Default常量在对应默认选项函数中的使用
* 替换11处网络协议相关的硬编码值为常量引用
* 更新6个错误类型常量和验证逻辑的硬编码使用
* 修复2处IPv4八位组计数的硬编码为常量引用
提升效果:
- 支持中英文错误消息国际化切换
- 统一常量管理,提高代码可维护性
- 消除代码重复,符合DRY原则
- 清理死代码,优化代码质量
涉及文件: 11个文件,新增210行,删除103行
|
2025-08-06 22:33:26 +08:00 |
|
ZacharyZcR
|
84b0bb1e28
|
refactor: 完成common包常量提取和代码重构优化
- 新增constants.go文件统一管理各包常量定义
- 提取logging、output、parsers、proxy包中的硬编码值
- 将30+个魔法数字替换为语义化常量
- 统一错误代码和消息格式
- 清理死代码和未使用变量
- 优化代码可维护性和可读性
- 保持完全向后兼容性
涉及包:
- common/logging: 日志级别和格式常量
- common/output: 输出配置和格式常量
- common/parsers: 解析器配置和验证常量
- common/proxy: 代理协议和错误常量
|
2025-08-06 21:29:30 +08:00 |
|
ZacharyZcR
|
2f9c213e80
|
refactor: 系统性清理common包中的死代码和未使用变量
主要清理内容:
- logging包:移除DetailedFormatter、JSONFormatter及相关方法
- output包:清理Manager和Statistics中的未使用方法
- parsers包:移除各Parser中的Validate()和GetStatistics()方法
- proxy包:清理Factory和Global中的所有未使用函数
- ProgressManager:移除未使用的进度条方法和字段
- globals:清理未使用的status变量
技术改进:
- 使用deadcode和golangci-lint工具系统性检测
- 保持代码结构清晰,添加清理注释
- 修复相关依赖引用问题
- 确保编译通过和功能正常
代码减少:移除约40个死代码函数和多个未使用字段
|
2025-08-06 08:14:00 +08:00 |
|
ZacharyZcR
|
aff27e0b2c
|
refactor: 清理common/i18n包中的死代码函数
- 删除Manager结构体中8个未使用的方法
- 清理全局访问函数中11个死代码函数
- 保留核心功能:SetLanguage, AddMessages, GetText
- 简化国际化管理架构,提升代码维护性
- 总计删除约300行死代码,包大小减少60%
|
2025-08-06 07:37:11 +08:00 |
|
ZacharyZcR
|
cb89558ce6
|
refactor: 清理common/core包中的死代码并精简常量定义
- 删除未使用的扫描模式、服务类型、输出格式等常量定义
- 移除Manager.go中的死代码访问器函数
- 清理Plugin.go中的未使用插件管理方法
- 简化配置管理架构,保留核心功能
- 总计删除约200行死代码,提升代码维护性
|
2025-08-06 07:23:17 +08:00 |
|