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


14

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

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

FirefoxやGoogle Chromeの拡張機能のようなものを探しているのが理想です。

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

回答:


4

HARはHTTPアーカイブであり、まさに保存したいものです(暗号化されていないHTTPSを含みます)。

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

Firefox(v41 +)の場合:

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

他のブラウザ:

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

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


6

HTTPFoxは、仕事をするFirefoxの拡張機能です。

===編集===

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

回答


そうは思いません。HttpFox 0.8.9をインストールしたばかりで、ログに記録されたすべてのトラフィックをファイルに保存する方法がわかりません。数千のHTTP(S)リクエストがあり、それらすべてを保存するために千回クリックするつもりはないことに注意してください。HttpFoxを使用してすべてのデータを保存する方法を明確にしてください。
pts

私はそう思う、チーフ。私の答えの編集をご覧ください。
-slotishtype

1
@slotistype:説明画像をありがとうございます。以前にすべての行をコピーすることを知らなかったので、あなたが提案したようにそれを試しました。あなたが提供した画像を使用して見つけるのは非常に簡単でした。残念ながら、HTTPリクエストとレスポンスの本文はコピーされないため、私の質問に対する解決策ではありません。
PTS

@pts私の悪い。気づいただけです。Firefox以外の何かをインストールしない限り、別のツールを知りません。幸運
-slotishtype

FYI HttpFoxには、[応答]本文を表示できる[ コンテンツ ]タブがあります(一部の要求を除く)Error loading content (NS_ERROR_DOCUMENT_NOT_CACHED)。ただし、すべての要求の応答本文が必要なので、HttpFoxはこの問題の解決策にはなりません。
pts

3

Fiddlerは、拡張機能ではなく別個のアプリケーションであっても、間違いなく検討すべきものです。


1
申し訳ありませんが、フィドラーは私のために動作しません。Microsoft Windowsが必要だからです。Ubuntuがあります。最初に尋ねたように、ブラウザ拡張機能はおそらく複数のオペレーティングシステムで動作します。
PTS

3

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

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

mitmproxy最初のセットアップ/デバッグのためにそれを開始し、mitmdumpそれが動作して洗練されたらストリームをダンプするために使用しました。

Firefoxを127.0.0.1:8080プロキシサーバーとして使用するように設定しました(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には、必要なものだけを取得するためにmitmdumpに指定できる便利なフィルターも多数あります。


2

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

また、HARプロジェクト(HARはHTTP Archiveを表します)を参照することもできます。これは、HTTPトランザクション、ヘッダー、コンテンツなどを記録するための標準ベースのアプローチです。 HARビューアー(Firebugのウォーターフォール機能を見たことがある方はおなじみでしょう)。実際、Firebugを使用して、NetExportを使用してこれらのファイル/ログを生成することもできます。

:FWIW httpScoopは、デバッグ/トレースHTTPワイヤレスネットワーク上のトラフィック、私はいくつかの時間前にこれを行うことについての記事を書いたために良い方法ですhttp://blog.adtools.co.uk/trace-debug-mobile-application-http- requests-using-macos /


言及したツールのうち、ログに記録されたすべての通信のダンプをディスクに保存できるものはどれですか?httpFoxはできません。httpScoopはMac専用であり、Linuxソリューションを求めていました。httpWatchはWindows専用であり、Linuxソリューションを求めていました。FiddlerはWindows専用であり、Linuxソリューションを求めていました。Charles ProxyはMac専用であり、Linuxソリューションを求めていました。Firebug + NetExportについて言及していただき、ありがとうございます。
pts

Firebug + NetExportは、Linuxでの魅力のように機能します。SSLトラフィックを暗号化せずにエクスポートします(ちょうど私が望んだとおりです)。私はあなたの答えを喜んで受け入れますが、最初に他のすべての命題を削除(またはそれらを別の答えに移動)してください。
pts

1

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


1
Wiresharkを提案していただきありがとうございますが、解読されたHTTPSストリームを保存しないため、私の質問への回答としては役に立ちません。
PTS

2
Wireshark は、プライベートサーバー証明書を持っている場合、最新バージョンの1つ以降のSSLトラフィックを解読できます
-cweiske

1
プライベートサーバー証明書がありません。
pts
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.