HttpCanary: The Ultimate Android Network Analysis Tool for Capturing HTTP/HTTPS Traffic

Introduction to HttpCanary

HttpCanary is the most powerful network analysis tool on the Android platform, supporting a variety of protocols such as TCP/UDP/HTTP/HTTPS/WebSocket. It can be considered the Fiddler or Charles equivalent for the Android platform.

Users of HttpCanary need to have a foundational knowledge of computer networking and it is only suitable for the following use cases:

  • Android, front-end, and back-end software engineers debugging Rest API, identifying bugs in network programming.
  • Test engineers editing network data to simulate different business scenarios, conducting white-box or black-box testing.
  • Network security engineers testing and verifying risks in app-to-server network communication.

Features of HttpCanary

HttpCanary: Multi-Protocol Support

  • Supports HTTP1.0/HTTP1.1/HTTP2/HTTPS protocols.
  • Supports WebSocket protocol.
  • Supports TCP/UDP protocols.

HttpCanary Data Analysis Support

  • Supports parsing of common encoding formats such as gzip, brotli, chunked, etc.
  • Search and filter packet contents; supports creating custom filter rules.
  • Preview data contents, including JSON, images, audio, video, text, cookies, etc.
  • Comprehensive data analysis views, such as Raw View, HEX View, TEXT View, etc.
  • Network detail analysis, including HTTP detail overview, request/response data size, time statistics, etc.
  • Supports marking, commenting, saving, sharing, and copying packets.

HttpCanary Debugging Support

  • Intercept specific requests and modify data before submitting it.
  • Injector support for creating custom rules to modify packets.
  • Supports re-sending, editing and re-sending, and batch re-sending network requests.
  • Configure blacklists or whitelists to freely specify targets for packet capture.
  • Supports packet blocking, such as blocking specified packets from the client to the server.

HttpCanary Plugin Support

  • Equipped with a variety of built-in plugins, such as automatic video download and WeChat location spoofing.
  • Plugin injector creation, import, and export (some features are still under development).

Download and Installation

  • Official download link: Google Play
  • Domestic site download link: httpcanary v9.2.8.1

Device Requirements

  • Android 5.0+/Real devices + emulators/WiFi + cellular network/No root required.

Packet Capture

Steps for Packet Capture

1. Launch the application and click the small airplane button in the lower-right corner to start packet capture. A pop-up window for installing the CA certificate will appear. Click Install.

HttpCanary
HttpCanary


2. You can assign a custom name for the certificate. For this example, we’ll use the default name.

3. The interface will prompt you to create a VPN connection. Click OK.

4. Launch the application again. A floating window for packet capture will appear in the lower-right corner.

5. Double-click the floating widget to view the packet capture request list.

Request Analysis

1. Click on any request in the request list to view detailed request information.

2. Click the Request menu to view detailed request information.

3. Click the Response menu to view response details.

Additional Features

Request Search

HttpCanary captures all requests made on the device by default, which can result in a long list. How do we find the specific request we’re looking for? Click the search button in the top-right corner, and you’ll see many search options.

For instance, to filter by Host, select the domain m.baidu.com.

Once selected, return to the request list interface to see requests related to the m.baidu.com domain.

Request Bookmarking

In the request interface, click the bookmark button in the top-right corner to bookmark a request.

After bookmarking, click the main menu and go to the bookmarks section to view all bookmarked requests.

Target Applications

To capture packets for a specific application, you can set a target app. Click the main menu in the top-left corner, then click Settings to go to the settings screen.

Click the Target Application menu to select an app from the device list or manually enter the app package name.

Target Host

To target specific domains for packet capture, click the Target Host menu in the settings screen and add an IP address or domain name to save and apply the configuration.

DNS Server

In the settings screen, click the DNS Server menu to configure the DNS. By default, HttpCanary provides several public DNS options. Click the + button in the top-right corner to add a custom DNS address.