listen.c:
  The actual writing of packets captured by bpf to a file is done in
  the kernel; see our bpf modifications in sys/net.  However, listen.c
  oversees this process, initializing the bpf interface, monitoring
  the file as it is created and moving it when it gets too large, etc.

listen.sh:
  wrapper for listen, to capture output and return value in a log file.

bpf.c:
  routines to manage a bpf interface, including opening it, associating 
  a network interface with it, giving it a file to write packets to,
  getting statistics from it, etc.
