我希望监控WebSocket流量(例如查看客户端/服务器使用的协议版本)以进行调试。我该如何做? Wireshark 对于这样的任务似乎过于底层。 有建议吗?
我希望监控WebSocket流量(例如查看客户端/服务器使用的协议版本)以进行调试。我该如何做? Wireshark 对于这样的任务似乎过于底层。 有建议吗?
Wireshark听起来正是你想要的。WebSocket握手后很少有框架或结构(所以你需要低级别),即使有,wireshark也能解析并显示它的结构,可能已经具备这个功能。
个人而言,我经常使用tcpdump进行捕获,然后再使用wireshark解析数据。当你无法在想要捕获数据的设备上使用wireshark时(例如一个无头服务器),这种方法特别好用。例如:
sudo tcpdump -w /tmp/capture_data -s 8192 port 8000
或者,如果您对WebSockets服务器(或代理)具有控制权,则始终可以打印发送和接收的数据。请注意,由于websocket帧以'\x00'开头,因此要避免打印该字符,因为在许多语言中,'\x00'表示字符串的结尾。
如果您想查看实际发送和接收的数据,则最近的Chrome Canary和Chromium现在具有WebSocket消息框架检查功能。 您可以在此讨论中找到详细信息。
我认为你应该使用Wireshark
步骤
tcp.dstport == 你的WebSocket端口
对于简单的事情,Wireshark太复杂了,我只想检查连接是否能够建立。以下Chrome插件“Simple Web-socket(链接:https://chrome.google.com/webstore/detail/simple-websocket-client/pfdhoblngboilpfeibdedpjgfnlcodoo?hl=en)”非常好用。请参见图片。