1.测试目的及方法
2021年5月10日 安帝科技测试工程师宋显宾,为大家分享一次《工业网络审计产品》工控协议方面的测试经验,没做过的伙伴,如果你恰巧需要的话就收藏参考下吧。本次分享就以Modbus为案例给大家讲解。
目的:测试《工业网络审计产品》审计流量中modbus协议的协议事件。
方法:利用Modbus协议模拟器,产生流量,利用交换机镜像流量的方式把流量传输给工业网络审计产品,验证《工业网络审计》采集流量的功能。
2.所需设备
所需软、硬件工具:请看下面测试第二步中有详细描述。
测试第一步:为搭建测试网络环境做准备。
环境拓扑图如下:
测试第二步:软硬件环境准备分别搭建modbus客户端、modbus服务端、配置交换机流量镜像口(本次交换机流量镜像口为24口)
硬件:两台装有Windows的物理机、工业网络审计设备、交换机
图下产品就是我司的《工业网络审计产品》提到它,我就忍不住多嘴想让大家了解下。
AN-INA/V1.0型工业网络审计系统是一款网络审计型信息系统安全审计产品,其样品形态为硬件,通过自定义审计策略,能够针对FTP通讯、HTTP通讯、SMTP/POP3通讯、TELNET通讯,和Modbus TCP、S7等工控协议进行审计,并且能实时审计网络中的攻击行为,利用内置的威胁库,根据已知的威胁特征建立检测规则,实时对网络中的入侵进行告警,并生成审计日志。样品前面板配备运行、告警、网口状态指示灯;后面板配备一个Console口、一个B码对时输入接口、一个USB接口、八个以太网口、两路DO继电器接口,两路电源输入和电源开关。
软件:Modbus Poll、Modbus Slave
3.测试环境构建
安装操作:
1>百度下载上面两个软件即可,下载好后安装到两个对应的物理机上,一个做客户端,一个做服务端,2>将两个物理机连接到交换机上,3>交换机镜像口接到工业网络审计设备的流量分析网口4>IP设置,使三个设备的IP在同网段中,例如172.16.0.**
客户端物理机预设IP172.16.0.34
服务端物理机IP172.16.0.75
工业网络审计流量分析口0.0.0.0
5>安装Modbus Poll安装完成,在桌面能够看到ModbusPoll的快捷方式,双击该快捷方式,打开软件,打开后界面如下图所示。单击Connection->Connect,弹出注册窗口;打开压缩包解压后的readme文件,复制ModbusPoll的序列号,粘贴到注册窗口的注册栏,如下图所示,点击OK,完毕。6>程序主窗口:按照上面流程,按“OK”按钮即可完成注册。然后直接进入主窗口,如下图所示:modbus poll 4.3.4程序主窗口其中:Tx = 4表示向主站发送数据帧次数,图中为4次;Error = 0表示通讯错误次数,图中为0次;ID = 1表示模拟的Modbus子设备的设备地址,图中地址为1;F = 03表示所使用的Modbus功能码,图中为03功能码;SR = 1000ms表示扫描周期。红字部分,表示当前的错误状态,“No Connection”表示未连接状态。7>参数设置:单击菜单【Setup】中【Read/Write Definition.. F8】进行参数设置,会弹出参数设置对话框。其中:A. Slave为要访问的Modbus从站(从机)的地址,对应主窗口(主画面)中的ID值,默认为1。B. Function 为寄存器功能码的选择,共四种.C. Address 为寄存器起始地址,默认从0开始。 D. Length为寄存器连续个数,默认为10个,对应组态软件的通道数量。 E. Scan Rate为读取数据周期,单位毫秒,默认为1000ms。 设置完成单击OK按钮,模拟窗口将显示定义的寄存器列表。8>显示设置: 数据显示方式设置: 默认情况下,寄存器数据的显示方式为Signed方式(16进制无符号二进制),数据范围为-32768~32767。如果用户要以其他数值方式显示,可以通过菜单【Display】进行选择设置,如下图所示:地址格式设置:Modbus Slave默认使用PLC地址,【Display】菜单中【PLC Addresses(Base 1)】为默认选中状态,默认寄存器的起始地址为1开始,此点与组态软件的Modbus串口和TCP数据转发驱动是相同的。如果测试时需要设置起始地址为0开始,可选择【Protocol Addresses(Base 0)】。一般情况下使用默认PLC地址即可。使用工具栏的”Communication Traffic”按钮,可以显示出当前发送命令和接受的数据。
9>工具建立连接:主程序窗口点击connection,弹出下图弹框,连接方式有两种串口和TCP/IP。本次测试使用的第二种,输入server端IP和端口,点击
连接成功
10. 断开连接:
点击【Disconnect F4】即可断开连接结束测试,此时主窗口中出现红色的“No Connection”表示未连接状态。
11.Modbus Slave使用
安装注册:
安装软件,安装完成之后,双击执行ModbusSlave快捷方式即可。
注册方法:单击Connection->Connect,弹出注册窗口;打开压缩包解压后的readme文件,复制ModbusPoll的序列号,粘贴到注册窗口的注册栏,点击OK,完毕。ModbusSlave的安装与ModbusPoll类似,在此不再赘述。
主窗口:
软件主窗口
此时处于“Noconnection”未连接状态,如果只测试“04输出保持寄存器”,则可直接点击跳到第3.步,直接进行连接即可。
参数设置:
点击菜单“Setup”中“Slave Definition.. F2”进行参数设置,会弹出如下图对话框。
其中:
A.Slave为Modbus从站地址,对应主画面中的ID值,默认为1。
B. Function 为寄存器功能码的选择,共四种
C. Address 为寄存器起始地址。默认从1开始。
D. Length为寄存器连续个数。默认为10个。
设置OK按钮,模拟窗口将显示定义的寄存器列表:
地址格式设置:
Modbus Slave默认使用PLC地址,“Display”菜单中“PLC Addresses(Base 1)”为默认选中状态,默认寄存器的起始地址为1开始,此点与组态软件的Modbus串口和TCP数据转发驱动是相同的。如果测试时需要设置起始地址为0开始,可选择“Protocol Addresses(Base 0)”。一般情况下使用默认PLC地址即可。
其中:Port2,表示使用的串口(COM2),根据实际情况选择不同的串口或者TCP/IP进行连接
Mode,表示Modbus协议模式,使用串口时有效;使用TCP/IP时自动为TCP模式
Flow Control,表示流控制,串口模式时有效;
Ignore Unit ID,表示TCP模式时忽略无效的组编号
用户可根据需要对串口参数进行设置,默认为:串口1,波特率9600,数据位8位,无校验位,1位停止位。确认设置后点击“OK”按钮即可。此时主窗口中红色的“No
connection”表示未连接状态的信息消失,表明从站处于正常连接状态。
四、测试过程及结果
以上为环境准备,下面为工业网络审计的modbus协议流量分析审计的测试执行:
1.执行客户端和server端连接,
2.设置功能码:客户端(poll)功能码选择06——- slave端功能码选择03,传输的值填写1
测试结果
核对网络审计结果:事件主题、事件客体、内容、原始内容、事件子类型(协议的名字)
内容:为modbus server端向客户端的通信内容,操作类型为 WRITE SINGLE REGLSTER
传的值为1
事件触发次数:1次
事件发生时间:2021-04-07 17:56:48
五、结论
本次测试通过,《工业网络审计》解析modbus协议功能正常,准确的解析出了modbus的协议类型、操作类型、传输的内容值。
本次测试分享完成,感谢大家的细心阅读,希望对需要的测试朋友大家有所帮助,共同成长。
来源:freebuf.com 2021-05-16 15:12:45 by: 安帝Andisec
请登录后发表评论
注册