AndroidのHTTPSの通信内容で見たいものがあって、ちょうどmitmproxyのWindows版が手軽そうだったので試してみました。
インストール
mitmproxyの公式サイトに行くと、
ダウンロードリンクはGithubのmitmproxyのページになっているので、そちらからダウンロードしました。
記事を書いている時点でのバージョンは2.0.2で、mitmproxy-2.0.2-windows-installer.exeかmitmproxy-2.0.2-windows.zipです。
インストーラー版でもzip版でも設定は変わらないので、好きな方をインストール・展開しましょう。
基本的な使い方
特にポート設定をいじらない場合、mitmweb.exe (mitmproxy ui) を起動するだけでOKです。
デフォルトだと8080がプロキシのポート、8081がウェブのUIのポートです。
ブラウザのプロキシを127.0.0.1:8080に設定し、ウェブUIのhttp://127.0.0.1:8081/に接続する事で通信内容を見れます。
他のアプリケーションとかぶっていても特にエラーが出なかったので、もし他とかぶっている場合の時などは後述の方法で変更しましょう。
mitmdump.exe はウェブのUI画面が無く、ファイルなどに出力する用です。
ポートの設定など
mitmweb.exe に渡す引数で、設定を変更できます。ショートカットやコマンドプロンプトから指定しましょう。
--port プロキシのポート番号 --web-port ウェブUI画面のポート番号
のように引数をつける事で、ポートの変更ができます。
また、起動時に規定のブラウザを立ち上げてウェブUIにアクセスしてくれますが、
いらない人は--no-browser
をつけましょう。(後から別のブラウザでもアクセスできます)
他にも設定したい項目がある場合、公式のドキュメントか、コマンドプロンプトからmitmweb --help
のようにして確認しましょう。
HTTPS通信を見る
まずブラウザなどの設定で、mitmproxyサーバーの設定をしましょう。
mitmproxyが稼働しているWindowsPCなら、デフォルトなら127.0.0.1:8080に繋がるようにすればOKです。
設定後、http://mitm.it/に接続すると、以下のように各ブラウザ用の証明書ファイルのダウンロードリンクがあるので、ダウンロードしインストールします。
mitmプロキシサーバーを経由していない場合は、
『If you can see this, traffic is not passing through mitmproxy.』と表示されるので、ちゃんと接続されているかどうかの確認もできます。
Firefoxの場合
プロキシを設定しhttp://mitm.it/にアクセスし、証明書をダウンロード、チェックを入れてOKを押します。
Androidの場合
まずプロキシを設定します。mitmproxyを稼働しているWindowsのIPアドレスを指定しましょう。
次にhttp://mitm.it/にアクセスし、証明書をダウンロード、適当な名前をつけて設定すれば完了です。
その他の証明書ファイルのインストール方法
Windowsでは %USERPROFILE%\.mitmproxy フォルダに、
- mitmproxy-ca.pem
- mitmproxy-ca-cert.cer
- mitmproxy-ca-cert.p12
- mitmproxy-ca-cert.pem
- mitmproxy-dhparam.pem
のように証明書ファイルが生成されています。こちらから各ブラウザに対応したファイルを手動でインストールする事もできます。
証明書ファイルに関する細かい説明は、公式サイトのドキュメントのAbout Certificatesに載っています。
コメント
[…] hhttps://vivibit.net/windows-mitmproxy-https/ […]