e9c2ed11fe
- icmptype (offset of ICMP type field) - icmpcode (offset of ICMP code field) - tcpflags (offset of TCP flags field) and field values: - icmp-echoreply, icmp-unreach, icmp-sourcequench, icmp-redirect, icmp-echo, icmp-routeradvert, icmp-routersolicit, icmp-timxceed, icmp-paramprob, icmp-tstamp, icmp-tstampreply, icmp-ireq, icmp-ireqreply, icmp-maskreq, icmp-maskreply - tcp-fin, tcp-syn, tcp-rst, tcp-push, tcp-ack, tcp-urg This allows expressions like the following: icmp[0] = 3 (tcp[13] & 0x02) != 0 to be written as: icmp[icmptype] = icmp-unreach (tcp[tcpflags] & tcp-syn) != 0 which is a bit more user-friendly for e.g. writing packet filter rules. |
||
---|---|---|
.. | ||
bpf_image.c | ||
CHANGES | ||
etherent.c | ||
ethertype.h | ||
gencode.c | ||
gencode.h | ||
gnuc.h | ||
grammar.y | ||
inet.c | ||
Makefile | ||
nametoaddr.c | ||
optimize.c | ||
pcap2netbsd | ||
pcap-bpf.c | ||
pcap-int.h | ||
pcap-namedb.h | ||
pcap.3 | ||
pcap.c | ||
pcap.h | ||
ppp.h | ||
README | ||
savefile.c | ||
scanner.l | ||
shlib_version | ||
version.c |
$NetBSD: README,v 1.4 1997/10/03 15:53:01 christos Exp $ @(#) Header: README,v 1.18 97/06/12 14:23:56 leres Exp (LBL) LIBPCAP 0.4 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