WebSocket
Capture and debug Websocket from iOS devices / simulators with Proxyman
1. What's it?
Proxyman could capture WebSocket (WS) and Secure WebSocket (WSS) traffic and easily preview it.
Capture WS/WSS from iOS Physical devices and iOS Simulator (Required Atlantis framework)
Capture WS/WSS from Web Browser and Mac applications.
Capture WS/WSS from Android Physical devices or Android Emulators.
Prettier WebSocket Message.
Filter All / Sent / Received messages.
See the content in JSON / Tree Preview / HEX format.
Customize Columns: Frame, Length, Data, Time, ...
Auto decode Binary Message to JSON if possible
Open WebSocket messages by external Editors, such as Sublime, VSCode
2. Capture WS/WSS from iOS
If your iOS app is using URLSessionWebSocketTask or iOS WebSocket libraries, e.g. Starscream, SocketRocket, etc. Proxyman might not be able to capture WS/WSS traffic.
Reason: Apple's intention. URLSessionWebSocketTask doesn't respect the System HTTP Proxy. All WS/WSS traffic goes directly to the Internet. Thus, Proxyman or Charles Proxy can't capture it.
✅ Solution 1 (Recommended for iOS 17 or later)
Follow the Setup guide for your iOS Devices or iOS Simulators (Make sure we installed and trusted the certificate on your device)
Proxyman Setup: Tools > Proxy Settings > SOCKS Proxy settings -> Enable it (Take note of the port)
On the main Proxyman app -> Take note of a current IP in the Proxyman Tools bar
On your app: Configure a SOCK Proxy in your App, make sure this is only available for debug builds by implementing a switch or something, you might not want your release build with this configuration.
For NWConnection
For URLSession and URLSessionWebSocketTask
Done ✅
✅ Solution 2
Use Atlantis Framework (developed by Proxyman) to capture WS/WSS URLSessionWebSocketTask traffic from iOS.
Read more at https://github.com/ProxymanApp/atlantis
Screenshots
3. Map Websocket from Localhost <-> Production
It's possible to map the WebSocket Traffic from localhost <-> Production. Please check out the Map Remote Tool.
Last updated