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 and hosted at sourceforge.net. It is now (since 2011) also available via github. The project is the work of more than a dozen contributors.
Jpcap has been utilized in a number of other open source projects and mentioned in several technical talks and articles.
Articles and Research Papers
- Cryptographic One-Time Knocking, presented at Black Hat 2004, Las Vegas
- Pinpoint: Problem Determinate in Large, Dynamic Internet Services
- Anatomy of an IP Fragmentation Vulnerability in Linux IPChains: Investigating Common Vulnerabilities
- Sonificator, an open-source client-framework for SC3 in Java
- SecurityFocus Linux, Issue #151
- SecurityFocus Linux, Issue #216
- Linux Online
- Wiretapped (mirror)