#用WebSocketプロトコル
1. Etherealの
wiresharkのルール:tcp.portの== 9000
2.分析結果
クライアントの要求:
GET / WS / TEST_2 HTTP / 1.1 ホスト:localhostを:9000 接続:アップグレード アップグレード:のWebSocket 起源:のhttp://192.168***:9000 秒-のWebSocket-バージョン:13 秒-のWebSocket-キー:t55Td8j76 + BHL9vRhPFXCQ == 秒-WebSocket-拡張機能:permessage-デフレート。client_max_window_bits
サーバーが応答しました:
HTTP / 1.1 101スイッチングプロトコルが アップグレード:のWebSocket 接続:アップグレード 秒-のWebSocket-受け入れ:4rAk + P4vM9mrrpKOiDCDSYQpXPA =
解釈:
- 接続:接続をアップグレードするように設定する必要があり、それは、クライアントがアップグレードに接続するために望んでいることを示しています
- アップグレード:アップグレードのWebSocketに設定する必要があり、特急サーバの応答を取得した後、のWebSocketプロトコルのHTTPプロトコル変換(アップグレード)をアップグレードするためにHTTPを使用します。
- SEC-WebSocketのキー:ランダムな文字列は、プロトコルを確認するために使用されるHTTPプロトコル用WebSocketプロトコルではありません
- SEC-のWebSocket-バージョン:表示のバージョンのWebSocket。
- SECは-のWebSocket-受け入れ:SECは-のWebSocket-受け入れ、特別な文字列を計算します。契約はWebSocketのプロトコルであるかどうかを確認します。
- SEC-のWebSocket - ロケーション:要求アドレス用WebSocketプロトコルを示す、ホストフィールドに対応します。
- プロトコルの切り替えHTTP / 1.1 101:101ステータスコードは、作業を完了するために、HTTPプロトコルをステータスコード101を返した後、アップグレードプロトコルは、WebSocketのプロトコルに変換されることを示しています。そして、それは、全二重双方向通信することができます。