Ich versuche, Anrufe von einer App auf meinen Server genau wie Firebug zu überwachen. Ich konnte keinen Weg finden, dies in iOS Simulator oder in xCode zu sehen.
Gibt es eine Möglichkeit, dies zu tun, ohne den gesamten Verkehr zu schnüffeln? Wenn nein, welches Tool würden Sie vorschlagen?
quelle
Ein Man-in-the-Middle-Proxy ist, wie in anderen Antworten vorgeschlagen, eine gute Lösung, wenn Sie nur HTTP / HTTPS-Verkehr sehen möchten. Burp Suite ist ziemlich gut. Die Konfiguration kann jedoch schwierig sein. Ich bin mir nicht sicher, wie Sie den Simulator davon überzeugen würden, mit ihm zu sprechen. Möglicherweise müssen Sie den Proxy auf Ihrem lokalen Mac auf Ihre Instanz eines Proxyservers einstellen, damit dieser abfängt, da der Simulator die Umgebung Ihres lokalen Mac verwendet.
Die beste Lösung für das Paket-Sniffing (obwohl es nur für tatsächliche iOS-Geräte funktioniert , nicht für den Simulator), die ich gefunden habe, ist die Verwendung
rvictl
. Dieser Blog-Beitrag hat eine schöne Zusammenfassung. Grundsätzlich tun Sie:Dann schnüffeln Sie an der Schnittstelle, die mit Wireshark (oder Ihrem Lieblingswerkzeug) erstellt wurde, und wenn Sie fertig sind, schließen Sie die Schnittstelle mit:
Dies ist hilfreich, da Sie, wenn Sie den Simulator paketschnüffeln möchten, auch durch den Datenverkehr zu Ihrem lokalen Mac waten müssen, aber
rvictl
eine virtuelle Schnittstelle erstellen, die nur den Datenverkehr von dem iOS-Gerät anzeigt, das Sie an Ihren USB-Anschluss angeschlossen haben Hafen.quelle
Ein kostenloses Open-Source-Proxy-Tool, das problemlos auf einem Mac ausgeführt werden kann, ist Mitmproxy .
Die Website enthält Links zu einer Mac-Binärdatei sowie den Quellcode auf Github.
Die Dokumente enthalten eine sehr hilfreiche Einführung zum Laden eines Zertifikats in Ihr Testgerät, um den HTTPS-Verkehr anzuzeigen.
Nicht ganz so GUI-schmackhaft wie Charles, aber es macht alles, was ich brauche und es ist kostenlos und gepflegt. Gutes Zeug und ziemlich unkompliziert, wenn Sie zuvor einige Befehlszeilentools verwendet haben.
UPDATE: Ich habe gerade auf der Website festgestellt, dass Mitmproxy als Homebrew-Installation verfügbar ist. Einfacher geht es nicht.
quelle
Kürzlich habe ich ein Git Repo gefunden , das es einfach macht.
Du kannst es versuchen.
Dies ist der Screenshot einer App:
Freundliche Grüße.
quelle
Xcode bietet CFNetwork Diagnostic Logging. Apple doc
Fügen Sie zum Aktivieren
CFNETWORK_DIAGNOSTICS=3
im Abschnitt Umgebungsvariable Folgendes hinzu:Dies zeigt Anfragen von der App mit ihren Headern und ihrem Text an. Beachten Sie, dass
OS_ACTIVITY_MODE
diesenable
wie gezeigt eingestellt sein muss. Andernfalls wird keine Ausgabe in der Konsole angezeigt.quelle
Wireshark es
Wählen Sie Ihre Schnittstelle
Hinzufügen
filter
starten diecapture
Testen
Klicken Sie auf eine Aktion oder Schaltfläche, die eine GET / POST / PUT / DELETE-Anforderung auslösen würde
Sie werden es im Wireshark sehen
Wenn Sie weitere Details zu einem bestimmten Paket erfahren möchten, wählen Sie es einfach aus und klicken Sie auf Folgen> HTTP-Stream .
hoffe das hilft anderen !!
quelle
Wenn Sie eine Kabelverbindung und einen Mac haben, gibt es eine einfache und leistungsstarke Methode:
Installieren Sie kostenlos Wireshark, stellen Sie sicher, dass es Geräte mit erfassen kann (und Sie müssen dies nach jedem Neustart des Computers tun !):
sudo chmod 644 / dev / bpf *
Teilen Sie jetzt Ihr Netzwerk mit WLAN. Systemeinstellungen> Freigabe> Internetfreigabe. Überprüfen Sie, ob Sie "Freigeben Sie Ihre Verbindungen von: Ethernet" haben und verwenden Sie: Wi-Fi. Möglicherweise möchten Sie auch eine WLAN-Sicherheit konfigurieren, die Ihre Datenüberwachung nicht stört.
Verbinden Sie Ihr Telefon mit Ihrem neu erstellten Netzwerk. Ich brauche hier ziemlich oft mehrere Versuche. Wenn das Telefon keine Verbindung herstellen möchte, schalten Sie das WLAN des Mac aus, wiederholen Sie Schritt 2 oben und haben Sie etwas Geduld.
Starten Sie Wireshark erfassen Sie Ihre drahtlose Schnittstelle mit Wireshark, es ist wahrscheinlich "en1". Filtern Sie Ihre benötigten IP-Adressen und / oder Ports. Wenn Sie ein interessantes Paket finden, wählen Sie es aus, klicken Sie mit der rechten Maustaste (Kontextmenü)> TCP-Stream folgen, und Sie sehen eine schöne Textdarstellung der Anforderungen und Antworten.
Und was ist das Beste: Genau der gleiche Trick funktioniert auch für Android!
quelle
Telerik Fiddler ist eine gute Wahl
http://www.telerik.com/blogs/using-fiddler-with-apple-ios-devices
quelle
quelle
Eine gute Lösung, wenn Sie an die Chrome Inspector-Tools gewöhnt sind, ist der Pony-Debugger: https://github.com/square/PonyDebugger
Das Einrichten ist etwas mühsam, aber wenn Sie es einmal gemacht haben, funktioniert es gut. Stellen Sie jedoch sicher, dass Sie Safari anstelle von Chrome verwenden, um es zu verwenden.
quelle
Ich benutze Netfox. Es ist sehr einfach zu bedienen und zu integrieren. Sie können es auf Simulator und Gerät verwenden. Es zeigt alle Anfragen und Antworten. Es unterstützt JSON-, XML-, HTML-, Image- und andere Arten von Antworten. Sie können Anfragen, Antworten und das vollständige Protokoll über die Standardfreigabeformate von IOS (Google Mail, WhatsApp, E-Mail, Slack, SMS usw.) freigeben.
Sie können auf GitHub nachsehen: https://github.com/kasketis/netfox
quelle