Comparison of Charles Proxy, Fiddler, Wireshark and Proxyman
Almost every application these days seem to communicate over HTTP/HTTPS protocol. As a developer, we might not need to pay much attention to this low level most of the time, but sometimes a problem might show up that needs us to drop to the level of the network and figure out what is going on. In such situations, using suitable web debugging proxy tools could make our life much easier.
In general, those man-in-the-middle apps can be used by developers in many cases, including:
- Capture and Inspect HTTP/HTTPS traffic in plain text.
- Observing or analyzing HTTP(s) Requests and Responses.
- Sharing HTTP(s) Requests and Responses.
- Easily Manipulating HTTP(s) Requests and Responses with built-in tools, such as Map Local, Map Remote, Breakpoint, Scripting,...
There are a number of good options that can fill the role of a debugging proxy, including both highly-matured tools like Wireshark, Charles Proxy or Fiddler … and newly-developed tools like Debookee, or Proxyman.
Each of them has its own advantages/disadvantages so let’s take a quick look into all available options and find out which one that fits your needs.
1. Features and Pricing
Almost all of the above tools offer full-features to greatly facilitate debugging procedures
- Intercept and analyze the HTTP(s) network requests/responses.
- Observe HTTP(s) requests/responses on mobile devices/simulators
- Repeat, Compose HTTP(s) requests/responses.
- Export HTTP(s) requests/responses to common files (HAR Format, Log, …)
- Map Local: Map a Response with a local file or local directory
- Map Remote: Change the request destination to different places
- Breakpoint: Set a breakpoint on matched requests or responses and able to manipulate the content on-the-fly
- Allow / Block List: Allow or block certain requests
- Rewrite: define changes to one or more calls in advance and have them apply at runtime
- External Proxying: Proxy to the external central server (suitable for big companies owing a Proxy server)
- Network Throttling: simulate various types of network connections
Despite the similarity in features and functionalities, pricing varies a lot depending on the target users of each company. Wireshark used to be a go-to option for both individuals and enterprises as it was the first tool that offer full set of proxy features in the market.
However, after 15 years released, it seems to start causing inconvenience and developers now shift to more newly developed tools like Charles, Fiddler, Debookee or Proxyman.
While Fiddler targets Enterprises ($999/ license) or Debookee costs over 300$ to purchase all essential features, Charles and Proxyman seems to be more reasonable for both Individuals and SMEs due to the affordable pricing packages ($49/license).
2. UI, UX and supported OS
Wireshark is a highly credible cross-platform application which has been released since 1998. Although the UI is not quite modern, current Wireshark version supports all platforms including macOS, Window and Linux. Some advanced features of the app are designed with a lot of low-level information to satisfy hard-core developers so it might not be friendly to other users.
Charles Proxy Dashboard
Similar to Wireshark, Charles Proxy is another cross-platform application written in Java language to support all platforms. It is also a highly matured and stable application that facilitate the debugging procedures.
Although the app simplifies proxy features to become more assessable to users, current UI and UX of the app have not been optimized and polished yet.
Proxyman is also designed to observe and manipulate HTTP(s) requests/ responses. However, different from the above tools, it is a native application which is tailored for each platform only.
That way, the app will be optimized to run with minimum system resource consumption and ensure that both UI/UX are user-friendly. Proxyman also offers comprehensive and powerful debugging features such as Breakpoint, Map Local, Map Remote, or Scripting tools to help developers debug with ease.
With that said, one big disadvantage of the app is that it only supports macOS and iOS platform (Check out Proxyman for iOS).
According to the team, Proxyman for Windows OS is expected to be released in 2022.
Refine Debugging Tools
Proxyman also refines the UI/UX of all debugging tools to easier to use and fit with 2020+ design standards.
- Strictly follow the macOS Human Interface Guidelines.
- Map Local: Able to edit HTTP Response Message (Include Headers, Body and Status Code).
- Map Remote: Better UI.
- Breakpoint: Manipulate Request/Response on the fly.
- Proxyman for iOS: Directly Inspect HTTP/HTTPS Traffic from your iOS devices with ease.
- and more...
Certificate Guideline for iOS, Android, Simulator and Emulator.
Proxyman provides various guideline to setup Proxyman with the following devices. Some of them can be done in a single-click.
- iOS Physical device
- iOS Simulators
- Android Physic Device
- Android Emulator
- JVM Machine
These guidelines are straightforward and friendly guidance as compared to other applications.
Proxyman offers a scripting feature that the developer could write the JS code to manipulate the Request/Response in a flexible way.
- Implement Map Local / Map Remote / Breakpoint by JS Code. 100x Faster
- Change the Request Content, includes Domain, Host, Scheme, Port, Path, HTTP Method, HTTP Headers, Query, Body (Encoded-Form, JSON, plain-text)
- Change the Response Content, includes HTTP Status Code, HTTP Headers, Body (JSON, Encoded-Form, plain-text, binary...)
- Provide plenty of built-in addons and libraries for common tasks, such as Hashing, Encode/Decode, JSON-Text transformer, Beautify,...
- Able to write your own JS Addons or Libraries
- Designed to replace Rewrite GUI Tool
- Assign and receive shared States between each script or current session with ShareState or Environment Variables
Which application is for you?
It is hard to decide whether each application is good or bad as it depends a lot on developers' preferences.
In a nutshell:
If you are a hacker/security developer who need a full-set proxy tools to dig deep into the network level, Wireshark and Fiddler might be your go-to option.
If you are a developer who need using package analyzers on MacOS, Window, or Linux with full debugging features, you might consider using Charles Proxy.
If you are a QA, front-end, iOS, Android developers, security developer who want a native, high-performance application on macOS with full debugging features and customization (a.k.a a Mac-asses mac app), it is worth trying Proxyman.
Updated at Mar 22, 2020: Improve wordings to make the blog is neutral.
Updated at Sep 13, 2020: Update new tools and features.
Updated at Jun 16, 2021: Update new screenshots.
Proxyman is a high-performance macOS app, which enables developers to view HTTP/HTTPS requests from apps and domains on iOS device, iOS Simulator and Android devices.
Get it at https://proxyman.io