HTTP / HTTPSトラフィックをスニッフィングするためにどのツールを使用できますか?

HTTP / HTTPSトラフィックをスニッフィングするためにどのツールを使用できますか?

私はHTTP / HTTPS要求を傍受し、(コンテンツ、ターゲットなど)情報を抽出し、さまざまな分析タスクを実行し、最終的に要求を削除する必要があるかどうかを判断できるコマンドラインツールを探しています。法的要求はアプリケーションに転送する必要があります。

本質的に同様のツールtcpdumpワイヤーシャークまたは呼吸しかし、HTTPレベルで動作します。

引用する

答え1

努力するミートプロシー

  • mitmproxy は、SSL をサポートする HTTP 中間子プロキシです。トラフィックを動的にスキャンして編集できるコンソールインターフェイスを提供します。

  • mitmdumpはmitmproxyのコマンドラインバージョンで、機能は同じですが、ユーザーインターフェイスはありません。 HTTP用のtcpdumpを考えてみましょう。

特徴

  • HTTPリクエストとレスポンスを傍受してすぐに修正します。
  • 後で再生して分析できるように、HTTP会話全体を保存してください。
  • HTTPセッションを再生するためのクライアントです。
  • サーバーが以前に記録したHTTP応答を再生します。
  • リバースプロキシモードは、トラフィックを指定されたサーバーに転送します。
  • Pythonを使用してHTTPトラフィックのスクリプト変更を実行します。
  • ブロックに使用される SSL 証明書は動的に生成されます。

スクリーンショット

   ステンレス鋼サンプル

はい

例を挙げました。ジキルブートローダーアプリケーションは私のローカルホストのポート4000でリッスンしています。トラフィックを傍受するには:

% mitmproxy --mode reverse:http://localhost:4000 -p 4001

その後、私のWebブラウザ()でポート4001のmitmproxyに接続すると、http://localhost:4001結果はmitmproxyです。

   mitmproxyのssとJB#1

その後、結果を選択してそのGET結果に関連するヘッダー情報を表示できますGET

   mitmproxyのssとJB#2

引用する

答え2

mitmproxy/mitmdump

tcpdumpHTTPSに該当するのはmitmdump。次のように進んでください。

  1. インストールmitmproxyパッケージ(macOS brew install mitmproxy:)。
  2. インストールするmitmproxy CA証明書次のコマンドを渡します。

    $ mitmdump --mode reverse:http://mitm.it/ -p 8080
    $ wget --content-disposition http://localhost:8080/cert/pem
    $ open mitmproxy-ca-cert.pem
    # Open, install and mark the certificate as trusted.
    

これで、リバースプロキシをテストする方法の簡単なテストは次のとおりです。

  1. ランニング: mitmdump --mode reverse:https://example.com/ -p 4433
  2. 別のシェルで次を実行しますcurl https://localhost:4433

    これでページソースコードが表示され、mitmdumpコマンドは次の出力を生成する必要があります。

    Proxy server listening at http://*:4433
    [::1]:49446: clientconnect
    [::1]:49446: GET https://example.com/ HTTP/2.0
              << 200  1.24k
    [::1]:49446: clientdisconnect
    

すべてのトラフィックに対して以下を実行してください。mitmdumpまたはmitmproxy

望むより:mitmproxyドキュメントページ詳細については。


チャールズ・プルー

macOSを使用している場合でも、以下があります。チャールズ・プルーホスト間のすべてのHTTPおよびSSL / HTTPSトラフィックを表示できるアプリケーション(GUI)。

答え3

場合によっては、着信HTTP要求を受け入れ、発信HTTPS要求を作成するプロキシを使用できます。たとえば、github.com間のトラフィックをキャプチャしたいと思いますgit。使ったミートプロシー:

mitmproxy -s httpser.py

どこhttpser.py

def request(context, flow):
  flow.request.scheme = 'https'
  flow.request.port = 443

次に、git次のように実行します。

export http_proxy="http://127.0.0.1:8080/"
git clone http://github.com/oxplot/difftr

wiresharkListen onを使用すると、通常localhostのトラフィックをキャプチャできます。プロキシがない場合、githubはgitHTTPSを使用するようにリダイレクトされます。

関連情報