HTTPTracer

What is this?

HTTPTracer is an application that sits between your HTTP client and your HTTP server and sniffs all the communication that goes on between the two.

What can I do with this?

You can understand what's really passing thru your HTTP connections.

This is normally useful to:

How do I use it?

The application should be self-explanatory: after you launch it, create a connection to an existing web site by specifying the host name and the port, and specifying what local port it should attach to (for example 8080).

After you have created the connection listener, point your browser to http://127.0.0.1:8080/ (or the port that you used) and start browsing! All the links in the pages will be rewritten automatically so that you can keep browsing as the remote web server was actually local and you can see the tracing being logged as the HTTP connection goes on.

Hmmm, reminds me of the "tcpmon" utility found in Apache Axis...

This is precisely that utility, renamed for differentiation, repackaged to make it easier to use, added a few things (like response timing) and given more visibility (it's pretty hard to find in Axis if you don't know it's there). All credits go to the original developers (see below), all the blame to us.

Requirements

HTTPTracer is a GUI application written in Java and requires:

Oh man, why Java and why a proxy? Why don't you just use "tcpflow/httpflow"?

First of all, we do use tcpflow and httpflow, they are invaluable companions. Unfortunately, tcpflow doesn't work on windows, which is one reason for this. Another reason is that while to see the network flow, it's not really that great when you need to go back and figure out what happened in detail. HTTPTracer provides a UI that is a little better than a huge scrolling list in a terminal window.

Ok, where do I download it?

You can obtain HTTPTracer in two different ways:

  1. download a binary distribution
  2. download the files directly from the code repository and build it yourself.

In case you want to download the files from the repository (for example, if you want to have the latest and greatest development snapshot), you need to have a Subversion client installed. At this point, just type

svn co http://simile.mit.edu/repository/httptracer/trunk/ httptracer

at the command line and the latest distribution will appear in the "httptracer" directory.

Licensing and legal issues

HTTPTracer is open source software and is licensed under the Apache License 2.0 license located in the LICENSE.txt file located in the root of the distribution.

Credits

This software was created by the Apache Axis project and originally written by (those who get the credit):

it was later modified and maintained here by (those who get the blame):