Grab HTTP headers
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


hdrgrab sniffs HTTP messages off the wire and writes them into a HAR file.

Installing hdrgrab

First you'll need Node and its package manager, npm.

Then, hdrgrab can be installed with npm like this:

sudo npm -g install hdrgrab

which will install dependencies automatically.

Under the covers, hdrgrab relies upon node_pcap and optimist.

Using hdrgrab


Start it up like this:


which will sniff on port 80 and output to "grab.har".

hdrgrab -o foo.har

will output to the file "foo.har"

hdrgrab -p 8000

will sniff on port 80.

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

hdrgrab -p 8000 -i eth0

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

sudo hdrgrab -p 8000 -i eth0 -o foo.har

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 hdrgrab

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


Mark Nottingham