To remotely capture http or https traffic with charles you will need to do the following:
HOST - Machine running Charles and hosting the proxy CLIENT – User’s machine generating the traffic you will capture
- install fully licensed charles version
- Proxy -> Proxy Settings -> check “Enable Transparent HTTP Proxying”
- Proxy -> Proxy Settings -> SSL TAB -> check “enable SSL Proxying”
- Proxy -> Proxy Settings -> SSL TAB -> click Add button and input * in both fields
- Proxy -> Access Control Settings -> Add your local subnet (ex: 192.168.2.0/24) to authorize all machines on your local network to use the proxy from another machine
- It might be advisable to set up the “auto save tool” in charles, this will auto save and rotate the charles logs.
Install and permanently accept/trust the charles SSL certificate
- Configure IE, Firefox, and Chrome to use the socket charles is hosting the proxy on (ex: 192.168.1.100:8888)
When I tested this out I picked up two lines of a Facebook HTTPS chat (one was a line TO someone, and the other FROM)
you can also capture android emulator traffic this way if you start the emulator with:
Where LOCAL_IP is the IP address of your computer, not 127.0.0.1 as that is the IP address of the emulated phone.