8.Modbus log【工业控制系列】

介绍

​ 除上章节中介绍的监听模块,Peach还有一个可扩展的记录系统,它允许使用者存储他们想要的记录。默认情况下,Peach使用一个单独的文件系统记录器;通过学习引入log 模块则可以更有效的对产生的异常进行分析。

​ 文件系统记录器会指定一个路径,它会创建一个包含运行名字和时间标记的文件夹, 文件夹中是真实的记录。除非探测到错误,否则非常少的记录信息会被保存在磁盘空间中。

<Logger class="File">
    <Param name="Path" value="C:\modbusfuzzlog" />
</Logger>

参数:Path ---创建记录文件的相对或绝对路径。

引入监听/Log 模块

​ 其实在进行模糊测试的时进行监听目标设备当时状态与错误日志的生成是比较必要的。这里自己也对上面的所编写的实例脚本进行了简单的修改引入MonitorLogger相关的参数增加功能,来达到监听设备状态与生成日志的效果。

​ 如果要同时对多个功能码进行模糊测试只需要根据自己需求增加标签内的数据,并在标签内进行添加相关数据标签名,进行多个功能码的模糊测试。

....
<!--设置发送IP与端口-->
<Test name="Default">
    <Agent ref="Local" /><!--在发送中进行ping检测-->
    <StateModel ref="TheState" />
    <Logger class="File">
        <Param name="Path" value="C:\modbusfuzzlog" />
    </Logger>
    <Publisher class="tcp.Tcp">
        <Param name="Host" value="192.168.43.245" />
        <Param name="Port" value="502" /> 
    </Publisher>
</Test>
.....

在引用log模块时注意必须要引入监听模块,在定义StateModel参数要上下一致 不然会报错。

​ 因为使用的模拟Modbus仿真数据环境,为了达到实验效果,在仿真的环境切断虚拟机网卡的连接。Peach会提示– –Caught fault at iteration 1,trying to reproduce– – Peach会根据报文停止报文的次数进行命名,并在相关的Log目录下生成文件提示The ICMP echo Reply was not received within the allotted time. 进行提示断开连接的原因,测试用户可以根据断开连接的时间进行下一步的确认操作。

image-20240420000255766

生成的 log 文件夹

image-20240420000237726

本文链接:

https://www.linqi.net.cn/index.php/archives/531/