答え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です。
その後、結果を選択してそのGET
結果に関連するヘッダー情報を表示できますGET
。
引用する
答え2
mitmproxy
/mitmdump
tcpdump
HTTPSに該当するのはmitmdump
。次のように進んでください。
- インストール
mitmproxy
パッケージ(macOSbrew install mitmproxy
:)。 インストールする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.
これで、リバースプロキシをテストする方法の簡単なテストは次のとおりです。
- ランニング:
mitmdump --mode reverse:https://example.com/ -p 4433
。 別のシェルで次を実行します
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
wireshark
Listen onを使用すると、通常localhost
のトラフィックをキャプチャできます。プロキシがない場合、githubはgit
HTTPSを使用するようにリダイレクトされます。