Domanda

Vorrei utilizzare Charles proxy web al lavoro con l'emulatore Android in Windows. Ho installato con successo charles e hanno iniziato l'emulatore con la riga di comando:

emulator -http-proxy 127.0.0.1:8888 @NexusOne

posso vedere il traffico proveniente dalla emulatore di Android a Carlo, ma il problema è che sto sviluppando contro un'API in diretta che utilizza SSL e non sono sicuro di come configurare Charles a farmi giocare sui dati che viene inviato e ricevuto. Sono consapevole di due aree in cui SSL è impostato in Charles (proxy -> Impostazioni proxy -> SSL e proxy -> client SSL Certificates) ma non riesco a trovare alcuna documentazione decente che ha mi permetta di fare quello che voglio fare . Qualcuno ha esperienza con Charles, o certificati in genere, che possono spiegare come raggiungere questo obiettivo. Forse un primer su certificati sarebbe bene anche, come mi sembra di essere carente la conoscenza sul motivo per cui questo è così difficile.

È stato utile?

Soluzione

Nel Charles, andare a Proxy >> Impostazioni proxy e selezionare la scheda SSL. Aggiungi il tuo host all'elenco di posizioni.

Per esempio, se la chiamata sicura sta per https://secure.example.com , è possibile entrare secure.example.com, o * .example.com.

Una volta che quanto sopra è a posto, potrebbe essere necessario fare clic destro sulla chiamata nella finestra principale di Carlo e selezionare l'opzione SSL Proxying.

Spero che questo aiuti.

Altri suggerimenti

Per catturare remoto http o https traffico con Charles è necessario effettuare le seguenti operazioni:

HOST - Macchina in esecuzione Charles e hosting il proxy CLIENT - Macchina per l'utente che genera il traffico che catturerà

macchina Host

  1. Installa licenza completa versione charles
  2. Proxy -> Impostazioni proxy -> controllo “Enable HTTP trasparente Proxying”
  3. Proxy -> Impostazioni SSL proxy -> controllo “attivare SSL Proxying”
  4. Proxy -> Impostazioni SSL proxy -> Fare clic sul pulsante Aggiungi e ingresso * entrambi i campi
  5. Proxy -> Impostazioni controllo di accesso -> Aggiungi subnet locale (es: 192.168.2.0/24) di autorizzare tutte le macchine della rete locale per utilizzare il proxy da un'altra macchina
  6. Potrebbe essere consigliabile impostare il “salvataggio automatico funzione” a Charles, questo salvataggio automatico e ruotare i registri charles.

Client macchina:

  1. Installa e permanentemente accettare / fidarsi del charles certificato SSL
    http://www.charlesproxy.com/documentation/using-charles/ssl- i certificati /
  2. Configura IE, Firefox, Chrome e di utilizzare le charles presa ospita il proxy (es: 192.168.1.100:8888)

Quando ho provato questo fuori ho preso due righe di un Facebook HTTPS Chat (uno era una linea a qualcuno, e l'altro da)

è anche possibile catturare il traffico emulatore di Android in questo modo se si avvia l'emulatore con:

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

Dove LOCAL_IP è l'indirizzo IP del vostro computer, non 127.0.0.1 come quello è l'indirizzo IP del telefono emulato.

Fonte: http://brakertech.com/capture-https-traffic -remotely-con-charles /

Per quello che vale qui sono il passo per passo le istruzioni per fare questo in un dispositivo Android. Dovrebbe essere lo stesso per iOS:

  1. Apri Charles
  2. Vai a proxy> Impostazioni proxy> SSL
  3. Controlla “Abilita SSL Proxying”
  4. Seleziona “Aggiungi percorso” e inserire il nome host e la porta (se necessario)
  5. Fare clic su OK e assicurarsi che l'opzione è selezionata
  6. Scarica il CERT Charles da qui: Charles cert>
  7. Invia il file a se stessi in una e-mail.
  8. Apri l'e-mail sul dispositivo e selezionare il CERT
  9. In “Nome del certificato di” entrare quello che vuoi
  10. Fare clic su OK e si dovrebbe ottenere un messaggio che il certificato è stato installato

Si dovrebbe quindi essere in grado di vedere i file SSL a Charles. Se si vuole intercettare e modificare i valori è possibile utilizzare lo strumento "mappa locale", che è davvero impressionante:

  1. Nella Charles andare in Strumenti> Locale
  2. Seleziona "Add entry"
  3. Immettere i valori per il file che si desidera sostituire
  4. In “Percorso locale”, selezionare il file che si desidera che l'applicazione per caricare invece
  5. Fare clic su OK
  6. Assicurati che la voce viene selezionata e fare clic su OK
  7. Esegui la tua applicazione
  8. Si dovrebbe vedere in “Note” che i carichi di file invece di quello dal vivo

Le cose sono cambiate un po 'nel modo in cui Charles fornisce HTTPS proxy.

In primo luogo le opzioni di installazione certificati sono state spostate al menu di aiuto.

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

 Charles SSL Proxying

In secondo luogo, a partire da iOS 9 è necessario fornire un'opzione NSAppTransportSecurity nella vostra Info.plist e se si vuole Charles per funzionare correttamente come un uomo nel mezzo, è necessario aggiungere:

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

come parte dei tuoi domini vedi piena esempio:

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

Il motivo è (credo) che Charles in alcuni comunica punto in chiaro http dopo aver agito come l'uomo nel server https centrale.

L'ultimo passo è quello di attivare SSL Inoltro per questo dominio a Charles (tasto destro del mouse sul dominio e selezionare Enable SSL Proxying)

 abilitare HTTP Proxying

Quello che ha funzionato per me - in realtà dovrebbe essere spostato a iPhone:

Charles

  1. Abilita trasparente Http proxy
  2. Abilita SSL proxy
  3. Fare clic destro su richiesta in entrata e selezionare SSL proxy

Mac

  1. Scarica Charles certificato CA fascio http://www.charlesproxy.com/ssl.zip
  2. Link a te stesso Charles-proxy-ssl-il proxy-certificate.crt

iPhone

  1. Abilita proxy HTTP per Charles sulla porta 8888
  2. Selezionare e installare allegato e-mail, si affidano a questo prodotto!

traffico Voila, è ora possibile visualizzare crittografato dal dominio aggiunto nel SSL proxy

Si dovrebbe anche fare clic su "Install Charles CA Certificati SSL .." dal menu Aiuto Charles. Vedere le istruzioni più dettagliate a http://blog.noodlewerk.com/general/tutorial-using-charles-proxy-to-debug-https-communication-between-server-and-ios-apps/

Queste cose mi ha aiutato

  1. Vai alla procura -> impostazioni proxy SSL -> Aggiungi
  2. Aggiungi il nome del sito qui e dare il numero di porta come 8888

entrare descrizione dell'immagine qui entrare descrizione dell'immagine qui

  1. Fare clic destro sul nome del sito sul pannello di sinistra e scegli "Attiva SSL Proxying" entrare descrizione dell'immagine qui

Spero che questo aiuta qualcuno là fuori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top