assemble/disassemble network packets at the protocol level



NetPacket version 0.41.1

This is a whole bunch of
Perl modules which I have named NetPacket::*.  These modules do basic
disassembly of network packets of various Internet protocols.  NetPacket
0.01 contained hooks for assembly of packets which have been implemented in
version 0.04 by Stephanie Wehner <>.

I've used these scripts for a variety of little jobs such as snooping
various TCP services, gathering network traffic statistics by
source/destination/protocol, and for unpacking the contents of IP
tunnels.  They're actually pretty useful.  I recommend fetching and
installing the Net::Pcap module to actually gather packet data, and
for writing small scripts based on packet capture, the Net::PcapUtils
module is also useful.

At present, decoding for the following protocols has been

	- Ethernet (802.3 and 802.2)
	- ARP
	- IP
	- UDP
	- TCP
	- USBMon

It's pretty easy to add new protocols.  Just copy one of the existing
modules and figure out an unpack string which will unpack the
information in the packet and store the data into fields in the
namespace of the NetPacket::whatever object.  More information can be
found in the NetPacket(3) manpage, which is the base class module.

I'd be interested in receiving bug reports, comments or any
improvements (especially additional protocols) to the NetPacket

Tim Potter
30th July, 2001