Proxyman icon indicating copy to clipboard operation
Proxyman copied to clipboard

Capture Traffic from Non-Proxy-Aware Apps Using ProxyMan

Open pfedotovsky opened this issue 1 year ago • 7 comments

I would like to use ProxyMan to capture traffic from non-proxy-aware apps. ProxyMan has a very user-friendly UI and works perfectly with proxy-aware apps, where I can set up an HTTP proxy on a mobile device and view traffic on a ProxyMan instance running on a macOS PC.

Current Setup:

iOS App: Does not honor HTTP proxy settings. macOS: Running ProxyMan to capture traffic.

Steps Taken:

  1. Connect iPhone to MacBook via USB.
  2. Set up internet sharing on macOS to route all iOS traffic through macOS.
  3. Use pfctl to redirect traffic to ProxyMan running locally on port 9000:
rdr proto tcp from any to any port 80 -> 127.0.0.1 port 9000
rdr proto tcp from any to any port 443 -> 127.0.0.1 port 9000
  1. Install ProxyMan certificate as per instructions.

Observations: HTTP Traffic: Successfully captured and displayed in ProxyMan. HTTPS Traffic: Browser shows "can't establish a secure connection to the website."

Comparison with Burp Proxy: Using Burp Proxy in invisible mode, HTTPS traffic is successfully captured and displayed. It appears that Burp Proxy handles HTTPS traffic differently, even though the approach seems similar.

Request: I understand that ProxyMan is primarily designed for HTTP proxying. However, I would like to understand what Burp Proxy does differently to handle HTTPS traffic successfully. It's also unclear why HTTP works successfuly, while HTTPS does not

Links:

  • https://portswigger.net/burp/documentation/desktop/tools/proxy/invisible
  • https://github.com/ProxymanApp/Proxyman/issues/1701

pfedotovsky avatar Sep 07 '24 10:09 pfedotovsky

Thanks for the tip about using the pfctl to redirect traffic. I will look at it.

iOS App: Does not honor HTTP proxy settings.

May I ask if you have installed & trusted the Proxyman certificate on your iPhone? You can follow the instructions in the Certificate menu -> Install for iOS -> Physical Device.

Or online at https://docs.proxyman.io/debug-devices/ios-device

You can skip the 2nd step (Set HTTP Proxy Part)

HTTPS Traffic: Browser shows "can't establish a secure connection to the website."

I believe that you forgot to install & trust the certificate, so Proxyman can't open the SSL Connection.

NghiaTranUIT avatar Sep 08 '24 12:09 NghiaTranUIT

Yes, I have installed and trusted the ProxyMan certificate. The certificate appears to be configured correctly. When I follow the standard setup by changing the HTTP proxy settings, everything works as expected—I can browse HTTPS websites and see the requests in ProxyMan.

However, I am unable to see traffic from non-proxy-aware applications with this setup.

pfedotovsky avatar Sep 08 '24 13:09 pfedotovsky

This may explain why Burp with Invisible mode works with SSL:

Screenshot 2024-09-08 at 21 08 01

Proxyman hasn't supported this mode, so we get SSL Error as expected. I will try to fix it 👍

NghiaTranUIT avatar Sep 08 '24 14:09 NghiaTranUIT

@NghiaTranUIT that would be fantastic, thank you!

Proxyman's UI is incredibly clear and user-friendly—far superior to anything else I've used. If I can get it to work with non-proxy-aware apps, I'll happily delete all my other tools :)

pfedotovsky avatar Sep 08 '24 14:09 pfedotovsky

+1

I am able to capture browser traffic in Proxyman, but not traffic from other apps on my physical device.

owensco avatar Sep 18 '24 21:09 owensco

Would be very cool to have this feature

lifr0m avatar Nov 09 '24 04:11 lifr0m

I also need this, proxies are finicky as some apps just ignore them.

ivansavra1 avatar Dec 08 '25 04:12 ivansavra1