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
Host Machine
1. install fully licensed charles version
2. Proxy -> Proxy Settings -> check “Enable Transparent HTTP Proxying”
3. Proxy -> Proxy Settings -> SSL TAB -> check “enable SSL Proxying”
4. Proxy -> Proxy Settings -> SSL TAB -> click Add button and input * in both fields
5. 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
6. It might be advisable to set up the “auto save tool” in charles, this will auto save and rotate the charles logs. http://www.charlesproxy.com/documentation/tools/auto-save/
Client Machine:
1. Install and permanently accept/trust the charles SSL certificate http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/
2. 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:
emulator -avd-http-proxy http://local_ip:8888/
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.
hello.
i had been using charles for long time. but then had a long pause. but yesterday i needed it again. i installed it added ssl certficate to my device connect device via proxy to my laptop, added * to ssl allowed urls. but any way there’s no encrypted requests. only errors. but http requests are visiable ok. can you help please?
You need to install the Charles root certificates in to your certificate store
[…] Source: http://brakertech.com/capture-https-traffic-remotely-with-charles/ […]