OSDN Git Service

2013.10.24
[uclinux-h8/uClinux-dist.git] / lib / Libnet / doc / Ancillary / README.bpf
1 ===============================================================================
2     LIBNET 1.0 (c) 1998 - 2001 Mike D. Schiffman <mike@infonexus.com>
3                                http://www.packetfactory.net/libnet
4 ===============================================================================
5
6
7     The Berkeley Packet Filter does not allow a user to arbitrarily specify
8     a source ethernet address.  This is not intuitively obvious.  In fact
9     it's downright daffy.  A filled in sockaddr structure containing the
10     user designated source and destination addresses is passed to the generic
11     ethernet output routine.  However, the ether_output routine
12     (in /usr/src/sys/net/if_ethersubr.c) ignores the supplied value and grabs
13     the source address directly from the interface.
14
15     To fix this, we of course, have to modify the kernel.  The easiest way
16     to do this is via the loadable kernel module interface.  Included in the
17     support dir is lkm code for FreeBSD and OpenBSD.
18
19     Keep in mind that in order to load modules, your securelevel needs to
20     be 0 or lower.
21
22     cd support/bpf-lkm/etherspoof
23     make
24     modload ether_spoof.o
25
26
27     Thomas Ptacek wrote the original FreeBSD 3.0 lkm code (I had to modify
28     it a wee bit to get it to work on 3.0-19980804-SNAP).  Check out his
29     stuff at http://www.enteract.com/~tqbf/goodies.html.  Tom's very smart.
30
31     Also included is a kernel patch for more recent 3.0 releases.  Written
32     by Nick Brawn.
33
34 EOF