About

Etherbunny is an experimental framework for analyzing ethernet packets. It uses the libpcap library to capture ethernet packets, and then processes them into haskell datatypes.

Etherbunny is also my first haskell project, so don't be surprised when the code is strange.

Example

nick@frost ~/P/h/etherbunny> dist/build/etherbunny/etherbunny -ien1
[InputDevice "en1"]
Ethernet II dest: 00:0d:93:eb:63:2a src: 00:11:24:6c:a7:9c type: 0800 IPJust (IPPkt 
  IP: Ip Version 4
      Header length 5
      TOS: (IPTOS 0)
      totalLength: 187
      Frag Ident: 25952
      flags/fragment offset: (IPFlagsFragment 16384)
      TTL: 48
      Protocol: (IPProtocol 6)
      Header Checksum: 4577
      Source: 82.96.64.4
      Destination: 10.0.3.2
      Options: []
      Payload: (Just 
  TCP: Source Port 6667
       Destination Port 62200
       Sequence Number: 499929225
       Ack Number: 1670736168
       Data Offset: 8
       ECN: 0
       Control Bits: 8
       Window: 4396
       Checksum: 4811 correct? True
       Urgent Pointer: 0
       Options: [1,1,8,10,166,145,7,213,4,10,55,113])
)[]
...
				

Download

The current version of Etherbunny is 0.3. Download it here, or from hackage:

Find the etherbunny darcs repository online at