Charles web debugging proxy not detecting vpn connection

user765368 picture user765368 · Oct 30, 2011 · Viewed 21.6k times · Source

I have a VPN connection on which I'm testing some websites using Charles Web Debugging Proxy, but Charles doesn't seem to detect my VPN connection because it doesn't detect the websites that I'm running on the VPN network. Any help please?

Thank you

Answer

Franek Kuciapa picture Franek Kuciapa · Jan 8, 2014

I had the same problem on my Mac but was able to solve it. Essentially after connecting to VPN Charles would stop recording all http traffic regardless of whether it was started before or after VPN connection was established

The problem was with Auto Proxy configuration at the system level.

I had Auto Proxy Config and Automatic Proxy Configuration turned ON in System Preferences> Network Settings>You network>Advanced

I was not able to turn them off via UI because they were disabled/greyed out by the corporate policy on the VPN machine but I was able to run 2 shell commands from the terminal though which turned both options OFF before starting Charles and before connecting to VPN (you will need admin access on your account to run these I suppose).

networksetup -setautoproxystate Wi-Fi off
networksetup -setproxyautodiscovery Wi-Fi off

Wi-Fi happens to be the name of the network interface I am running. If you are hard wired, yours could be Ethernet.

This essentially unticked both options in Network Settings leaving the URL for auto proxy intact. If you can untick these 2 checkboxes via the UI - even better.

Great so far but you aren't done yet!!

You need to figure out the true IP address of your corporate proxy and enter it under External Proxy Settings in Charles. Your VPN configuration might be pointing to an external configuration file. When you uncheck "Automatic Proxy configuration", the URL with the configuration should show in the "Proxy Configuration File" text box. Download that file, find the proxy setting, and enter those in the External Proxy Settings in Charles.

Voila - start Charles, start VPN - all HTTP traffic is flowing through Charles even when I am on VPN - precisely what I needed.

Hope this helps and you are running this on a MAC :)