前言
该文章为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系作者删除~
需求
监控某音网页版直播弹幕
正文
首先我们需要定位到弹幕传输的位置
因为是通过websocket进行传输的,所以我们可以全局先搜new websocket
onMessage是一个监听信息的方法
跳到当前这个位置,可以看到,deserializeBinary这个是将这个二进制字节进行一个序列化的方法,所以我们可以在这里下个断点,可以看到目前这个位置数据还是加密的。继续往下看
可以看到有一个.send方法,是用来发送数据
接收到服务器的数据响应r.toobject()
,里面的数据是加密的
emit方法
用于实现服务器向客户端广播事件,可以从这个位置跟进去查看数据
进到这个位置
可以看到deserializeBinary这个方法是一个解序列化的方法
s.toObject()就是我们的明文数据
接下来把这个js进行本地替换,注入我们的监听客户端
然后通过python开启服务端文章来源:https://www.toymoban.com/news/detail-450984.html
import asyncio
import websockets
async def echo(websocket):
# 使用WebSocket在客户端和服务器之间建立全双工双向连接后,就可以在连接打开时调用send()方法。
message = 'hello world'
# 发送数据
await websocket.send(message)
return True
async def recv_msg(websocket):
while 1:
# 接收数据
recv_text = await websocket.recv()
print(recv_text)
async def main_logic(websocket, path):
await echo(websocket)
await recv_msg(websocket)
start_server = websockets.serve(main_logic, '127.0.0.1', 9999)
print('成功建立连接!!')
loop = asyncio.get_event_loop()
loop.run_until_complete(start_server)
# 创建了一个连接对象之后,需要不断监听返回的数据,则调用 run_forever 方法,要保持长连接即可
loop.run_forever()
最后
欢迎联系作者交流更多文章来源地址https://www.toymoban.com/news/detail-450984.html
到了这里,关于websocket 监控某音网页版直播弹幕的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!