LinuxCommandLibrary
GitHubF-DroidGoogle Play Store

charles

HTTP proxy and network traffic monitor

TLDR

Start Charles Proxy
$ charles
copy
Start in headless mode (no GUI)
$ charles -headless
copy
Start with a custom configuration file
$ charles -headless -config [config.xml]
copy
Start with throttling enabled
$ charles -throttling
copy

SYNOPSIS

charles [options]

DESCRIPTION

Charles is a cross-platform HTTP proxy and monitor that enables developers to view HTTP/HTTPS traffic between their machine and the Internet. It is particularly useful for debugging web applications, APIs, and mobile app network communication.Key features include SSL proxying for decrypting HTTPS traffic, bandwidth throttling to simulate slow connections, request/response modification, breakpoints for intercepting requests, and automated testing support.Charles presents traffic in a tree view organized by host, with detailed inspection of headers, cookies, request/response bodies, and timing information. Sessions can be saved for later analysis or sharing.

PARAMETERS

-config file

Load configuration from specified file.
-headless
Run without GUI. Use the web interface at http://control.charles/ for control.
-throttling
Start with bandwidth throttling enabled.

CONFIGURATION

config.xml

Charles configuration file with proxy settings, SSL certificates, and recording options. Loaded with -config flag.

PROXY CONFIGURATION

Default HTTP proxy: localhost:8888For HTTPS inspection:1. Configure SSL Proxying in Charles settings2. Install Charles Root Certificate on device3. Trust certificate in system/browseriOS/Android: Configure WiFi proxy to point to Charles IP:8888

CAVEATS

Charles is commercial software requiring a license after the trial period. HTTPS inspection requires installing Charles' root certificate, which has security implications. Some applications with certificate pinning may not work with Charles SSL proxying. Mobile device configuration requires network access to the Charles host.

HISTORY

Charles Proxy was created by Karl von Randow and first released in 2002. Originally developed for macOS, it expanded to Windows and Linux. The tool became widely adopted by mobile and web developers for debugging network traffic, particularly as mobile development grew and tools like browser developer tools were insufficient for native app debugging.

SEE ALSO

Copied to clipboard
Kai