httpパケットをキャプチャーして、その中を解析したいです。proxy経由のhttp通信をしている場合、パケットの内容からproxyを知ることはできますでしょうか。

ieの設定で自動でproxyを取得するとしていているので設定からはわからないが、ダイナミックに取得している場合、知りたいです。

よろしくお願いします。

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2014/11/08 00:33:10
  • 終了:2014/11/15 00:35:03

回答(3件)

id:tea_cup No.1

tea_cup回答回数1017ベストアンサー獲得回数1822014/11/08 01:18:11

ポイント34pt

proxyを自動検出で使っている場合は、自端末が受け取っているbootp(もしくは、DHCP)のパケットを解析してください。
参考:
DHCP ツールとオプション

id:JULY No.2

JULY回答回数966ベストアンサー獲得回数2472014/11/08 09:34:16

ポイント33pt

パケットキャプチャができるのであれば一目瞭然です。

どの Web サイトに繋いでもパケットの宛先アドレスが特定のアドレス(つまり、指定された Proxy)になります。

注意が必要なのは、パケットキャプチャソフト(例えば Wireshark)の表示上、HTTP として表示されない場合が多い点です。Proxy のポート番号として 80 番以外のポート番号が使われる事が多いですので、「なんだか分からないけど、とにかく TCP の通信」として表示される場合が多いです。

ですので、とりあえず、すべての TCP の通信をモニタリングして、自分がアクセスしたタイミングに、中身が HTTP の物を見つける必要があります。

id:a-kuma3 No.3

a-kuma3回答回数4546ベストアンサー獲得回数18962014/11/08 14:11:46

ポイント33pt

http のリクエストの場合には、トランスポート層のメッセージとして、以下のような構成になります。

  1. リクエスト
  2. ヘッダ(無くても良い)
  3. 空行
  4. ボディ(無くても良い)


例えば、この質問のページ http://q.hatena.ne.jp/1415374390 を取得するとき、パケットの構成としては、proxy を通さない場合は、以下のような感じになります。

  • IP層の送信先が q.hatena.ne.jp の IPアドレス
  • ポートは 80 (普通は)
  • トランスポート層は TCP
  • メッセージが "GET /1415374390 HTTP/1.1"

proxy を通すと、以下のようになります。

  • IP層の送信先が proxy サーバの IPアドレス
  • ポートは 80 以外(8080 が多いかな)
  • トランスポート層は TCP
  • メッセージが "GET http://q.hatena.ne.jp/1415374390 HTTP/1.1"


例えば、Wireshark を使った場合だと、あるサイトに接続をしてみて、その辺りのパケットで、以下のようなものが proxy を通した http の接続です。

  • Destination が、URL のサイトの IP アドレスじゃない
  • ポートが 80 じゃない
  • Info の GET 以降に続くところが http://~ となっている

proxy を通した場合、ポートが 80 ではないので、Info は汎用的な TCP の表示になっています。
Decode As で、Transport タブで HTTP を選択すると、proxy への接続も HTTP として表示できます。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません