hsns: the haskell network sniffer. * What is Hsns? * Installation * Packet filters * Options What is Hsns? ============= hsns is a packet sniffer for unicies written totally in Haskell (http://www.haskell.org) Currently, hsns has only been tested to work on Linux. Installation ============ To install, you need to have a haskell compiler such as the Glasgow Haskell Compiler installed, the Pcap library to be installed, and the Network.Pcap libraries for GHC. You may obtain Network.Pcap from http://hackage.haskell.org To install, run the Setup.lhs script like so (you can skip the chmod part if you have pulled hsns from the darcs repository with the --set-scripts-executable flag): [austin@continuum hsns]$ chmod +x ./Setup.lhs [austin@continuum hsns]$ ./Setup.lhs configure ... [austin@continuum hsns]$ ./Setup.lhs build ... [austin@continuum hsns]$ su -c './Setup.lhs install' Password: ... [austin@continuum hsns]$ hsns is now installed. Packet filters ============== hsns can receive a berkeley packet filter in it's command line (anywhere) that can be used to filter packets in the same style as Tcpdump. For a reference on bpf's, see the tcpdump man page. Options ======= Currently, hsns accepts the following options: -h,-? --help Display help -c[COUNT] --count=COUNT Exit after receiving COUNT packets. 0 is receive forever, default is 5. -D --iflist List interfaces that can be captured on -i INT --interface=INT Listen on interface INT. -l --linebuffered Make output line buffered. -p --nopromiscuous Do not go into promiscuous mode -s LEN --snarf=LEN change snarf length from 68 (default) to LEN. -V --version Display version and exit.