我想监视websocket流量(比如查看客户端/服务器正在使用的协议版本)以进行调试。我该怎么做呢? Wireshark对于这样的任务来说似乎太低了。建议?
答案 0 :(得分:27)
Wireshark听起来就像你想要的那样。握手后WebSockets的框架或结构非常少(所以你想要低级别),即使有,wirehark也很快(或已经)有能力解析它并向你显示结构。
就个人而言,我经常使用tcpdump捕获,然后使用wireshark解析数据。当您可能无法在要捕获数据的设备(即无头服务器)上使用wireshark时,这一点尤为出色。例如:
sudo tcpdump -w /tmp/capture_data -s 8192 port 8000
或者,如果您可以控制WebSockets服务器(或代理),则始终可以打印出发送和接收数据。请注意,由于websocket框架以'\ x00'开头,因此要避免打印,因为在许多语言中'\ x00'表示字符串的结尾。
答案 1 :(得分:7)
如果您正在寻找发送和接收的实际数据,最近的Chrome Canary和Chromium现在具有WebSocket消息帧检查功能。 您可以在this thread找到详细信息。
答案 2 :(得分:6)
我认为你应该使用Wireshark
步骤
tcp.dstport == your_websoket_port
答案 3 :(得分:0)
简单来说,wireshark太复杂了,我想只检查连接是否可以建立。关注Chrome插件“Simple Web-socket(链接:https://chrome.google.com/webstore/detail/simple-websocket-client/pfdhoblngboilpfeibdedpjgfnlcodoo?hl=en)”就像魅力一样。见图。