• ベストアンサー

Wiresharke HTTP通信のキャプチャ

Web閲覧の状況をWiresharke を確認しているのですが、HTTP通信のキャプチャがとれないです。コマンドプロンプトからcurl http://www.google.co.jpと打った場合は、WiresharkeでHTTP通信を確認できましたが、ブラウザーからhttp://www.google.co.jpとやっても、TCPやTLSv1.3レベルは表示されるのですが、HTTPレベルのものは表示されません。絞り込みでhttpとすると一つも表示されていません。 どうすれば解決できるでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6803/9674)
回答No.1

世の中のかなりのサイトが、「常時https」に対応していることが原因でしょう。 httpsは、暗号化通信トンネルを確立したのちにその中でhttp通信しているので、外部からどんな通信をしているのか、ほとんど見えません。 >コマンドプロンプトからcurl http://www.google.co.jpと打った場合は、 >WiresharkeでHTTP通信を確認できましたが、 これだって、Googleが「https://www.google.co.jp にアクセスしてください」という反応を返しているだけで、通常のブラウザでは次の瞬間に鍵マークの付いた https://www.google.co.jp になってしまっているはずです。 そうすると、それ以降のやり取りは見えません。 httpsに飛ばされない、個人Webサイトやマイナーなブログへのアクセスであれば、普通にhttpアクセスが見えるでしょう。 そういったサイトで Wiresharkの動作を確認してみてください。 ---- まあつまり、横から覗き見するだけのネットワークアナライザでは、ろくに通信解析できないってことになっているわけです。 https通信をキャプチャするには、proxyサーバを置いてそちらを通してのWebアクセスしか許可せず、proxyサーバのログを取るとか。 インターネットの出入り口にゲートウェイ機器を置いて、独自SSL証明書を発行してクライアントにインストールさせ、 端末 ←独自SSL→ ゲートウェイ ←サイトのSSL→ HTTPSサイト このように通信を変換し、ゲートウェイ部分でログを取る、といった手段を用いなければなりません。

kariyamad1
質問者

お礼

詳しい&わかり易いご説明ありがとうございます。 非常に勉強になりました。

その他の回答 (1)

  • pooh26
  • ベストアンサー率49% (66/134)
回答No.2

Hypertext Strict Transport Security(HSTS)と言って、一度アクセスすると次回以降から自動的にhttpsアクセスする機能がブラウザで働いている可能性があります。 ブラウザのアドレス欄にhttpと書いても、自動的にhttpsとなります。 ブラウザキャッシュを削除するとか、プライベートモードで開けば、1回だけは解決できます。

kariyamad1
質問者

お礼

1回とは言え、プライベートモードで開くことで確認できることは非常に勉強になりました。 ありがとうございました。

関連するQ&A