如何使用wireshark调试WebSocket

如何使用wireshark调试WebSocket,websocket,wireshark,Websocket,Wireshark,我在localhostws://localhost:8001上使用了python-tornado-server托管了我的websocket服务器,客户端位于192.168.0.116上的另一个系统上,因此当我们尝试通信时,它工作正常,但无法使用wireshark调试它。 我的websocket在端口8001上运行,所以我尝试使用 tcp.port==8001 但是没有找到结果,所以我在http上尝试了它 我的局域网ip为192.168.0.219,端口为8001。所以 http.host ==

我在localhostws://localhost:8001上使用了python-tornado-server托管了我的websocket服务器,客户端位于192.168.0.116上的另一个系统上,因此当我们尝试通信时,它工作正常,但无法使用wireshark调试它。 我的websocket在端口8001上运行,所以我尝试使用

tcp.port==8001
但是没有找到结果,所以我在http上尝试了它 我的局域网ip为192.168.0.219,端口为8001。所以

http.host == 192.168.0.219 && tcp.port == 8001
但没有发现结果。
还有什么我可以试着调试我的websocket的吗。

检查过滤器的语法,在您的情况下,它应该是
tcp端口8001

逐步:

  • 捕获选项
  • 选择网络接口
  • tcp端口8001
  • 开始
  • 我终于找到了

    当我把

    tcp.dstport == 8001 || tcp.srcport == 8001
    

    那时我可以捕获它。

    您还可以使用显示过滤器进行过滤,以仅显示WebSocket数据包:

    (websocket)
    

    你必须添加更多的信息,比如你具体尝试了什么,你在哪个平台上尝试过,版本等等。在我的例子中,我在Linux中经常使用这种过滤器,而且很有效。此外,请检查您是否以权限(超级用户o suid)运行wireshark,并检查您是否筛选了正确的网络接口。有时,我似乎可以使用stackoverflow上的套接字连接,但由于某些原因,我正在构建的网站却无法使用,我想知道这是否是因为我正在构建的站点是ssl/tsl?WebSocket不一定使用端口8001。例如,Openshift WebSocket当前使用端口8000: