hdrgrab sniffs HTTP messages off the wire and writes them into a HAR file.
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.
hdrgrab
Start it up like this:
hdrgrab
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
If npm complains about problems with pcap, like this:
npm ERR! Failed at the [email protected] 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 hdrgrab
because my pcap headers are in a non-standard place (thanks to MacPorts). YMMV.
Mark Nottingham [email protected]