学习open62541 ---[68] 使用Wireshark观察通信消息

2023-05-16

Wireshark是强大的网络协议分析工具,而open62541也是基于socket的,所以也可以用其来观察OPCUA通信消息。


一 安装Wireshark

去https://www.wireshark.org/去下载并安装Wireshark,这里选择Windows 64位安装包,
在这里插入图片描述
下载后直接安装就行了,安装完要重启下电脑。


二 使用

1)开启OPCUA过滤器

打开Wireshark,打开"编辑"->“首选项”,
在这里插入图片描述
然后展开Protocol,
在这里插入图片描述
往下拉找到OpcUa,如下,注意右侧的端口号,需要和OPCUA服务器的端口号一致,
在这里插入图片描述
然后点击OK就行了。

2)观察消息

需要选择网络接口,由于本人的OPCUA服务器是运行在虚拟机里的,所以选择虚拟机对应的接口,如下,
在这里插入图片描述
PS:如果是本地局域网,那么就使用loopback那个接口;如果不确定哪个接口对应自己的虚拟机,可以把鼠标悬停在接口名上,会显示ip地址,根据地址就可以知道需要的接口了。

双击就进入观察窗口了,在过滤的地方输入opcua然后回车,
在这里插入图片描述
此时在虚拟机里开启server,然后在Windows下打开UaExpert连接服务器,此时就可以在Wireshark里看到很多消息了。
在这里插入图片描述
在UaExpert这边,把ServiceLevel拖到中间的DataAccess View窗口,
在这里插入图片描述
可以看到其值为255,
在这里插入图片描述
此时在Wireshark这边,可以看到相关的消息,即创建订阅和监测项,然后就是发送publish请求,此时server会给一个publish请求的回应,即下图中选中的那一行,
在这里插入图片描述

双击打开这一行,展开如下,
在这里插入图片描述
下面是原始通信数据,上面是解析后的信息,此时展开OpcUa Binary Protocol,如下,
在这里插入图片描述
接着展开NotificationData,如下,可以看到和UaExpert这边观察到的值是一样的,
在这里插入图片描述
注意,由于这个变量值一直是255,所以只能在第一次的回应中看到其值,后面的回应里都没有值,这是因为监测项只有在变量值发生变化时才通知client

PS:当点击解析信息里的某项时,在下面的原始数据栏里会自动选中对应的字节,非常方便!
在这里插入图片描述
同理,当client发送其它请求,如read/write,也可以使用Wireshark进行观察,可以帮助我们进行debug,来确保程序写的是否正确。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

学习open62541 ---[68] 使用Wireshark观察通信消息 的相关文章

  • TCP/IP (一) accept建立连接

    七层网络协议 三次握手 四次分手 xff0c 这些大家都比较熟知 xff0c 这里主要是带着一些问题来思考整个TCP IP流程 1 三次握手的具体流程是怎么样的 xff1f 2 socket编程中int listen int fd int

随机推荐

  • http 的认证模式

    周海汉 2006 7 11 ablozhou 64 gmail com SIP类似Http协议 其认证模式也一样 Http协议 xff08 RFC 2616 xff09 规定可以采用Base模式和摘要模式 xff08 Digest sche
  • Java Agent

    在 Java 字节码 一文中有提到 xff0c 使用 Java Agent 操控字节码 xff0c 本文将讨论 Java Agent xff0c 这是普通 Java 开发人员的真正的黑魔法 Java Agent 能够通过执行字节码的直接修改
  • 通过gitlab远程统计git代码量

    git的代码量大多数都是根据命令行统计 xff0c 或者根据第三方插件统计 但是都不满足我的需求 xff0c 因为我们代码都由gitlab管理 xff0c 于是想到了通过gitlab暴露出来的接口获取数据 第一步 xff0c 生成私钥 登录
  • Qt第二十二章:将控件放到另一个控件的后面或前面

    话不多说 xff1a 看图
  • 缓存行填充与@sun.misc.Contended注解

    1 缓存模型 CPU和主内存之间有好几层缓存 xff0c 因为与cpu的速度相比 xff0c 访问主内存的速度是非常慢的 如果频繁对同一个数据做运算 xff0c 每次都从内存中加载 xff0c 运算完之后再写回到主内存中 xff0c 将会严
  • ThreadLocal那点事

    目录 1 ThreadLocal原理 2 ThreadLocal内存泄漏 3 ThreadLocal最佳实践 4 FastThreadLocal原理 5 FastThreadLocal最佳实践 6 ThreadLocal与FastThrea
  • 关于雪花算法的设计与思考

    2017年的时候项目组在开发一款大区游戏 xff0c 由于之前demo阶段的玩家id都是单服生成的 xff0c 只能保证单进程中的唯一 xff0c 而无法保证在分布式服务器端的唯一性 随着项目的开发进展 xff0c 需要设计能保证在分布式的
  • java反射之Method的invoke方法实现

    在框架中经常会会用到method invoke 方法 xff0c 用来执行某个的对象的目标方法 以前写代码用到反射时 xff0c 总是获取先获取Method xff0c 然后传入对应的Class实例对象执行方法 然而前段时间研究invoke
  • A*寻路算法之解决路径多拐点问题

    1 问题描述 最近公司正在开发的游戏涉及到了寻路算法 xff0c 然后我从网上找了一份A 算法代码 xff0c 整理了一下写了一个A 算法基础实现 然而 xff0c 在真正实用时A 寻路时 xff0c 却发现了几个问题 xff1a 基础实现
  • 代理模式与委托模式的异同点

    在 设计模式之禅 xff08 第二版 xff09 中 xff0c 作者说 代理模式也叫做委托模式 xff0c 显然是认为代理模式和委托模式是毫无差别的 然而在实际开发中 xff0c 我们通常可以很明确的知道一个模式究竟是代理模式还是委托模式
  • TCP/IP编程之select函数详解

    前述 xff1a linux下的I O复用模型目前很多都已经不用select函数了 xff0c 而是用epoll xff0c 但是为什么还需要了解select编程呢 xff0c 其实是从两个方面考虑的 xff1a 一是为了通过select去
  • 堆栈的详细解释

    一 在c中分为这几个存储区 1 栈 由编译器自动分配释放 2 堆 一般由程序员分配释放 xff0c 若程序员不释放 xff0c 程序结束时可能由OS回收 3 全局区 xff08 静态区 xff09 xff0c 全局变量和静态变量的存储是放在
  • Gmapping、hector、Cartographer三种激光SLAM算法简单对比

    文章目录 一 Gmapping是基于粒子滤波的算法 二 Hector SLAM三 Cartographer 一 Gmapping是基于粒子滤波的算法 缺点 xff1a 严重依赖里程计 xff0c 无法适应无人机及地面不平坦的区域 xff0c
  • TCP连接建立过程

    TCP连接建立过程 浏览器访问网站 xff0c 通过域名解析找到ip地址后会与服务器端建立连接 其中TCP xff08 Transmission Control Protocol xff0c 传输控制协议 xff09 是一种面向连接的 可靠
  • 海康威视错误代码文档大全【完整版】

    简介 本文收录了海康各大设备错误码 xff0c 按ctrl 43 f查询 xff1b 包含网络通讯库错误码 阵列错误码 安全激活相关错误码 智能设备错误码 RTSP通讯库错误码 软解码库错误码 转封装库错误码 语音对讲库错误码 Qos流控库
  • lighttpd http响应报文(Response)增加安全头Referrer-Policy和X-Permitted-Cross-Domain-Policies方法

    X Permitted Cross Domain Policies和Referrer Policy说明 X Permitted Cross Domain Policies X Permitted Cross Domain Policies
  • ROS使用ARUCO识别二维码获取位置信息做定位使用

    使用ARUCO识别二维码获取位置信息 1 安装软件 cd catkin ws src git clone b kinetic devel https github com pal robotics aruco ros cd catkin m
  • Keil 编译时无法找到头文件解决

    Keil 编译时无法找到头文件解决方法 1 背景 Keil 编译的时候无法找到头文件 xff0c 搜了下相关问题及解决方法 xff0c 有介绍说是因为文件夹中有数字 xff0c 无法搜到头文件 xff0c 进行了更改 xff0c 还是找不到
  • 学习open62541 --- [71] Alarm and Condition

    本文讲述Alarm and Condition的用法 xff0c 主要以源码里提供的例子为基础进行讲解和演示 xff0c 即tutorial server alarms conditions c xff0c 该例子写的有点乱 xff0c 本
  • 学习open62541 ---[68] 使用Wireshark观察通信消息

    Wireshark是强大的网络协议分析工具 xff0c 而open62541也是基于socket的 xff0c 所以也可以用其来观察OPCUA通信消息 一 安装Wireshark 去https www wireshark org 去下载并安