美团websocket 分析

声明

本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由

此产生的一切后果均与作者无关!

部分python代码

复制代码
hex_data = '' hex # 填入 Node 输出的完整 hex
print(hex_data)
import array

def on_open(ws):
    print("连接已建立")

    # 1. 将 hex 直接转为 bytes(不加任何额外数据)
    binary_message = bytes.fromhex(hex_data)

    # 2. 验证长度
    print(f"hex_data 长度: {len(hex_data) // 2} 字节")
    print(f"转换后长度: {len(binary_message)} 字节")

    # 3. 解析前4字节看看(应该就是长度字段)
    if len(binary_message) >= 4:
        existing_length = int.from_bytes(binary_message[:4], byteorder='little')
        print(f"消息中前4字节表示的长度: {existing_length}")
        print(f"与实际长度匹配: {'✅' if existing_length == len(binary_message) else '❌'}")

    # 4. 直接发送(不要加额外头)
    ws.send(binary_message, opcode=websocket.ABNF.OPCODE_BINARY)
    print(f"已发送 {len(binary_message)} 字节,应与浏览器 1163 字节一致")


def on_message(ws, message):
    # 美团回传的通常也是二进制,可能需要打印 hex 查看
    if isinstance(message, bytes):
        print(f"收到二进制响应 (hex): {len(message)}")
    else:
        print(f"收到文本响应: {message}")


def on_error(ws, error):
    print(f"错误: {error}")


def on_close(ws, code, msg):
    print(f"连接关闭: {code} - {msg}")


if __name__ == "__main__":
    ws_url = "meituan.com"
    ws = websocket.WebSocketApp(
        ws_url,
        on_open=on_open,
        on_message=on_message,
        on_error=on_error,
        on_close=on_close
    )
    # run_forever 增加 SSL 忽略配置
    ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE})

结果

总结

1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

相关推荐
小杨勇敢飞41 分钟前
记录一次 VMware 虚拟机固定 IP 后,FinalShell 连接不上的排查过程
网络·网络协议·tcp/ip
xujinwei_gingko7 小时前
SpringBoot整合WebSocket
spring boot·后端·websocket
zjun100113 小时前
TCP专栏-4.四次挥手
网络协议·tcp/ip
天天进步201514 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
酉鬼女又兒15 小时前
零基础入门计算机网络:网络层核心任务、三大关键问题、两种服务类型与 TCP/IP 网际层协议体系全解析
服务器·网络·网络协议·tcp/ip·计算机网络·php·求职招聘
代码中介商17 小时前
HTTPS加密原理:图解安全传输全流程
网络协议·http·https
“初生”17 小时前
Codex 桌面端新会话 5 次 Reconnecting 怎么办?HTTP/SSE 完美修复方案(2026最新)
网络·网络协议·http
夜悊17 小时前
网络编程代码实例:IO复用版
网络协议
北京耐用通信18 小时前
耐达讯自动化工业网关:极简组态实现 Modbus 转 PROFINET 稳定通讯
人工智能·物联网·网络协议·自动化·信息与通信
刘哥测评技术zcwz62619 小时前
海外动态IP和静态IP需要怎么选择
网络·网络协议·tcp/ip