65

Charles Web プロキシを使用して、Windows で Android エミュレーターを操作したいと考えています。charles を正常にセットアップし、コマンド ラインでエミュレータを起動しました。

emulator -http-proxy 127.0.0.1:8888 @NexusOne

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

4

8 に答える 8

76

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

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

ホスト マシン

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

クライアント マシン:

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

これをテストしたところ、Facebook HTTPS チャットの 2 つの行を拾いました (1 つは誰かへの行で、もう 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/

于 2012-03-30T08:07:34.973 に答える
50

Charles で、[プロキシ]>>[プロキシ設定] に移動し、[SSL] タブを選択します。ホストを場所のリストに追加します。

たとえば、安全な呼び出しがhttps://secure.example.comに送信される場合、secure.example.com または *.example.com と入力できます。

上記の設定が完了したら、Charles のメイン ウィンドウで呼び出しを右クリックし、[SSL プロキシ] オプションを選択する必要がある場合があります。

お役に立てれば。

于 2010-11-12T01:55:38.337 に答える
27

ここで価値があるのは、Android デバイスでこれを行うための段階的な手順です。iOSでも同じはずです:

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

その後、Charles で SSL ファイルを確認できるはずです。値を傍受して変更したい場合は、本当に素晴らしい「Map Local」ツールを使用できます。

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

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

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

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

チャールズ SSL プロキシ

次に、iOS 9 以降では、NSAppTransportSecurityオプションを提供する必要があり、 Info.plistCharles が中間者として適切に機能するようにするには、次を追加する必要があります。

<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>

その理由は (私が推測するに) ある時点で、Charles が中間の https サーバーの男として行動した後、明確な http で通信するためです。

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

HTTP プロキシを有効にする

于 2016-02-04T12:16:12.320 に答える
7

また、Charles の [ヘルプ] メニューから [Charles CA SSL 証明書のインストール] をクリックする必要があります。http://blog.noodlewerk.com/general/tutorial-using-charles-proxy-to-debug-https-communication-between-server-and-ios-apps/で詳細な手順を参照してください。

于 2011-12-03T13:57:11.963 に答える
7

私にとってうまくいったこと-本当に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プロキシで追加されたドメインからの暗号化されたトラフィックを表示できるようになりました

于 2013-10-15T16:32:46.067 に答える