デバッグの目的で、WebSocketトラフィックを監視したい(クライアント/サーバーが使用しているプロトコルのバージョンを確認したい)。これを行うにはどうすればよいですか? Wiresharkは、このようなタスクにはレベルが低すぎるようです。提案?
Wireshark 実際に欲しいもののように聞こえます。ハンドシェイク後のWebSocketへのフレーミングまたは構造はほとんどないため(低レベルが必要なため)、たとえあったとしても、wiresharkはすぐに(または既に)解析して構造を表示することができます。
個人的には、tcpdumpでキャプチャして、wiresharkを使用して後でデータを解析することがよくあります。これは、データをキャプチャするデバイス(つまり、ヘッドレスサーバー)でWiresharkができない場合に特に便利です。例えば:
Sudo tcpdump -w /tmp/capture_data -s 8192 port 8000
あるいは、WebSocketサーバー(またはプロキシ)を制御できる場合は、常に送受信データを印刷できます。 WebSocketフレームは '\ x00'で始まるので、多くの言語では '\ x00'は文字列の終わりを意味するため、印刷を避けたいことに注意してください。
送受信された実際のデータを探している場合は、最近のChrome CanaryとChromiumにWebSocketメッセージフレーム検査機能が追加されました。詳細は this thread にあります。
Wiresharkを使用する必要があると思います
手順
tcp.dstport == your_websoket_port
簡単に言うと、wiresharkは複雑すぎます。接続を確立できるかどうかだけを確認したいと思いました。 Chrome plugin "Simple Web-socket(link: https://chrome.google.com/webstore/detail/simple-websocket-client/pfdhoblngboilpfeibdedpjgfnlcodoo?hl=en ) "チャームのように機能します。画像を参照してください。