https をインターセプトするように mitmproxy を構成するにはどうすればいいですか?

https をインターセプトするように mitmproxy を構成するにはどうすればいいですか?

mitmproxyいくつかのリクエストをデバッグするために使用しようとしています。特定のポートをリッスンするようにhttps構成しました:mitmproxy

mitmproxy --listen-port 44700

環境を適切に構成しました:

export http_proxy=http://localhost:44700
export https_proxy=https://localhost:44700

そして、これは次の場合に機能しますhttp:

» http http://www.example.org

mitmproxy予想通りヒットしています。

しかしhttps失敗しています:

» http https://www.example.org
Traceback (most recent call last):
  File "/usr/bin/http", line 9, in <module>
    load_entry_point('httpie==0.9.2', 'console_scripts', 'http')()
  File "/usr/lib/python2.7/dist-packages/httpie/core.py", line 186, in main
    error('%s: %s', type(e).__name__, str(e))
TypeError: __str__ returned non-string (type Error)

質問:

  1. mitmproxyをリッスンするには別のポートを設定する必要がありますかhttps?
  2. httpを信頼するように(ツールに)指示するにはどうすればよいですかmitmproxy CA

答え1

Web GUI は非常に快適です。mitmproxy代わりに使用できます。

  1. プロキシ サーバーを実行します $mitmweb --listen-port 44700
    ファイアウォールで 44700 ポートが開いていることを確認します。フラグを使用してプロキシの IP を指定できます--listen-host。リモートでアクセスできない場合は、 IE--listen-host 192.168.0.10または試してください。--listen-host 0.0.0.0

  2. リモート デバイスで IP とポート プロキシを構成します。

  3. リモートデバイスでブラウザを開き、翻訳元は、ローカル DNS 内のローカル ページであり、証明書をダウンロードしてインストールできます。Android
    の場合は、PIN ロック画面を指定する必要があります。

  4. ブラウザで、デフォルトでポート 8081 の Web GUI を開きます。http://127.0.0.1:8081/#/flows
    ネットワーク インターセプトをお楽しみください。

答え2

デバイスのプロキシをIP/ポートに設定し、開きます翻訳元ブラウザで、CA をインストールする OS を選択します。

詳細は公式文書を参照してください

関連情報