如何调试Websockets?

Bai*_*kev 35 networking websocket

我想监视websocket流量(比如查看客户端/服务器正在使用的协议版本)以进行调试.我该怎么做呢?Wireshark对于这样的任务来说似乎太低了.建议?

kan*_*aka 28

Wireshark听起来就像你想要的那样.握手后WebSockets的框架或结构很少(所以你想要低级别),即使有,wirehark也很快(或已经)有能力解析它并向你显示结构.

就个人而言,我经常使用tcpdump捕获,然后使用wireshark解析数据.当您可能无法在要捕获数据的设备(即无头服务器)上使用wireshark时,这一点尤为出色.例如:

sudo tcpdump -w /tmp/capture_data -s 8192 port 8000
Run Code Online (Sandbox Code Playgroud)

或者,如果您可以控制WebSockets服务器(或代理),则可以始终打印发送和接收数据.请注意,由于websocket框架以'\ x00'开头,因此要避免打印,因为在许多语言中'\ x00'表示字符串的结尾.


Pet*_*its 9

如果您正在寻找发送和接收的实际数据,最近的Chrome Canary和Chromium现在具有WebSocket消息帧检查功能.你会发现在细节这个线程.


Hit*_*try 7

我认为你应该使用Wireshark

脚步

  • 打开wireshark
  • 转到捕获并按照下面的路径:捕获>接口>在适当的设备中开始捕获.
  • 在过滤器中编写规则 tcp.dstport == your_websoket_port
  • 点击申请