WiresharkでWebSocket通信をパケットキャプチャしてみた(WebSocketの切断)

前々回前回で、接続時、テキストデータの送受信時のパケットを見たので、今回は切断時のパケットを見てみることにする。

ブラウザ側のJavaScriptでclose()メソッドを呼び出したときのデータが以下。
(パケットをキャプチャしたときのブラウザはGoogle Chrome 24.0.1312.52)
なお、TCPヘッダなどを取り除き、WebSocketの部分だけを抽出して16進で表示している。

88 80 50 1a 6d dc

Wiresharkで見るとこうなる。

Opcodeが接続の切断を示す "1000" になっている。そしてPayloadにデータは何もないが、クライアントからサーバに送っているのでMasking-Keyが設定されている。
(OpecodeやMasking-Keyの意味は前回の記事を参照)

そして、これに対するサーバの返信。

88 00

Wiresharkで表示したところ。

こちらもOpcodeが "1000" になっている。ただし、サーバからの送信なのでMasking-Keyはない。Masking-KeyもPayloadもないため、2バイトとものすごく短い。

ところで、これはWebSocketと全く関係ないが、WiresharkでWebScoketの切断のパケットを表示させるとこんなことも表示された。
クライアント→サーバの場合

サーバ→クライアントの場合

Malformedと言われてしまっているが、Wiresharkが期待しているパケットと違っているのかな?それともWiresharkのバグ?
よくわからないが、WebSocketの通信自体は正常にできているようなので、気にしなくていい、、、のかな??