Alternatives to CharlesProxy and Wireshark

Renée
4 min readOct 19, 2019

--

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 those 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:

Basic features:

  • 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, …)

Advanced features:

  • 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 (~$50/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

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 accessible, however both UI and UX of the app have not been optimized and polished yet.

Flood of unknown requests/responses

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, one biggest disadvantage of this app is that it does not support Window and Linux

iOS Setup Guide for Proxyman
iOS Setup Guide for Charles

However, it could be seen that Proxyman has tinkered both UI and UX to make the app more accessible to all developers and pleasant to use as a daily tool

Which application is for you?

It is hard to decide whether those applications are good or bad as it depends a lot on our own needs and preferences. In my opinion:

  • If you are a hacker/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 developer/security developer who need using package analyzers on Window OS, you might consider using CharlesProxy.
  • If you are a QA/developer/security developer who want a native, high-performance application on macOS, it is worth trying Proxyman.

--

--