jpcap is a set of Java classes which provide an interface and system for network packet capture. A protocol library and tool for visualizing network traffic is included.
jpcap hides the low-level details of network packet capture by abstracting many network packet types and protocols into Java classes. Internally, jpcap implements bindings to the libpcap system library through JNI (the Java Native Interface).
jpcap utilizes libpcap, a widely deployed shared-library for capturing user-level packets. libpcap must be installed on your system in order to use jpcap.
jpcap consists of a small shared-library which wraps libpcap plus a collection of Java classes. The shared-library component provides event hooks, communication and data conversion between a running Java VM and libpcap. The ‘capture’ package contains the core capture system. The ‘net’ package contains abstractions for many network packet types
and protocols. The ‘simulator’ package contains a network simulator.
jpcap was originally developed in 2001, hosted at sourceforge.net and now available at github. The project is the work of more than a dozen contributors.