[GH-ISSUE #122] Doesn't see WebSocket traffic with SocketRocket library #75

Open
opened 2026-03-03 19:11:34 +03:00 by kerem · 1 comment
Owner

Originally created by @mmatiush on GitHub (Dec 17, 2022).
Original GitHub issue: https://github.com/ProxymanApp/atlantis/issues/122

Originally assigned to: @NghiaTranUIT on GitHub.

Hello,

I'm using SocketRocket library on my iOS client app. I've also installed Atlantis.

This way, on desktop Proxyman I can see all HTTPS requests made from my iOS app. However, I don't see any WebSocket requests, the tab is just empty in Proxyman.

I tried using URLSessionWebSocketTask and the WebSocket requests are correctly displayed in Proxyman.

Could you suggest what might be an issue with SocketRocket and how to fix it?

Originally created by @mmatiush on GitHub (Dec 17, 2022). Original GitHub issue: https://github.com/ProxymanApp/atlantis/issues/122 Originally assigned to: @NghiaTranUIT on GitHub. Hello, I'm using SocketRocket library on my iOS client app. I've also installed Atlantis. This way, on desktop Proxyman I can see all HTTPS requests made from my iOS app. However, I don't see any WebSocket requests, the tab is just empty in Proxyman. I tried using URLSessionWebSocketTask and the WebSocket requests are correctly displayed in Proxyman. Could you suggest what might be an issue with SocketRocket and how to fix it?
Author
Owner

@NghiaTranUIT commented on GitHub (Dec 17, 2022):

Hey @mmatiush, SocketRocket uses NSInputStream and NSOutputSteam to perform the Websocket connection (Reference), so Atlantis doesn't capture it since Atlantis only supports URLSessionWebSocketTask.

I look around the source code, it might support HTTP Proxy. Here is the solution:

  1. Don't use Atlantis
  2. Learn to set up the SRProxyConnect and provide a proxy to SocketRocket
  3. Set the HTTP Proxy to localhost:9090 (Should test on Simulator)
  4. Proxyman macOS will automatically capture the traffic
<!-- gh-comment-id:1355882599 --> @NghiaTranUIT commented on GitHub (Dec 17, 2022): Hey @mmatiush, SocketRocket uses `NSInputStream` and `NSOutputSteam` to perform the Websocket connection ([Reference](https://github.com/facebookincubator/SocketRocket/blob/6f61b5437eaf425e073309f7252c8fa5ea908311/SocketRocket/SRWebSocket.m#L93)), so Atlantis doesn't capture it since Atlantis only supports `URLSessionWebSocketTask`. I look around the source code, it might support HTTP Proxy. Here is the solution: 1. Don't use Atlantis 2. Learn to set up the `SRProxyConnect` and provide a proxy to `SocketRocket` 3. Set the HTTP Proxy to localhost:9090 (Should test on Simulator) 4. Proxyman macOS will automatically capture the traffic
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/atlantis#75
No description provided.