1. 首页
  2. 二次元
  3. Bili live 直播弹幕Webscoket 协议分析(1)

Bili live 直播弹幕Webscoket 协议分析(1)

打开任意一个直播间,使用charles进行抓包发现报文内容将发送的第一条报文,复制到010editor中可以发现,内容为一条json,但不是完全的json,还有一些看不懂的头分析多条报文之后,发现规律...

打开任意一个直播间,使用charles进行抓包

发现报文内容

Bili live 直播弹幕Webscoket 协议分析(1) 二次元 第1张

将发送的第一条报文,复制到010editor中

可以发现,内容为一条json,

Bili live 直播弹幕Webscoket 协议分析(1) 二次元 第2张

但不是完全的json,还有一些看不懂的头

分析多条报文之后,发现规律如下

00 00 00 59 此处为报文字节长度 0x59 = 89

00 10 此处为报文头部长度  0x10 = 16

00 01 此处可能为版本号

00 00 00 07 此处为操作符

 

分析后面的心跳报文

Bili live 直播弹幕Webscoket 协议分析(1) 二次元 第3张

心跳报文内容相同

只有与 连接时候的报文中的 00 00 00 07 变化为 00 00 00 02了

使用010editor分析

Bili live 直播弹幕Webscoket 协议分析(1) 二次元 第4张

内容为 [object Object]

仿照此条报文发送即可

 

分析传回的报文

报文中与发送时的协议信息一致,后方跟这一串json 数据,其中中文部分使用UTF-8编码了

Bili live 直播弹幕Webscoket 协议分析(1) 二次元 第5张

使用报文中的CMD值,分析归类了一下

大概有如下几种json

SEND_GIFT

DANMU_MSG

WELCOME

 

接下来直接分析json 就可以完成弹幕抓取了.


哎哎
相关推荐