【技术实现步骤摘要】
一种数据库协议审计测试方法及装置
本专利技术涉及测试领域,特别是涉及一种数据库协议审计测试方法及装置。
技术介绍
现有技术中,在进行数据库协议审计测试时需要构造不同种类、不同速率和不同数量的数据库协议数据,用于检测数据库审计产品审计结果的准确性。在通常的数据库审计测试中,一般是安装不同的数据库客户端通过手动执行脚本进行测试;或者通过抓包软件先捕获包含数据库协议数据的数据包然后再回放来进行测试;或者通过某些测试仪器构造数据库协议模拟数据进行测试。现有的数据库审计测试方法在实际测试中的问题在于:1、数据库审计系统通常用于审计客户环境中大型应用软件的数据库访问流量,数据库客户端访问数据库通常采用不同的协议,因此如果单纯使用客户端来进行测试风险较大。而且通常多个数据库或客户端安装在一起有可能会产生冲突,因此需要在多台主机上安装不同的数据库客户端,资源占用较多。人工使用客户端操作数据库时不便于进行自动化的控制,测试效率较低。2、通过捕获数据包再回放的方式进行测试时,通常需要先通过抓包软件捕获数据库包,再进行处理,例如,去除一些无用数据包;然后通过重写数据包的工具对数据包中的 ...
【技术保护点】
【技术特征摘要】
1.一种数据库协议审计测试方法,其特征在于,包括:根据预先设置的数据库连接参数连接相应的数据库,并根据预先设置的任务类型以及配置文件位置加载对应的配置文件,生成数据库任务;执行所述数据库任务,并根据预先设置的调度参数控制执行所述数据库任务的执行次数和执行速率,获取不同速率和数量的数据库协议数据;在预先设置的日志中记录执行所述数据库任务的过程,在执行完成后自动连接审计产品,并获取所述审计产品针对所述数据库协议数据的审计结果;根据所述数据库连接参数以及所述日志中记录的所述数据库任务的执行过程检测所述审计结果的正确性,并在预先指定的测试报告位置生成测试报告。2.如权利要求1所述的方法,其特征在于,在根据预先设置的数据库连接参数连接相应的数据库之前,所述方法还包括:预先配置测试参数,根据需要进行测试的数据库的类型,创建一个或多个线程,其中,所述线程用于控制相应类型的数据库的数据库任务执行过程,其中,所述测试参数包括:所述数据库连接参数、所述任务类型、所述配置文件位置、所述调度参数、所述日志、以及所述测试报告位置,所述数据库连接参数包括:数据库服务器地址、服务器端口、数据库实例名、用户名、密码;所述任务类型包括:用于指示进行普通结构化查询语言SQL脚本数据库命令的审计测试任务、以及用于指示进行包含绑定变量数据库命令的审计测试任务。3.如权利要求2所述的方法,其特征在于,在确定所述任务类型为指示进行包含绑定变量数据库命令的审计测试任务的情况下,执行所述数据库任务具体包括:步骤1,采用文档对象模型DOM方式从指定的所述配置文件位置加载并解析预备语句配置文件;步骤2,读取所述预备语句配置文件中的一条记录,根据记录的类型生成普通数据库命令或者预备语句命令,并执行所述普通数据库命令或者所述预备语句命令;步骤3,重复执行步骤2,直至所述预备语句配置文件的所有记录全部执行完毕。4.如权利要求2所述的方法,其特征在于,在确定所述任务类型为指示进行普通SQL脚本数据库命令的审计测试任务的情况下,执行所述数据库任务具体包括:步骤1,从指定的所述配置文件位置加载SQL脚本;步骤2,根据预先设置的脚本格式和分割标记提取一批数据库命令,生成普通数据库命令,执行所述普通数据库命令;步骤3,重复执行步骤2,直到所述SQL脚本的数据库命令全部执行完毕。5.如权利要求3或4所述的方法,其特征在于,所述在预先设置的日志中记录执行所述数据库任务的过程具体包括:在所述日志中记录对所述预备语句配置文件或所述SQL脚本的处理次数,执行命令的开始时间、执行的命令、以及命令执行结果,在确定所述处理次数达到所述调度参数中预先设置的处理次数的情况下,在所述日志中记录执行的总次数和结束时间。6.如权利要求5所述的方法,其特征在于,根据所述数据库连接参数以及所述日志中记录的所述数据库任务的执行过程检测所述审计结果的正确性具体包括:根据所述数据库连接参数检测所述审计结果中还原的数据库名和用户名是否正确,并根据所述日志中...
【专利技术属性】
技术研发人员:张晓燕,
申请(专利权)人:北京天融信科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。