Almost every applications these days seem to communicate over HTTP. As a developer, we might not need paying 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 to figure out what is going on.
In such situations, using logging-proxy tools could make our life much easier.
In general, those man-in-the-middle can be used for all sorts of things:
- Observing the HTTP requests/ responses
- Modifying the HTTP requests/ responses
- Network Throttling,…
There are a number of good options that can fill the role of a logging proxy. Among them, there are highly-matured tools like Wireshark, Charles or Fiddler … and there are some 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
All of the above tools offer developers full-features to greatly facilitate the debugging procedures. To be more specific:
- Intercept and analyze the HTTP/HTTPS network requests/responses.
- Observe requests/responses on mobile devices/simulators
- Repeat, Compose requests/responses.
- Export requests/responses to common files (HAR Format, Log, …)
- Local Map: match requests (by given rule) and replace the response with the local files
- Breakpoint: set a breakpoint on matched requests or responses and able to manipulate the content on-the-fly
- Whitelist/Blacklist: 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 suitable or friendly to junior developers
Charles Proxy Dashboard
Similar to Wireshark, CharlesProxy is another cross-platform application written in Java language to support all platforms. This app has simplified proxy features to make it become more assessable, however both UI and UX of the app have not been optimized and polished yet.
Instruction is for well-trained devs
With that being said, it is still a highly matured and stable application which is used to facilitate the debugging procedures on all OS devices
The last application of today’s post is Proxyman. This is a native, high-performance application designed to run with minimum system resource consumption.
Although the app offers comprehensive debugging features and optimizes both UI/UX to make it user-friendly, one biggest disadvantage of this app is that it only supports users of macOS.
Clear, friendly guidance as compared to other applications
Which application is for you?
It is hard to decide whether each application is good or bad as it depends a lot on our preferences. In a nutshell:
- If you are a hacker/senior developer/security developer who need a full-set proxy tools to dig deep into the network level, Wireshark might be your go-to option.
- If you are a mid-level developer/security developer who need using package analyzers on Window OS, you might consider using Charles.
- If you are a QA/ junior to mid-level developer/security developer who want a native, high-performance application on macOS, it is worth trying Proxyman.
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