mitmproxy
プロキシとして動作して通信を見るツールです何ができる?
- httpやhttpsの通信を見る
- レスポンスやリクエストを書き換える
- pythonが使える
何に似てる?
fiddler環境
- Python3.7
- Windows10
- Google Chrome
- 2019-11-07
インストール
公式を参考にpipでインストールしますpython3.6以上を要求するようです
https://mitmproxy.org/
https://docs.mitmproxy.org/stable/overview-installation/#installation-on-windows-via-pip3
pip install mitmproxy
インストールが終わったらmitmwebを起動しますmitmproxyはWindows環境だと動作しません
(_venv) E:\projects\testcode\mitmproxy>mitmproxy
Error: mitmproxy's console interface is not supported on Windows. You can run mitmdump or mitmweb instead.
pオプションでproxyのポートを指定できます(_venv) E:\projects\testcode\mitmproxy>mitmweb -p 17766
Web server listening at http://127.0.0.1:8081/
Proxy server listening at http://*:17766
ブラウザが勝手に開きます証明書のインストール
httpsの通信を見るには証明証が必要ですproxyに接続した状態でhttp://mitm.itにアクセスします
windowsっぽいアイコンをクリックするとp12ファイルのダウンロードが始まるので後は指示に従ってインストールします
指示の雑な訳
- P12ファイルをダブルクリック
- 現在のユーザーを選択して次をクリック
- 次をクリック
- パスワードを空のままにして次をクリック
- 証明書をすべて次のストアに配置するを選択
- 信頼されたルート証明機関を選択
- 次をクリックして完了をクリック
- もし確認画面が出てきたらはいをクリック
- おわり
通信を見る
左側から見たい通信を選んで右側で見ます右側の下の方のviewからhtmlやjsonなど見たい形式にできます
intercept
通信を書き換える事ができますinterceptに
google.co.jp/$
と入力してproxyに繋いでいる状態でhttps://www.google.co.jp/にアクセスするとmitmproxyがリクエストを止めます
interceptしたところはオレンジ色になってます
選択してaキーでリクエストを通します
すると次はレスポンスを補足して止まります
右上の方にあるペンのアイコンをクリックすると編集モードに入ります。編集が終わったらチェックマークをクリック
ここでHTMLからgooglelogo_color_272x92dp.pngの部分を探して全部適当なurlに置き換えてからaキーでリクエストを通してみます
たとえばいらすとやの画像に置き換えてみる
ロゴのURLを書き換える事ができました
接続がタイムアウトする前に書き換える必要があります
0 件のコメント:
コメントを投稿