一.测试背景

测试公司自主研发的一个产品,产品的主要功能是通过 IP 对其主机进行扫描,识别出主机信息(包括端口、服务等详情)。因为产品还是研发阶段,还不能通过页面进行操作,只能够通过命令行下发任务,其结果以日志文件的形式保存。

二.我的任务

使用产品对测试靶机(测试靶机就是我自己搭建的机器,上面安装了不同的中间件、数据库等服务,也就是说我清楚知道这机器安装了哪些服务、开放了哪些端口)进行多次扫描测试,并且记录每一次测试结果,统计出准确率与稳定性后,向研发人员反馈。

三.手动测试的测试步骤(对 11 个主机同时进行 25 次扫描测试为例,结果日志有多个主机的信息

(1)因为同时扫描 11 个主机,结果日志含有 11 个主机的信息,导致信息量太大,一次测试的结果分成两个日志文件,如下图(红色部分为同一次扫描的结果日志);日志文件以名称后缀作区分

(2)将日志内容进行 json 解析 (有多个 IP,不就一 一展示了),如下图

(3)将端口信息记录下来

(个人感想:上一篇文章已经说过,手动记录实在太繁琐了。更何况现在对 11 个 IP 主机进行 25 次扫描)

四.根据实际情况,对工具进行改良

(1)工具功能:
(1.1)读取指定目录下,所有的日志文件的内容。
(1.2)通过正则,匹配出 IP 与端口的信息,并提取出来。
(1.3)将提取出来的数据,插入数据库中(新功能)。
(1.4)使用查询语句对结果进行查询。
(2)验证结果
(2.1)查看表

可以看到,表中有 IP、端口及来源日志文件的信息,还有刚好有 275 条记录,11*25=275

(2.2)验证扫描结果是否存在缺失(扫漏 IP 主机)

以来源日志文件为条件,进行模糊查询,每条语句都可以查询出 11 条结果,证明没有扫漏主机 IP 的情况

(2.2)查看每个 IP 主机的端口情况,验证准确率

以 IP 为条件进行查看。可以看到,端口结果存在缺漏的情况,我就将情况反馈给研发人员(因为是研发的初期,准确率不高也是正常不过的事情,产品需要慢慢完善)

五. 演示视频

视频链接:


↙↙↙阅读原文可查看相关链接,并与作者交流