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.
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.
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:
where listen_port is the port you'd like htracr to be available on. Then, point your browser at it; e.g.:
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.
If npm complains about problems with pcap, like this:
npm ERR! Failed at the email@example.com install script.
it usually means that it couldn't find libpcap when building. See the instructions here: https://github.com/mranney/node_pcap.
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 firstname.lastname@example.org