2015-10-12 13 views
16

Ich möchte Netzwerkverkehr durch Web-Sockets überprüfen, habe ich keine Kontrolle über den Netzwerkcode, da dies eine binäre Bibliothek ist, für die ich nicht habe Quellcode, also Ich kann keinen Log/Breakpoint im Netzwerk Teil des Codes tun.Wie Websocket Datenverkehr mit charlesproxy für iOS-Simulator/Geräte zu überprüfen

Ich habe versucht, die neueste Version von CharlesProxy verwendet, die behaupten zu können, WebSockets jedoch riechen, wenn ich die URL und apis versuche WebSockets mit in der Liste der Endpunkte von meinem iPhone genannt nicht einmal erwähnt.

Version 3.11 release notes

ich vergewissert haben, dass CharlesProxy richtig Nicht-websocket Verkehr wie ich in der Lage bin so konfiguriert ist, auch unter SSL zu inspizieren.

Also meine Frage ist: Hat jemand eine Lösung gefunden, um den Datenverkehr durch Websockets mit CharlesProxy zu überprüfen?

Hinweis: Ich habe ATS deaktiviert, wenn iOS9

Dank mit!

+3

Haben Sie das Problem gelöst? Ich habe Charles 3.11.2 und sehe immer noch keinen Internetverkehr. – mklimek

+1

Ich kann keine Websockets sehen, die von ios in charles kommen, aber ich kann sie sehen, wenn sie von Javascript initiiert werden – Pauls

Antwort

12

Ich fand endlich die Antwort.

Charles 3.11.2 funktioniert perfekt mit WebSocket.

Ich benutze socketIO, also habe ich schon HTTP-Anfragen während der Verhandlungsphase gesehen, aber habe ich WebSockets Verkehr verpasst.

Am Anfang versuchen socketIO Polling verwenden schaltet dannWebSockets zu verwenden.

Der websocket Verkehr sichtbar ist, wenn Sie auf die Anfrage mit dem Status gehen: „Senden Anfrage body“ die eigentlich WSS ist: // Anfrage.

Sie haben sogar eine dedizierte Registerkarte für diese Art von Verkehr. Der Rest der Nachrichten wird genau dort erscheinen.

enter image description here

PS1. Stellen Sie sicher, dass Sie ordnungsgemäß mit dem Socket verbunden sind, dann erscheint es in Charles.
PS2. Ich schlage vor, mit socketIO eine große Verbesserung für Vollduplex-Verkehr wie Websockets.