Ich möchte Charles Web Proxy verwenden, um mit dem Android-Emulator in Windows zu arbeiten. Ich habe Charles erfolgreich eingerichtet und den Emulator mit der Befehlszeile gestartet:
emulator -http-proxy 127.0.0.1:8888 @NexusOne
Ich kann den Datenverkehr des Android-Emulators in Charles sehen, aber das Problem ist, dass ich gegen eine Live-API arbeite, die SSL verwendet, und ich bin nicht sicher, wie ich Charles so konfigurieren muss, dass ich mit den gesendeten Daten spielen kann empfangen. Ich kenne zwei Bereiche, in denen SSL in Charles eingerichtet ist (Proxy -> Proxy-Einstellungen -> SSL und Proxy -> Client-SSL-Zertifikate), aber ich kann keine anständige Dokumentation finden, durch die ich tun kann, was ich möchte . Hat jemand Erfahrung mit Charles oder Zertifikaten im Allgemeinen, wer erklären kann, wie man das erreichen kann. Vielleicht wäre auch eine Einführung in Zertifikate gut, da mir anscheinend das Wissen fehlt, warum dies so schwierig ist.
Gehen Sie in Charles zu Proxy >> Proxy-Einstellungen und wählen Sie die Registerkarte SSL. Fügen Sie Ihren Host der Liste der Standorte hinzu.
Wenn Ihr sicherer Anruf beispielsweise nach https://secure.example.com geht, können Sie secure.example.com oder * .example.com eingeben.
Wenn der oben genannte Vorgang ausgeführt wurde, müssen Sie möglicherweise im Hauptfenster von Charles mit der rechten Maustaste auf den Anruf klicken und die Option SSL-Proxying auswählen.
Hoffe das hilft.
Um den HTTP- oder https-Verkehr mit Charles remote zu erfassen, müssen Sie Folgendes tun:
Host - Computer, auf dem Charles ausgeführt wird und der Proxy gehostet wird CLIENT - Der Computer des Benutzers, der den Datenverkehr generiert, den Sie erfassen werden
Hostmaschine
Client-Rechner:
Als ich das getestet habe, habe ich zwei Zeilen eines HTTPS-Chat von Facebook gefunden (eine war eine Zeile mit jemandem und die andere FROM).
sie können den Android-Emulatorverkehr auch auf diese Weise erfassen, wenn Sie den Emulator mit folgendem Befehl starten:
emulator -avd <avd name> -http-proxy http://local_ip:8888/
Dabei ist LOCAL_IP die IP-Adresse Ihres Computers und nicht 127.0.0.1, da dies die IP-Adresse des emulierten Telefons ist.
Quelle: http://brakertech.com/capture-https-traffic-remotely-with-charles/
Was es wert ist, ist die Schritt-für-Schritt-Anleitung, um dies auf einem Android-Gerät zu tun. Sollte für iOS gleich sein:
Sie sollten dann die SSL-Dateien in Charles sehen können. Wenn Sie die Werte abfangen und ändern möchten, können Sie das Tool "Map Local" verwenden, das wirklich großartig ist:
Die Art und Weise, wie Charles HTTPS-Proxying bietet, hat sich ein wenig geändert.
Zuerst wurden die Installationsoptionen für Zertifikate in das Hilfemenü verschoben.
Help -> SSL Proxying -> Install Charles Root Certificate
Help -> SSL Proxying -> Install Charles Root Certificate in iOS Simulators
Zweitens müssen Sie ab iOS 9 eine NSAppTransportSecurity
-Option in Ihrem Info.plist
angeben. Wenn Sie möchten, dass Charles als Mann in der Mitte ordnungsgemäß funktioniert, müssen Sie Folgendes hinzufügen:
<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
<true/>
als Teil Ihrer Domains siehe vollständiges Beispiel:
<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>
Der Grund ist (denke ich), dass Charles irgendwann in klarem http kommuniziert, nachdem er als der Mann im mittleren https-Server fungiert hat.
Als letzten Schritt aktivieren Sie SSL-Proxy für diese Domäne in Charles (klicken Sie mit der rechten Maustaste auf die Domäne und wählen Sie SSL-Proxy aktivieren aus.)
Was für mich funktioniert hat - sollte eigentlich auf das iPhone verschoben werden:
Charles
Mac
iPhone
Voila, Sie können jetzt den verschlüsselten Datenverkehr von der Domäne anzeigen, die im SSL-Proxy hinzugefügt wurde
Sie sollten auch im Charles-Hilfe-Menü auf "Charles CA SSL-Zertifikate installieren" klicken. Detaillierte Anweisungen finden Sie unter http://blog.noodlewerk.com/general/tutorial-using-charles-proxy-to-debug-https-communication-between-server-and-ios-apps/ .
Diese Dinge haben mir geholfen
Hoffe, das hilft jemandem da draußen.