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

2018-07-18发布0条评论

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

发现报文内容

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

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

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

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

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

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

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

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

0001此处可能为版本号

00000007此处为操作符

 

分析后面的心跳报文

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

心跳报文内容相同

只有与连接时候的报文中的00000007变化为00000002了

使用010editor分析

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

内容为[objectObject]

仿照此条报文发送即可

 

分析传回的报文

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

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

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

大概有如下几种json

SEND_GIFT

DANMU_MSG

WELCOME

 

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