IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 杂项_流量包类 -> 正文阅读

[网络协议]杂项_流量包类

工控

modbus

题目:I2S-协议分析

题目提示公开协议,在协议过滤规则中过滤 modbus 协议:
在这里插入图片描述
题目提示正常业务的异常内容,modbus 协议正常业务常用的功能码为 0-16,于是再对功能码进行一个一个的过滤,直到过滤到功能码 15:
在这里插入图片描述

Modbus/TCP报文格式
在这里插入图片描述

modbus功能码位置:
在这里插入图片描述
功能码作用

功能码向服务器指示将执行哪种操作。

功能码 01 为读内部比特量输出状态;如告警、变位、故障、异常等。
功能码 02 为读外部开关量输入状态;如光耦输入、继电器输入等。
功能码 03 为读内部输出量的寄存器;如一些配置参数、定值的读取等。
功能码 04 为读外部输入量的寄存器;如外部电压电流模拟量,温湿度等。
写:
功能码 05 为写内部单个开关量状态;如光耦输出、继电器输出等。
功能码 06 为写内部单个寄存器的值;如更改配置参数、定值等。
功能码 15 为写内部多个开关量状态;如同 05。
功能码 16 为写内部多个寄存器的值;如同 06;对时是写多寄存器,用此功能码。

功能码的类型
功能码主要分为有效功能码、异常功能码和错误功能码。

有效功能码
有效功能码有二十几种,但是一般使用上都以1、2、3、4、5、6、15、16等八种最为常用,以及另外特殊使用的20、21两种,此为General Reference Register,绝大部份的Modbus设备并不会提供此Register。

其他可以参考ModBus/TCP协议分析

题目:09

题目地址:链接:https://pan.baidu.com/s/1_yb6oRi1VSI004A3H4o79w ,提取码:x4my

阅读流量包,发现function code有6
分析6
modbus.func_code==6

使用python脚本提取query请求

import pyshark

def find_flag():
    cap = pyshark.FileCapture("bus.bin")
    idx = 1
    flag = False
    for c in cap:
        for pkt in c:
            if pkt.layer_name == "modbus":
                func_code = int(pkt.func_code)
                if func_code == 6:
                    if flag == True:
                        flag = False
                        continue
                    payload = str(c["TCP"].payload).split(":")[-1]
                    payload = '0x' + payload
                    print(chr(int(payload,16)),end="")                
                    flag = True
        idx += 1

if __name__ == '__main__':
    find_flag()

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

题目:第六题

地址:链接:https://pan.baidu.com/s/1JNDRpS2bJRFHA3smvljwYw 提取码:1fnx
过滤modbus协议,tcp流追踪
在这里插入图片描述

,发现图片数据包,show hex,将最右边的一列提取出来为图片字节流

f = open("1.txt", "r")
res = ""
for i in f.readlines():
	res += i[44:46]

print(res)

在这里插入图片描述

提取出来
在这里插入图片描述

生成图片

在这里插入图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-24 15:54:17  更:2021-08-24 15:56:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:36:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码