【TCP协议中104解析】wireshark抓取流量包工具,群殴协议解析基础

Tcp ,104 ,wireshark工具进行解析

IEC104 是用于监控和诊断工业控制网络的一种标准,而

Wireshark则是一款常用的网络协议分析工具,可以用干解析TEC104

报文。本文将介绍如何使用 Wireshark解析 IEC104报文,以及解析过

程中的注意事项。

一、安装Wireshark

首先,需要在计算机上安装Wireshark。可以从官方网站下载安

装程序,并根据提示进行安装。安装过程中需要选择网卡,以便能够

捕获网络数据包。

二、设置网络接口

在安装完成后,需要设置网络接口,以便能够捕获 IEC104 数据

包。可以通过在命令行中使用ifconfig或ip addr 命令查看计算机上

可用的网络接口,然后选择相应的接口进行设置。在设置过程中,需

要将该接口设置为混杂模式,以便能够捕获所有数据包。

三、捕获数据包

设置好网络接口后,就可以开始捕获IEC104数据包了。在

Wireshark中,可以通过菜单栏中的“Capture”选项,选择相应的网

络接口进行数据包的捕获。在捕获到数据包后,Wireshark会自动将其

分类,以便于识别和解析。

四、解析IEC104报文

在捕获到数据包后,就可以开始解析 IEC104报文了。在

Wireshark中,可以通过菜单栏中的“Statistics”选项,选择

“Packets by Protocol”进行报文的筛选,以便于找到IEC104 报

IEC104报文通常以TCP协议传输,因此可以通过菜单栏中的

“Filter”选项,设置过滤条件为“tcp.port ==端口号”,其中端

口号需要根据实际情况进行设置。设置好过滤条件后,就可以选出

相应的 TCP 数据包,并从中提取出IEC104 报文。

五、分析报文内容

提取出 IEC104 报文后,就可以对其进行详细的分析了。

Wireshark提供了丰富的工具和功能,可以帮助用户分析和解读报文内

容。例如,可以通过菜单栏中的“Edit”选项,选择“Decode as…

菜单项,来查看相应的协议解码信息。此外,还可以使用菜单栏中的

Summary”选项,查看报文统计信息,以便于了解报文的传输情况。

在分析报文内容时,需要注意报文的格式和结构,以便于正确地

解析和解读。同时,还需要注意报文中的关键字段和标识符,以便于

确定报文的类型和含义。

总之,使用Wireshark解析IEC104 报文需要先安装和设置好

Wireshark,并正确地捕获和筛选出相应的数据包。在解析过程中,需

要注意报文的格式和结构,以及关键字段和标识符的含义。通过使用

Wireshark的丰富功能和分析工具,可以更好地理解和掌握IEC104报

文的内容和传输情况。

六、wireshark过滤使用

七.104协议格式介绍

APDU=APCI+ASDU

APCI:应用规约控制信息(由起始字符_数据长度+控制域)

起始字符:68H

ASDU:应用服务数据单元(数据格式)

APDU:应用规约数据单元

APCI:四个控制域八位位组合

启动字符68H定义了数据流中的起点。

APDU的长度定义了APDU体的长度,它包括APCI的四个控制域八位位组合ASDU。第一个被计数的八位位组是控制域的第一个八位位组,最后一个被计数的八位位组是ASDU的最后一个八位位组。ASDU的最大长度限制在249以内,因为APDU域的最大长度是253(APDU最大值=255-启动字符-长度八位位组),控制域的长度是4个八位位组。

APCI中的控制域--定义了保护报文不丢失和重复传递的控制信息,报文传输启动/停止,以及传输连接的监视

控制域定义了三种不同类型的帧格式:用于标号的信息传输(I格式),标号的监视功能(S格式)和未编号的控制功能(U格式)。

  • 报文分析案列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/671518.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STL-queue的使用及其模拟实现

在C标准库中,队列(queue)是一种容器适配器,它以先进先出的方式组织数据,其中从容器一端插入元素,另一端取出元素。 queue的使用 queue的构造函数 queue的成员函数 empty:检测队列是否为空size:返回队列中有…

7-14 字节序(Endianness)---PTA实验C++

一、题目描述 “内存寻址的最小单位是字节”——明白。 “每个字节有唯一的编号,称为地址”——明白。 “C中int通常为四个字节”——了解。 “int x 1;最低字节是1还是0?——纳尼? 事实上,这里有点小小分歧: 多字…

C++对C的增强

1、作用域运算符 ::解决归属问题(谁是谁的谁) 可以优先使用全局变量 2、命名空间 使用关键字namespace,控制标名称的作用域。 命名空间的本质:对符号常量、变量、函数、结构、枚举、类和对象等等进行封装 1、创建一个命名空间…

学习小记录——python函数的定义和调用

今日小好运,未来有好运。🎁💖🫔 分享个人学习的小小心意,一起来看看吧 函数的定义 函数通常来说就是带名字的代码块,用于完成具体的工作,需要使用的时候调用即可,这不仅提高代码的…

我的创作纪念日-砥砺前行

机缘 大家好,我是诊断协议那些事儿,又和大家见面了,记录一下创作日记,转眼间已经在CSDN平台创作三年了,最初仅仅是为了记录学习过程中的笔记,后来慢慢转为项目实践中的经验分享,当然更多的希望…

dm8 什么时候视图中统计的内存会超过OS

v$bufferpool和v$mem_pool视图记录着DMSERVER各组件的内存占用量。理论上跟OS看到的保持一致。但实际大多数场景下,OS中看到的数据远大于视图中的统计。这里面可能有内存泄漏的原因。不过也有的时候视图中的统计数据超过OS。下面就是这种情况: 上图中红线…

nas连接萤石云摄像机CTQ6X

需要准备的nassurveillance 请参考这个大佬的流程 https://www.bilibili.com/video/BV1ri4y1g7EN/ 踩坑: 一直到添加录像机验证一直没问题,但是验证一直不通过,后面下载了萤石云工作室的win桌面客户端,不知道是不是设置了预览还…

【Ubuntu】【Shell】执行sh脚本报错“xxx.sh:/bin/bash^M:解释器错误: 没有那个文件或目录“

背景 在自己Ubuntu环境执行sh脚本,报错"xxx.sh:/bin/bash^M:解释器错误: 没有那个文件或目录",查了下是Ubuntu系统默认的shell是dash: 修改配置过下,变成bash 解决方案 在终端执行: sudo dp…

云队友:专业的远程工作和程序员接单平台,用户体验佳

编程赚钱的平台有不少,良莠不齐,今天给大家分享个专业的远程工作平台,以技术类工作为主(包括编程): 云队友简介 外包大师是PMCAFF互联网产品社区于2016年推出的互联网产品技术外包服务平台。外包大师最新…

MyBatis 核心配置文件详细内容详解

1. MyBatis 核心配置文件详细内容详解 文章目录 1. MyBatis 核心配置文件详细内容详解2. 测试和学习的准备工作3. environment 标签4. transactionManager 标签5. dataSource 标签6. properties 标签7. mapper 标签8. 总结:9. 最后: 关于 MyBatis 这个核…

攻防世界---misc---2017_Dating_in_Singapore

1、题目描述 2、下载附件是一个pdf,里面是一个日历 3、题目描述是一些数字,直觉猜测是和日历的日期有关,仔细看题目的描述,会发现有个-连接,拆开之后发现一共有12组数据,再连联系到十二个月份,再…

音视频开发—FFmpeg播放YUV文件,YUV转换为JPEG操作

文章目录 1.使用命令行播放YUV数据1.1命令解析1.2参数说明 2.使用C语言实现将YUV数据转为JPEG图片格式2.1需求分析2.2读取YUV源文件2.3将YUV数据封装为AVFrame2.4将NV12 转换为YUV420平面格式2.5初始化MJPEG编码器2.6将YUV420P编码为JPEG2.7将编码数据写入图片文件2.8完整代码 …

从零开始实现自己的串口调试助手(4) -实现自动发送 / 时间显示

实现自动发送:checkBox 添加bool槽函数 bool 值&#xff0c;当√的时候为true 取消√ 位false 实现带bool 类型的槽函数: void Widget::on_checkBox_SendInTime_clicked(bool checked) {qDebug()<<"checkStatus:"<<checked;if(checked){ // 被勾选了//…

Python语言进阶学习

目录 一、类、对象和成员方法 二、构造方法 三、面向对象 &#xff08;1&#xff09;封装 &#xff08;2&#xff09;继承 单继承 多继承 复写 super&#xff1a;调用父类同名成员 &#xff08;3&#xff09;多态 &#xff08;4&#xff09;抽象类 五、Python操作…

Leecode---技巧---只出现一次的数字 / 多数元素

题解&#xff1a; 利用异或运算 a⊕a 0 的性质&#xff0c;可用来消除所有出现了两次的元素&#xff0c;最后剩余的即为所得。 class Solution { public:int singleNumber(vector<int>& nums){// 初始化为0int ans 0;for(int x: nums){// 异或操作ans ^ x;}retur…

Java循环结构while

1.while 是最基本的循环&#xff0c;它的结构为 while&#xff08;布尔表达式&#xff09;{ //循环内容 } 2.只要布尔表达式为true&#xff0c;循环就会一直执行下去 3.我们大多数情况是会让循环停止下来的&#xff0c;我们需要一个让表达式时效的方式来结束…

05C零碎语法

C零碎语法 目录 文章目录 C零碎语法1.函数指针2.回调函数3.数据拷贝3.1静态内存分配![请添加图片描述](https://img-blog.csdnimg.cn/direct/54d44e32bb7944f0866d4ca1e2667ce8.png)### 4.1动态内存分配 字符串6.sizeof()和strlen()的区别7.strcpy()/strncpy()函数7.1**strcp…

重生之 SpringBoot3 入门保姆级学习(16、函数式 Web 编程)

重生之 SpringBoot3 入门保姆级学习&#xff08;16、函数式 Web 编程&#xff09; 3.4 函数式 Web 3.4 函数式 Web 个人写过 go 类似于 go gin 框架 1、场景 场景: User RESTful - CRUD GET/user/1 获取1号用户GET/users 获取所有用户POST/user 清求体携带JSON&#xff0c;新…

【Tlias智能学习辅助系统】04 部门管理 删除 和 新增

Tlias智能学习辅助系统 04 部门管理 删除 和 新增 删除部门APIDeptController.javaDeptService.javaDeptServiceImpl.javaDeptMapper.java前端联调 新增部门API有一步简化DeptController.javaDeptService.javaDeptServiceImpl.javaDeptMapper.java前端联调 删除部门API 请求路径…