飞鸽协议分析之上下线报文分析之二

本文是对飞鸽协议的深入分析,重点讨论上下线报文和消息发送的过程。纠正了之前关于飞鸽与飞秋报文差异的误解,解释了飞鸽协议的报文格式,包括版本号、数据包编号、命令字等字段。详细阐述了如何构造上线、下线报文,以及如何添加选项命令字实现消息确认。此外,提到了飞鸽协议中上线用户信息的传递方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇的飞鸽协议上下线报文分析,写的比较乱,并且其中有些分析还是有点出入。最近我又针对飞鸽协议做了详细的抓包分析,特此这一篇中对上下线报文做一个总结,其中也讲解了发送消息的一些内容。有关聊天报文和文件传输报文,以后我会在分析的比较透彻以后写出技术分析文章。

这里纠正上一篇中的一个错误,就是针对飞秋报文和飞鸽报文差异的那部分,经过我的分析后,发现飞秋的报文和飞鸽的报文基本上是一致的,飞秋的定制信息是在版本号部分。下面开始分析。

 

一、飞鸽协议格式分析

首先把飞鸽协议的报文的格式说明一下。飞鸽协议报文格式如下(注意,以下是一个完整字符串,使用字符冒号进行每部分的分隔):

Ver(1):PacketNo:SenderName:SenderHost:CommandNo:AdditionalSection

整体报文的意思是:版本号(现在是1,飞秋就是针对这部分做了修改):数据包编号:发送主机:命令:附加数据

 

各字段解析:

Ver:版本号,标准飞鸽协议为1

PacketNo:数据包编号,一般是取毫秒数。利用这个数据,可以唯一的区别每个数据包;

SenderName指的是发送者的昵称,对应windows系统上,取值为PC的当前用户的登录名

SenderHost:发送主机,对应windows系统上,取值为主机名;

CommandNo:命令字,指的是协议中定义的一系列命令,程序中使用十六进制常量数据定义。

AdditionalSection:附加数据,对应不同的具体命令,附加数据中有不同的数据内容。

 

这里对命令字部分进行详细解析。飞鸽协议中,命令字是由不同的十六进制数据定义

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值