网测科技_S7COMM协议测试案例

一、S7COMM协议解析

1.1协议原理

西门子是德国的一家超大型企业,在能源、工业、医疗、基建等等方面都有它的身影,同时它也位列全球500强第66名。作为一个以电报起家的大型企业,它对于通信更是重视,S7comm就是西门子为了它生产的PLC之间、SCADA与PLC之间的通信而设计的专属协议。和Modbus的应用层协议不同,S7comm的协议栈修改程度更高,在应用层组织的数据经过COTP协议、TPKT协议的进一步处理后,最终通过TCP进行传输。

1.2 协议结构

S7Comm(S7 Communication)是西门子专有的协议,是西门子S7通讯协议簇里的一种。
S7协议的TCP/IP实现依赖于面向块的ISO传输服务。S7协议被封装在TPKT和ISO-COTP协议中,这使得PDU(协议数据单元)能够通过TCP传送。
它用于PLC编程,在PLC之间交换数据,从SCADA(监控和数据采集)系统访问PLC数据以及诊断目的。
S7Comm以太网协议基于OSI模型:

其中,第1-4层会由计算机自己完成(底层驱动程序),关于这些神马的定义,大家可以上网查一下;
第5层TPKT,应用程数据传输协议,介于TCP和COTP协议之间。这是一个传输服务协议,主要用来在COTP和TCP之间建立桥梁;
第6层COTP,按照维基百科的解释,COTP 是 OSI 7层协议定义的位于TCP之上的协议。COTP 以“Packet”为基本单位来传输数据,这样接收方会得到与发送方具有相同边界的数据;
第7层,S7 communication,这一层和用户数据相关,对PLC数据的读取报文在这里完成。
可能会对TPKT和COPT迷惑,其实在具体的报文中,TPKT的作用是包含用户协议(5~7层)的数据长度(字节数);COTP的作用是定义了数据传输的基本单位(在S7Comm中 PDU TYPE:DT data)。

1.3协议用途

随着网络强国、工业4.0,工控安全市场今年明显有相当大的改善,无论从政策还是客户需求,都在逐步扩大中。但是,搞工控安全研究的人员却寥寥无几,一方面,没有可以研究和学习的便利的环境;另一方面工控安全是个跨学课的技术,需要了解多方面的知识,有比较高的技术上的门槛。特别是工控系统中通信协议,在工控系统中通信协议存在众多标准,也存在众多私有协议,如果你有过使用组态软件的经历,你便会发现,在第一步连接设备时除连接设备的方式有以太网/串行等方式外,各家基本上都存在自己的私有通信协议,西门子的S7Comm协议就是这样。

二、S7COMM在supernova测试仪中可应用的场景

2.1 网关模式

测试仪同时模拟客户端和服务器,测试流量穿过受测设备(防火墙、交换机、路由器等),得到受测设备的性能。

2.2代理模式

测试仪同时模拟客户端和服务器,测试流量穿过受测设备(代理设备、负载均衡设备),得到受测设备的性能。

2.3应用服务模式

测试仪只模拟客户端,向受测的S7COMM服务器发送流量,获取响应,得到S7COMM服务器的性能。

2.4 终端模式

测试仪只模拟服务器,接收客户端的请求,并回复正确的回应,得到客户端的性能。

三、S7COMM用例功能介绍

3.1.分配cpu核

用例的运行需要分配cpu核数,S7COMM的最高性能需要分配一定的核数。

3.2限速配置

S7COMM用例支持多种流量模型,包括固定速率:设置一个限速数值,运行过程中速率将一直保持该数值,上下浮动不超过1%;
随机速率:限速方式为随机速率时,设置最小、最大限速数值,速率将按每秒从最小速率和最大速率之间随机速率值运行直到运行结束;
梯形速率:限速方式为梯形速率时,设置一个限速数值,运行开始阶段速率将按时间或者百分比递增到该数值,中间过程将一直保持设置的限速数值,运行结束前速率按时间或者百分比递减至0,中间过程上下浮动不超过1%;
雪崩速率:限速方式为雪崩速率时,设置最大、最小速率和保持时长,测试过程中速率将以最大速率保持一段时长,再以最小速率保持一段时长,交替进行;
正弦速率:限速方式为正弦速率时,设置最大、最小速率和渐变时长,测试过程中速率会在每一个渐变时长内完成一次正弦变化;
楼梯速率:限速方式为楼梯速率时,设置初始、最大、递增速率和保持时长,测试过程中速率将以初始速率保持一段时长,按递增速率每次递增并保持一段时长,最后按最大速率一直运行结束,形状类似楼梯。
支持应用层的限速,限速单位为每秒完成S7COMM新建的次数。

3.3抓包设置

可以设置需要抓的协议类型,指定IP地址、端口、文件大小或者包数。可在运行前或运行中设置抓包。

3.4虚拟用户数量

类似于并发数,可同时存在TCP的数量,如设置了256个用户,应建立512条TCP连接。

3.5 循环执行次数

执行S7COMM新建流模板中循环的次数,0为无限制。

3.6 接收超时时长

测试仪发送报文后,等待响应的超时秒数,范围1-300。

3.7 执行方法

目前默认使用写数据的执行方法。

四、S7COMM测试案例

4.1 S7COMM用例拓扑图

在这里插入图片描述

说明:测试仪使用“网关模式”模拟S7COMM的客户端和服务端,过一台防火墙(网关模式),测试防火墙性能。

4.2 S7COMM用例目的

Supernova测试仪同时模拟客户端和服务端,仿真S7COMM客户端和服务端。客户端模拟S7COMM协议发送请求指令,测试流量经过网关设备转发,服务端模拟S7COMM服务端接到请求后,对请求进行分析并作出应答,测试仪通过统计S7COMM协议请求、回应等信息,得到受测设备S7COMM性能。

4.3 S7COMM测试预计结果

4.3.1 网关模式过防火墙,在防火墙上配置应用控制,屏蔽S7COMM类型,测试仪会显示发送超时,防火墙上监控会发现请求已阻断;

4.3.4 网关模式过防火墙,在防火墙上配置应用控制,放开S7COMM类型,协议重放速率秒值达到10000/S。

五、测试步骤

5.1创建S7COMM用例,配置参数。

(1)在网关模式中,创建S7COMM用例,由于过的是防火墙,需要配置网关,选择网关模式。
在这里插入图片描述
在这里插入图片描述

(2)分配CPU核数
在这里插入图片描述

(3)抓包设置。
在这里插入图片描述

(4)参数设置
在这里插入图片描述

5.2配置防火墙和S7COMM控制点

(1)以测试仪接到防火墙5-6口为例,防火墙配置访问控制策略,放行port5—port6的所有流量;

在这里插入图片描述

(2)防火墙配置S7COMM协议的安全检查策略,禁止S7COMM协议控制点,允许其他流量通信;
在这里插入图片描述
(3)在防火墙策略中启用上网行为管理,选择app_control;
在这里插入图片描述

5.3启动用例,查看结果

(1)点击启动用例
在这里插入图片描述

(2)在监控中查看运行界面
在这里插入图片描述

(3)生成报告
用例手动终止或者到时后,可在报告页面生成报告。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述在这里插入图片描述

六、对预期结果进行验证

6.1网关模式过防火墙,在防火墙上配置应用控制,屏蔽S7COMM类型,测试仪会显示发送超时,防火墙上监控会发现请求已阻断

在这里插入图片描述在这里插入图片描述

结论:符合4.3.1的预期结果

6.2网关模式过防火墙,在防火墙上配置应用控制,放开S7COMM类型,协议重放速率秒值达到10000/S

在这里插入图片描述在这里插入图片描述

结论:符合4.3.2的预期结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值