GAT1399协议分析(二)--注册流程分析

2024-06-05 10:20

本文主要是介绍GAT1399协议分析(二)--注册流程分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、官方流程说明

二、官方流程解析

1 : 发起方向接收方发送注册 HTTP POST 请求/VIID/System/Register。

2: 接收方向发送方发送响应401 Unauthorized, 并在响应的消息头 WWW-Authenticate 字段中给

出适合发送方的认证机制和参数。

3: 发起方重新向接收方发送注册 HTTP POST 请求, 在请求的 Authorization 字段给出信任书, 包

含认证信息。

4: 接收方对请求进行验证, 如果发起方身份合法, 向发起方发送成功响应200 OK, 如果身份不合

法则发送拒绝服务应答。

三、Regist消息解析

wireshark抓包分析:

HTTP消息头:Post消息+消息体(Json)

消息内容文本话:

[POST /VIID/System/Register HTTP/1.1
Host: 10.0.21.166:1400
Content-Type: application/VIID+JSON; charset=UTF-8
Accept: */*
User-Agent: Vision-Zenith, ChengDu
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Length: 54

{"RegisterObject":{"DeviceID":"34078100001190001002"}}

四、Regist消息回复未认证

文本化:

HTTP/1.1 401 Unauthorized
Content-Type: text/plain
WWW-Authenticate: Digest realm="12312312315031231231", nonce="zWq5D1nFFUa71Ni9", opaque="BSTjT6ow+VLrnu4k", algorithm=MD5, qop="auth"
Date: Tue, 04 Jun 2024 01:45:47 GMT
Content-Length: 17

401 Unauthorized

五、认证再次注册

文本化:

POST /VIID/System/Register HTTP/1.1
Host: 10.0.21.166:1400
Content-Type: application/VIID+JSON; charset=UTF-8
Authorization: Digest username="34078100001190001002", realm="12312312315031231231", nonce="zWq5D1nFFUa71Ni9", uri="/VIID/System/Register", algorithm="MD5", qop=auth, nc=00000001, cnonce="0a4f113b", response="72ad0bd84ec2ff10acf0c310b3beab16", opaque="BSTjT6ow+VLrnu4k"
Accept: */*
User-Agent: Vision-Zenith, ChengDu
Accept-Encoding: gzip, deflate
Cache-Control: no-cache
Content-Length: 54

{"RegisterObject":{"DeviceID":"34078100001190001002"}}

六、注册成功返回

官方定义:

wireshark抓包:

文本化:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Tue, 04 Jun 2024 01:46:02 GMT
Content-Length: 153

{

"ResponseStatusObject":{

"Id":"34078100001190001002",

"StatusCode":0,

"RequestURL":"/VIID/System/Register",

"StatusString":"",

"LocalTime":"20240604094602"

}}

这篇关于GAT1399协议分析(二)--注册流程分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1032788

相关文章

Spring Cloud之注册中心Nacos的使用详解

《SpringCloud之注册中心Nacos的使用详解》本文介绍SpringCloudAlibaba中的Nacos组件,对比了Nacos与Eureka的区别,展示了如何在项目中引入SpringClo... 目录Naacos服务注册/服务发现引⼊Spring Cloud Alibaba依赖引入Naco编程s依

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入

在VSCode中本地运行DeepSeek的流程步骤

《在VSCode中本地运行DeepSeek的流程步骤》本文详细介绍了如何在本地VSCode中安装和配置Ollama和CodeGPT,以使用DeepSeek进行AI编码辅助,无需依赖云服务,需要的朋友可... 目录步骤 1:在 VSCode 中安装 Ollama 和 CodeGPT安装Ollama下载Olla

linux环境openssl、openssh升级流程

《linux环境openssl、openssh升级流程》该文章详细介绍了在Ubuntu22.04系统上升级OpenSSL和OpenSSH的方法,首先,升级OpenSSL的步骤包括下载最新版本、安装编译... 目录一.升级openssl1.官网下载最新版openssl2.安装编译环境3.下载后解压安装4.备份

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

Qt 中集成mqtt协议的使用方法

《Qt中集成mqtt协议的使用方法》文章介绍了如何在工程中引入qmqtt库,并通过声明一个单例类来暴露订阅到的主题数据,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一,引入qmqtt 库二,使用一,引入qmqtt 库我是将整个头文件/源文件都添加到了工程中进行编译,这样 跨平台

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块