web-dev-qa-db-ja.com

HTTPおよびHTTPSブラウザーのトラフィックをログに記録し、後者を復号化する

すべてのHTTPおよびHTTPSブラウザー通信(要求、応答、完全なヘッダーおよび本文を含む)をコンピューター上のファイルに保存する方法はありますか?

HTTPS通信は復号化して保存する必要があります。

理想的には、FirefoxやGoogle Chromeの拡張機能のようなものを探しています。

Linuxで動作する必要があります。

14
pts

[〜#〜] har [〜#〜]はHTTPアーカイブであり、まさに保存したいものです(暗号化されていないHTTPSが含まれます)。

幸いなことに、これはすべての主要なブラウザーの基本機能になりました(質問したときではありませんでした)。サードパーティの拡張機能はもう必要ありません。

Firefox(v41 +)の場合:

  • Firefox開発ツールをネットワークモードで起動します(右上のメニュー> [開発]> [ネットワーク]、またはctrl-shift-Q)。
  • 対象シナリオを再現
  • グリッドを右クリックして[すべてをHARとして保存]を選択して、キャプチャを保存します
  • キャプチャをHARファイルにエクスポートする

その他のブラウザ:

すべてのブラウザーの最新バージョンでは、HARを簡単に保存できます。

https://toolbox.googleapps.com/apps/har_analyzer/

4
vaab

HTTPFox は、この機能を実行するFirefoxの拡張機能です。

===編集===

リクエストパネルを右クリックし、[すべての行をコピー]をクリックします。次に、これを好きなエディタ(Openofficeスプレッドシートなど)に保存できます。私が提供した画像をご覧ください。

Answer

6
slotishtype

Fiddler は、拡張機能ではなく別のアプリケーションであっても、検討する必要があります。

3
E. Jaep

OPのようにHTTPS応答本文をダンプする必要があったので、この回答はこれを実行したいと思っていましたが、ここでの回答はどれも適していません。だから、私と同じようにここに上陸した人のために、ここに私が見つけたものがあります。

私は最終的に mitmproxy に到達しました。これはFirefoxの拡張機能ではありませんが、すべてのFirefoxトラフィックをログに記録するという目標を達成します。すべてPythonなので、pip install mitmproxyでインストールしました。必要に応じて、パッケージマネージャーを使用してください。

初期セットアップ/デバッグのためにmitmproxyで開始し、次にmitmdumpを使用してストリームをダンプし、それを機能させて調整した。

プロキシサーバーとして127.0.0.1:8080を使用するようにFirefoxを設定したところ(8080はmitmproxyのデフォルトポートです)、すべてのFirefoxトラフィックがmitmproxyを通過するのを見ました。 HTTPSトラフィックを有効にするには、mitmproxyが作成する証明書を受け入れる必要があります。プロキシを設定して、Firefoxで http://mitm.it の「マジックアドレス」に移動し、「 [その他]ボタンをクリックし、ボックスをチェックして証明書を信頼し、[OK]をクリックします。

暗号化されていない応答本文をダンプするには、非常に単純な インラインスクリプト を使用する必要がありました。

from libmproxy.model import decoded

def response(context, flow):
    with decoded(flow.response):  # automatically decode gzipped responses.
        with open("body.txt","ab") as f:
            f.write(flow.response.content)

ここに要旨 -save_response.pyとしてダウンロードし、mitmdump -s save_response.pyとともに使用します。レスポンスボディはbody.txtに蓄積し始めます。

mitmproxyには、便利な filters もいくつか用意されています mitmdumpに を指定して、必要なものだけを取得できます。

3
cincodenada

httpFox、httpScoop(Macのみ)およびhttpWatch(IE、Firefox、Windowsのみ)はすべて、これを行うために使用するツールです。さらに、Fiddlerを試すこともできます(以前に提案されたとおり)。Macを使用している場合は、Charles Proxyを試すこともできます。私の個人的なお気に入りはhttpWatchです(ヘッダー、コンテンツ、URLなどで簡単にフィルターできます)が、これは高価であるため、オプションではない場合があります。

[〜#〜] har [〜#〜] プロジェクト(HARはHTTPアーカイブの略)もご覧ください。httpトランザクション、ヘッダー、コンテンツなどを記録するための標準ベースのアプローチです。上記のツールの多くは、HARビューアを使用して表示するためにHARファイルをエクスポートできます(Firebugのウォーターフォール機能を見てきたなら、これに慣れているでしょう)。実際、Firebugを使用すると、NetExportを使用してこれらのファイル/ログを生成できます。

FWIW httpScoopは、ワイヤレスネットワークでHTTPトラフィックをデバッグ/トレースするのに適した方法です。これについては、先ほど書きました。 http://blog.adtools.co.uk/trace-debug-mobile- application-http-requests-using-macos /

2
Sean Dillon

Wireshark を使用すると、httpプロトコルレイヤーにあるものを含むネットワークパケットをキャプチャし、コンピューターに保存できます。 https情報をキャプチャすることもできますが、何かを復号化するように構成できるとは思えません。

1
40XUserNotFound