Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


htracr is a packet sniffer and visualisation tool for HTTP. It does not give you a score, grade, or hold your hand when you're crying because your site is so damn slow, but it will give you unparalleled insight into what's actually happening on the wire between your browser and the Web.

Installing htracr

First you'll need Node and its package manager, npm. You'll also need a modern Web browser (known to work: Safari 5, FireFox 4, and Chrome).

Then, htracr can be installed with npm like this:

sudo npm -g install htracr

which will install dependencies automatically.

See 'Installation Problems?' below if you have any issues getting htracr onto your system.

Under the covers, htracr relies upon node_pcap, Raphael, JQuery, optimist, and formidable.

Using htracr

htracr is designed for use on the same machine your web browser or other client runs on; while it's possible to run it on a server, it'll be difficult to make sense of all of the traffic coming to a normal server.

To use htracr, start it up like this:

htracr [listen-port]

where listen_port is the port you'd like htracr to be available on. Then, point your browser at it; e.g.:

htracr 8000

means you should point at:


On some operating systems, you may need to specify the interface to listen on. For example:

htracr 8000 eth0

and in some cases, you may need permission to listen to the device, making the appropriate command line something like:

sudo htracr 8000 eth0

Then, press 'start' to start capturing HTTP traffic, and 'stop' to show it. Currently, htracr only captures traffic on port 80.

The slider will adjust the time scale. You can use the keyboard arrows to navigate between packets and HTTP messages.

Installation Problems?


If npm complains about problems with pcap, like this:

npm ERR! Failed at the pcap@0.2.7 install script.

it usually means that it couldn't find libpcap when building. See the instructions here:

On my OSX machine, I have to build like this (becoming root first):

CXXFLAGS=-I/opt/local/include npm -g install htracr

because my pcap headers are in a non-standard place (thanks to MacPorts). YMMV.


Older versions of npm interact strangely with optimist and htracr. If you have other issues installing npm, try upgrading npm, then re-installing htracr.


Mark Nottingham

Obligatory Screenshot

htracr screenshot


HTTP sniffing and low-level visualisation







No packages published