Wie konfiguriere ich Charles Proxy und Android, damit ich HTTPS-Sitzungen anzeigen kann? [closed]

Lesezeit: 9 Minuten

Benutzeravatar von bianca
bianca

Ich möchte HTTPS-Sitzungen auf meinem Android-Telefon mit Charles Proxy anzeigen. Ich muss den rohen Anforderungs-/Antwortinhalt sehen, um meine App zu debuggen. Ich habe Charles konfiguriert, indem ich den Host und den Port unter „Proxy-Einstellungen“ -> Registerkarte „SSL“ hinzugefügt habe. Wenn ich die App starte, scheinen alle SSL-Aufrufe schnell vom Charles zu verschwinden. Hat jemand eine Idee, wie man Charles Proxy und mein Android-Gerät konfiguriert, damit sie zusammenarbeiten? Die Charles-Dokumentation enthält keine Informationen für Android-Geräte.

  • Wenn Sie Android 7.0 verwenden, finden Sie eine Lösung unter diesem Link: Geben Sie hier die Linkbeschreibung ein

    – Jonah Hulselmans

    11. April 2017 um 14:08 Uhr

Benutzeravatar von DàChún
DàChún

für Android7

siehe: Wie bekomme ich Charles Proxy mit Android 7 Nougat zum Laufen?

für die Android-Version unter Android7

Führen Sie auf Ihrem Computer Charles aus:

  1. Öffnen Sie die Proxy-Einstellungen: Proxy -> Proxy-Einstellungen, Registerkarte „Proxys“, aktivieren Sie „Transparentes HTTP-Proxy aktivieren“ und merken Sie sich „Port“ im Herzen.
    Geben Sie hier die Bildbeschreibung ein

  2. SSL-Proxy-Einstellungen: Proxy -> SSL-Proxy-Einstellungen, Registerkarte SSL-Proxy, Aktivieren Sie „SSL-Proxy aktivieren“ und fügen Sie hinzu . zu den Standorten:
    Geben Sie hier die Bildbeschreibung ein
    Geben Sie hier die Bildbeschreibung ein

  3. Öffnen Sie die Zugriffskontrolleinstellungen: Proxy -> Zugriffskontrolleinstellungen. Fügen Sie Ihr lokales Subnetz hinzu, um Computer in Ihrem lokalen Netzwerk zu autorisieren, den Proxy von einem anderen Computer/Mobilgerät zu verwenden.
    Geben Sie hier die Bildbeschreibung ein

Im Android-Telefon:

  1. Konfigurieren Sie Ihr Mobiltelefon: Gehen Sie zu Einstellungen -> Drahtlos & Netzwerke -> WLAN -> Verbinden oder ändern Sie Ihr Netzwerk, geben Sie die IP-Adresse des Computers und den Port (8888) ein:
    Geben Sie hier die Bildbeschreibung ein

  2. Holen Sie sich das SSL-Zertifikat von Charles. Rufen Sie diese URL in Ihrem mobilen Browser auf:
    http://charlesproxy.com/getssl
    Geben Sie hier die Bildbeschreibung ein

  3. Geben Sie bei „Zertifikat benennen“ ein, was Sie wollen

  4. Akzeptieren Sie die Sicherheitswarnung und installieren Sie das Zertifikat. Wenn Sie es erfolgreich installiert haben, sehen Sie wahrscheinlich so etwas: In Ihrem Telefon, Einstellungen -> Sicherheit -> Vertrauenswürdige Anmeldeinformationen:
    Geben Sie hier die Bildbeschreibung ein

Fertig.

Dann können Sie einen Test auf Ihrem Handy durchführen, die verschlüsselte https-Anforderung wird in Charles angezeigt:
Geben Sie hier die Bildbeschreibung ein

  • Ich verwende Charles 4.1.3 und im Hilfemenü werde ich dazu aufgefordert Configure your device to use Charles as its HTTP proxy on 10.72.xx.xx:8888, then browse to chls.pro/ssl to download and install the certificate. Es funktioniert in meinem iPhone, aber nicht in Android. In meinem Android besuche ich die alte URL charlesproxy.com/getssl funktioniert.

    – iplus26

    30. Juni 2017 um 13:19 Uhr


  • Auf Android 6.0 Chrome-Browser, als ich zu ging charlesproxy.com/getssl , es hat die statische Seite “Charles SSL CA Certificate installation…” angezeigt und das Herunterladen des Zertifikats nicht gestartet. Bitte klären Sie, was in diesem Fall zu tun ist.

    – vikramvi

    22. August 2017 um 9:34 Uhr

  • Ich könnte das obige Problem mit den folgenden Schritten lösen 1. vorhandenes Charles-Zertifikat entfernen (beschädigt/abgelaufen/usw.) 2. Proxy im Gerät aktivieren 3. Neues Zertifikat herunterladen (komische Sache hier wie unten; auf einem Android “charles-proxy..certificate. cer“ wird heruntergeladen und auf anderen wird „charles-proxy..certificate.pem“ heruntergeladen. 4. Wenn der Chrome-Browser versucht, die .pem-Datei zu öffnen, wird eine Fehlermeldung ausgegeben. 5. Gehen Sie jetzt direkt zum Dateispeicherort über den Dateimanager. 6. Tippen Sie auf es und geben Sie einen neuen Namen als Charles ein, es wird installiert und Sie können den Verkehr in Charles sehen

    – vikramvi

    22. August 2017 um 10:21 Uhr

  • @vikramvi , Sie können die Zertifikatsdatei aufgrund der Sicherheitseinstellungen des Browsers möglicherweise nicht herunterladen. Versuchen Sie in diesem Fall, einen anderen Browser wie Firefox usw. zu verwenden

    – DàChún

    11. Oktober 2017 um 3:13 Uhr

  • Stellen Sie sicher, dass Sie ADB-Befehle ausführen. 1) Sehen Sie sich die Liste der Geräte an, die ADB-Geräte verwenden. 2) adb reverse tcp:8888 tcp:8888 und installieren Sie das SSLCertificate, falls noch nicht geschehen.

    – Anonym

    6. Februar 2018 um 18:17 Uhr


Benutzeravatar von bkurzius
bkurzius

Bearbeiten – diese Antwort war für eine frühere Version von Charles. Siehe die Antwort von @semicircle21 unten für die richtigen Schritte für v3.10.x – viel einfacher als dieser Ansatz auch … 🙂

Was es wert ist, hier sind die Schritt-für-Schritt-Anleitungen dafür. Sie sollten auch in iOS gleichermaßen gut funktionieren:

  1. Karl öffnen
  2. Gehen Sie zu Proxy > Proxy-Einstellungen > SSL
  3. Aktivieren Sie „SSL-Proxy aktivieren“
  4. Wählen Sie „Standort hinzufügen“ und geben Sie den Hostnamen und den Port ein (falls erforderlich).
  5. Klicken Sie auf OK und vergewissern Sie sich, dass die Option aktiviert ist
  6. Laden Sie das Charles-Zertifikat hier herunter: Charles Zertifikat >
  7. Senden Sie diese Datei in einer E-Mail an sich selbst.
  8. Öffnen Sie die E-Mail auf Ihrem Gerät und wählen Sie das Zertifikat aus
  9. Geben Sie bei „Zertifikat benennen“ ein, was Sie wollen
  10. Klicken Sie auf OK und Sie sollten eine Meldung erhalten, dass das Zertifikat installiert wurde

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:

  1. Gehen Sie in Charles zu Tools > Map Local
  2. „Eintrag hinzufügen“ auswählen
  3. Geben Sie die Werte für die Datei ein, die Sie ersetzen möchten
  4. Wählen Sie unter „Lokaler Pfad“ die Datei aus, die die App stattdessen laden soll
  5. OK klicken
  6. Stellen Sie sicher, dass der Eintrag ausgewählt ist, und klicken Sie auf OK
  7. Führen Sie Ihre App aus
  8. Sie sollten in „Notizen“ sehen, dass Ihre Datei anstelle der Live-Datei geladen wird

  • Schritt 4 ist etwas knifflig. Wenn Sie ALLE Hosts zulassen möchten, fügen Sie dort einfach nichts hinzu! Ich habe es mit “*” und “*.*” versucht und den Fehler “Die Zertifikatsdatei existiert nicht” erhalten. Den Standortabschnitt leer zu lassen, hat sich für mich gelöst.

    – Bitcoin Cash – ADA-Enthusiast

    9. Dezember 2014 um 4:06 Uhr


  • Diese Antwort scheint veraltet. Nach dem Upgrade auf Charles 3.10 wird die Charles-Cert-Root-Datei für jeden PC/Mac während der Installation generiert, Sie können sie über Hilfe > SSL-Proxying > Charles-Root speichern … exportieren.

    – Halbkreis21

    6. Juli 2015 um 4:19 Uhr

  • @ semicircle21 – Sie sollten eine neue Antwort hinzufügen, damit darüber abgestimmt werden kann

    – bkurzius

    6. Juli 2015 um 15:51 Uhr

  • Dies funktioniert nicht mehr, Sie müssen die .pem-Datei aus dem Hilfemenü von Charles speichern und diese anstelle des .cert-Download-Links importieren

    – pguardiario

    7. Mai 2016 um 1:10 Uhr

  • Das einfach zu installierende Zertifikat auf Android wird in der Antwort von @ User9527 erwähnt. Bitte folgen Sie ihm als umständlichen E-Mail-Prozess

    – vikramvi

    2. März 2017 um 10:55 Uhr

Benutzeravatar von semicircle21
Halbkreis21

Danke für die Antwort von @bkurzius und dieses Update ist für Charles 3.10+. (Der Grund ist hier)

  1. Karl öffnen
  2. Gehen Sie zu Proxy > SSL-Proxy-Einstellungen…
  3. Aktivieren Sie „SSL-Proxy aktivieren“
  4. Wählen Sie „Standort hinzufügen“ und geben Sie den Hostnamen und den Port ein (falls erforderlich).
  5. Klicken Sie auf OK und vergewissern Sie sich, dass die Option aktiviert ist
  6. Gehen Sie zu Hilfe > SSL-Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser..., und folgen Sie einfach den Anweisungen. (Verwenden Sie den Android-Browser, um das Zertifikat herunterzuladen und zu installieren.)
  7. Geben Sie bei „Zertifikat benennen“ ein, was Sie wollen
  8. Klicken Sie auf OK und Sie sollten eine Meldung erhalten, dass das Zertifikat installiert wurde

  • Es gibt kein “SSL-Proxy aktivieren”

    – Marian Paździoch

    27. Juli 2015 um 14:19 Uhr

  • @MarianPaździoch Entschuldigung für den Fehler in Schritt 2: 2. Gehen Sie zu Proxy > SSL-Proxy-Einstellungen…

    – Halbkreis21

    29. Juli 2015 um 6:43 Uhr

  • Hinweis: Im Schritt “Standort hinzufügen” können Sie * als Host und 443 als Port eingeben, wenn Sie SSL-Proxy für den gesamten HTTPS-Verkehr aktivieren möchten.

    – Mark McClelland

    25. August 2016 um 17:07 Uhr


  • Danke für Install Charles Root Certificate on a Mobile Device or Remote Browser... wo ich eine korrekte IP-Adresse gefunden habe. Das Zertifikat kann jedoch immer noch nicht installiert werden (Chrome lädt es nicht herunter). Erst nach Charles Neustart konnte ich mich mit dem Netz verbinden.

    – CoolMind

    8. August um 7:35 Uhr

Benutzeravatar von otso
otso

Siehe hier:

http://jaanus.com/blog/2012/02/12/debugging-http-on-an-android-phone-or-tablet-with-charles-proxy-for-fun-and-profit/

Sie müssten das charles.crt-Zertifikat auf Ihrem Gerät installieren.

Ich habe 1 Tag damit verschwendet, das Problem zu finden, mein System hat die Verbindung nicht nach “Zulassen” oder “Ablehnen” gefragt. Ich dachte, es lag an einem Zertifikatsproblem. habe alle oben genannten Methoden ausprobiert, aber keine hat funktioniert. Am Ende fand ich “Firewall war ein echter Schuldiger”. Wenn die Firewall-Einstellungen eingeschaltet sind, erlauben sie Charles nicht, sich über Proxy-IP mit Ihrem Laptop zu verbinden. Machen Sie sie aus und alles wird reibungslos funktionieren. Ich bin mir nicht sicher, ob das eine relevante Antwort war, aber ich möchte sie nur teilen.

  • Ich hatte das gleiche Problem auf meinem Ubuntu-Rechner. Habe viele Tage versucht zu debuggen. Endlich hat deine Lösung funktioniert. Vielen Dank Alter.

    – Abhishek

    5. Oktober 2020 um 16:45 Uhr

  • @Abhishek froh, dass meine Antwort für jemanden in der Community hilfreich war 🙂

    – Karan

    25. Oktober 2020 um 18:04 Uhr

  • Ich stand vor einem ähnlichen Problem und nach einigen Stunden des Kampfes stellte ich fest, dass die McAfee-Firewall der Übeltäter war.

    – Sai

    28. März um 17:45 Uhr

  • @Sai: schön, dass dir das geholfen hat: D

    – Karan

    3. April um 8:20 Uhr

Benutzeravatar von Stoycho Andreev
Stoycho Andreev

Die am besten bewerteten Antworten funktionieren perfekt (etwas alt, funktionieren aber immer noch), aber ich möchte nur erwähnen, dass wir alle Ihre Apps seit Android N so konfigurieren können, dass sie SSL-Zertifikate mit unterschiedlichem Vertrauen haben (nur für Release, Debug und so weiter). , einschließlich des SSL-Proxy-Zertifikats von Charles (wenn Sie das Charles-Zertifikat herunterladen und die .pem-Datei in Ihrem Raw-Ordner ablegen). Weitere Informationen finden Sie hier: https://developer.android.com/training/articles/security-config.html

Auch die offizielle Charles-Dokumentation kann nützlich sein, um dies einzurichten: https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/

Ich hoffe, dies hilft dabei, Charles in Ihrem App-Projekt einzurichten, nicht auf jedem einzelnen Android-Gerät.

  • Ich hatte das gleiche Problem auf meinem Ubuntu-Rechner. Habe viele Tage versucht zu debuggen. Endlich hat deine Lösung funktioniert. Vielen Dank Alter.

    – Abhishek

    5. Oktober 2020 um 16:45 Uhr

  • @Abhishek froh, dass meine Antwort für jemanden in der Community hilfreich war 🙂

    – Karan

    25. Oktober 2020 um 18:04 Uhr

  • Ich stand vor einem ähnlichen Problem und nach einigen Stunden des Kampfes stellte ich fest, dass die McAfee-Firewall der Übeltäter war.

    – Sai

    28. März um 17:45 Uhr

  • @Sai: schön, dass dir das geholfen hat: D

    – Karan

    3. April um 8:20 Uhr

Ich habe das Problem erkannt. Das liegt daran, dass Charles 3.7 einige Fehler für Android-Geräte hat. Ich habe auf Charles 3.8 Beta-Version aktualisiert und scheint für mich gut zu funktionieren.

  • Ich sehe dieses Problem immer noch mit Charles 3.8b1 – mit meinem Setup scheint es, dass in Android (mit Galaxy Note/4.1.2) einige der HTTPS-POST-Anforderungen verloren gehen – in iPhone 4S ist alles gut.

    – otso

    26. Juli 2013 um 7:08 Uhr

  • Auf meinem Galaxy S3 funktioniert es. Ich hoffe, dass sie Charles bald für Android-Geräte reparieren.

    – bianca

    26. Juli 2013 um 16:18 Uhr

  • @otso Ich habe das gleiche Problem, einige https können auftreten und einige unbekannte Fehler. Wie wird Ihr Problem gelöst?

    – Nagel fei

    12. April 2019 um 3:37 Uhr

1418250cookie-checkWie konfiguriere ich Charles Proxy und Android, damit ich HTTPS-Sitzungen anzeigen kann? [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy