web-dev-qa-db-ja.com

WindowsでCharles Web Proxyと最新のAndroid Emulatorを使用してSSL証明書を構成する方法

Charles Webプロキシを使用して、WindowsのAndroidエミュレーターを使用したいと思います。チャールズのセットアップに成功し、コマンドラインでエミュレーターを開始しました。

emulator -http-proxy 127.0.0.1:8888 @NexusOne

CharlesのAndroidエミュレータからのトラフィックを見ることができますが、問題は、SSLを使用するライブAPIに対して開発していることで、Charlesを設定して、送受信されるデータ。 CharlesでSSLが設定されている2つの領域(プロキシ->プロキシ設定-> SSLおよびプロキシ->クライアントSSL証明書)を知っていますが、やりたいことを実行できる適切なドキュメントが見つかりません。これを達成する方法を説明できるチャールズまたは証明書一般の経験者がいます。証明書の入門書も良いかもしれません。なぜこれがそんなに難しいのかという知識が不足しているように思えるからです。

59
Martyn

Charlesで、Proxy >> Proxy Settingsに移動し、SSLタブを選択します。ホストをロケーションのリストに追加します。

たとえば、セキュアコールが https://secure.example.com に向かう場合、secure.example.comまたは* .example.comを入力できます。

上記の設定が完了したら、チャールズのメインウィンドウで通話を右クリックし、SSLプロキシオプションを選択する必要がある場合があります。

お役に立てれば。

48
bcj19

チャールを使用してhttpまたはhttpsトラフィックをリモートでキャプチャするには、次の手順を実行する必要があります。

ホスト-Charlesを実行し、プロキシクライアントをホストしているマシン-キャプチャするトラフィックを生成するユーザーのマシン

ホストマシン

  1. 完全にライセンスされたチャールズバージョンをインストールする
  2. プロキシ->プロキシ設定->「Enable Transparent HTTP Proxying」をチェック
  3. プロキシ-> SSLプロキシ設定->「SSLプロキシを有効にする」をチェック
  4. プロキシ-> SSLプロキシ設定-> [追加]ボタンをクリックし、両方のフィールドに*を入力します
  5. プロキシ->アクセス制御設定->ローカルサブネット(例:192.168.2.0/24)を追加して、ローカルネットワーク上のすべてのマシンが別のマシンのプロキシを使用することを許可します。
  6. Charlesに「自動保存ツール」を設定することをお勧めします。これにより、charlesログが自動的に保存および回転されます。

クライアントマシン:

  1. チャールズSSL証明書をインストールして永続的に承認/信頼する
    http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
  2. IE、Firefox、Chromeを構成して、charlesがプロキシをホストしているソケットを使用する(例:192.168.1.100:8888)

これをテストしたとき、Facebook HTTPSチャットの2行をピックアップしました(1行はTO、もう1行はFROM)

次の方法でエミュレータを起動すると、この方法でAndroidエミュレータトラフィックをキャプチャすることもできます。

emulator -avd <avd name> -http-proxy http://local_ip:8888/

LOCAL_IPは、エミュレートされた電話のIPアドレスである127.0.0.1ではなく、コンピューターのIPアドレスです。

ソース: http://brakertech.com/capture-https-traffic-remotely-with-charles/

70
brakertech

ここで価値があるのは、Androidデバイスでこれを行うためのステップごとの手順です。 iOSでも同じである必要があります。

  1. チャールズを開く
  2. [プロキシ]> [プロキシ設定]> [SSL]に移動します
  3. 「SSLプロキシを有効にする」をチェックします
  4. [場所を追加]を選択し、ホスト名とポートを入力します(必要な場合)
  5. [OK]をクリックして、オプションがオンになっていることを確認します
  6. ここからCharles certをダウンロードします。 Charles cert>
  7. そのファイルをメールで自分に送信します。
  8. デバイスで電子メールを開き、証明書を選択します
  9. 「証明書に名前を付ける」に必要なものを入力します
  10. [OK]をクリックすると、証明書がインストールされたというメッセージが表示されます。

その後、CharlesでSSLファイルを表示できるはずです。値をインターセプトして変更したい場合は、「Map Local」ツールを使用できます。

  1. Charlesで[ツール]> [ローカルにマップ]に移動します
  2. [エントリを追加]を選択します
  3. 置き換えるファイルの値を入力します
  4. [ローカルパス]で、代わりにアプリに読み込むファイルを選択します
  5. OKをクリック
  6. エントリが選択されていることを確認し、[OK]をクリックします
  7. アプリを実行する
  8. 「メモ」に、ライブファイルではなくファイルがロードされることが表示されます。
25
bkurzius

CharlesがHTTPSプロキシを提供する方法が少し変更されました。

最初に、証明書のインストールオプションがヘルプメニューに移動しました。

Help -> SSL Proxying -> Install Charles Root Certificate
Help -> SSL Proxying -> Install Charles Root Certificate in iOS Simulators

Charles SSL Proxying

次に、iOS 9からInfo.plistNSAppTransportSecurityオプションを指定する必要があり、Charlesを中間の人間として適切に機能させるには、以下を追加する必要があります。

<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>

ドメインの一部として、完全な例を参照してください。

<key>NSExceptionDomains</key>
    <dict>
        <key>yourdomain.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
        </dict>

その理由は、チャールズが、ある時点で、中間のhttpsサーバーの男として行動した後、明確なhttpで通信するからです。

最後のステップは、CharlesでこのドメインのSSLプロキシをアクティブにすることです(ドメインを右クリックして、SSLプロキシを有効にするを選択します)

enable HTTP Proxying

23
apouche

私のために働いたもの-実際にiPhoneに移動する必要があります:

チャールズ

  1. 透過的なHTTPプロキシを有効にする
  2. SSLプロキシを有効にする
  3. 受信リクエストを右クリックし、SSLプロキシを選択します

マック

  1. Charles CA証明書バンドルのダウンロード http://www.charlesproxy.com/ssl.Zip
  2. Charles-proxy-ssl-proxying-certificate.crtにメールを送信してください

iPhone

  1. ポート8888でCharlesのHTTPプロキシを有効にします
  2. 電子メールの添付ファイルを選択してインストールします。はい、信頼してください!

これで、SSLプロキシに追加されたドメインからの暗号化されたトラフィックを表示できます

7
gini

また、Charles Helpメニューから「Install Charles CA SSL Certificates ..」をクリックする必要があります。 http://blog.noodlewerk.com/general/tutorial-using-charles-proxy-to-debug-https-communication-between-server-and-ios-apps/ で詳細な手順を参照してください

6
Vineet Bhatia

これらのことは私を助けました

  1. プロキシに移動-> SSLプロキシ設定->追加
  2. ここにサイト名を追加し、ポート番号8888を指定します

enter image description hereenter image description here

  1. 左パネルでサイト名を右クリックし、「SSLプロキシを有効にする」を選択します enter image description here

これが誰かに役立つことを願っています。

0
iPhoneDeveloper