NetBSD/lib/libpcap
veego 429435afc0 Remove two debugging CFLAGS: -DBDEBUG -g 1997-04-05 08:12:16 +00:00
..
CHANGES Merge libpcap-0.2.1. 1996-12-13 08:25:54 +00:00
Makefile Remove two debugging CFLAGS: -DBDEBUG -g 1997-04-05 08:12:16 +00:00
README Merge libpcap-0.2.1. 1996-12-13 08:25:54 +00:00
bpf_image.c - convert unsafe strcpy(), strcat() and sprintf() to the `n' versions. 1997-01-23 14:01:45 +00:00
etherent.c Merge libpcap-0.2.1. 1996-12-13 08:25:54 +00:00
ethertype.h Merge libpcap-0.2.1. 1996-12-13 08:25:54 +00:00
gencode.c New ARP system, supports IPv4 over any hardware link. 1997-03-15 18:34:01 +00:00
gencode.h Merge libpcap-0.2.1. 1996-12-13 08:25:54 +00:00
gnuc.h add NetBSD RCSID. 1996-12-13 08:32:00 +00:00
grammar.y New ARP system, supports IPv4 over any hardware link. 1997-03-15 18:34:01 +00:00
inet.c - convert unsafe strcpy(), strcat() and sprintf() to the `n' versions. 1997-01-23 14:01:45 +00:00
nametoaddr.c New ARP system, supports IPv4 over any hardware link. 1997-03-15 18:34:01 +00:00
optimize.c Merge libpcap-0.2.1. 1996-12-13 08:25:54 +00:00
pcap-bpf.c - convert unsafe strcpy(), strcat() and sprintf() to the `n' versions. 1997-01-23 14:01:45 +00:00
pcap-int.h Merge libpcap-0.2.1. 1996-12-13 08:25:54 +00:00
pcap-namedb.h Merge libpcap-0.2.1. 1996-12-13 08:25:54 +00:00
pcap.3 Merge libpcap-0.2.1. 1996-12-13 08:25:54 +00:00
pcap.c - convert unsafe strcpy(), strcat() and sprintf() to the `n' versions. 1997-01-23 14:01:45 +00:00
pcap.h Merge libpcap-0.2.1. 1996-12-13 08:25:54 +00:00
savefile.c - convert unsafe strcpy(), strcat() and sprintf() to the `n' versions. 1997-01-23 14:01:45 +00:00
scanner.l Merge libpcap-0.2.1. 1996-12-13 08:25:54 +00:00
shlib_version Port to NetBSD, and add NetBSD RCS tags. 1995-03-06 11:37:58 +00:00

README

$NetBSD: README,v 1.3 1996/12/13 08:25:56 mikel Exp $
@(#) Header: README,v 1.15 96/07/07 22:38:34 leres Exp (LBL)

LIBPCAP 0.2.1
Lawrence Berkeley National Laboratory
Network Research Group
libpcap@ee.lbl.gov
ftp://ftp.ee.lbl.gov/libpcap.tar.Z

This directory contains source code for libpcap, a system-independent
interface for user-level packet capture.  libpcap provides a portable
framework for low-level network monitoring.  Applications include
network statistics collection, security monitoring, network debugging,
etc.  Since almost every system vendor provides a different interface
for packet capture, and since we've developed several tools that
require this functionality, we've created this system-independent API
to ease in porting and to alleviate the need for several
system-dependent packet capture modules in each application.

Note well: this interface is new and is likely to change.

The libpcap interface supports a filtering mechanism based on the
architecture in the BSD packet filter.  BPF is described in the 1993
Winter Usenix paper ``The BSD Packet Filter: A New Architecture for
User-level Packet Capture''.  A compressed postscript version is in:

	ftp://ftp.ee.lbl.gov/papers/bpf-usenix93.ps.Z.

Although most packet capture interfaces support in-kernel filtering,
libpcap utilizes in-kernel filtering only for the BPF interface.
On systems that don't have BPF, all packets are read into user-space
and the BPF filters are evaluated in the libpcap library, incurring
added overhead (especially, for selective filters).  Ideally, libpcap
would translate BPF filters into a filter program that is compatible
with the underlying kernel subsystem, but this is not yet implemented.

BPF is standard in 4.4BSD, BSD/386, NetBSD, and FreeBSD.  DEC OSF/1
uses the packetfilter interface but has been extended to accept BPF
filters (which libpcap utilizes).  Also, you can add BPF filter support
to Ultrix using the kernel source and/or object patches available in:

	ftp://gatekeeper.dec.com/pub/DEC/net/bpfext42.tar.Z.

Problems, bugs, questions, desirable enhancements, source code
contributions, etc., should be sent to the email address
"libpcap@ee.lbl.gov".

 - Steve McCanne
   Craig Leres
   Van Jacobson