Using netgraph for filtering/modifing packets.
Julian Elischer
julian at elischer.org
Mon Jun 14 17:45:12 GMT 2004
On Mon, 14 Jun 2004, James Housley wrote:
>
> I have a product that is connected to a PC via eithernet. The product
> runs FBSD, but I would likely put another FBSD box in the middle. I want
> to be able modify packets for good and evil based on the data portion of
> the packet.
>
> For example to ocasionally drop a packet that is acking some command. Or
> send an ack for a command that was never sent. Or just change data to be
> invalid.
>
> Then after messing with the data portion put it back in the queue to be
> sent, if it wasn't just dropped.
>
> Jim
>
Is this product running over..
1/ your own low-level protocol
use netgraph etf node to divert packets to userland for processing by a
program (using 'socket' node)
example: nghook
or
2/ IP?
2a/ UDP?
or
2b/ some proprietary IP protocol?
use ipfw and 'divert' to divert to a userland program for manipulation
example: natd or tcpmssd (in ports/net)
More information about the freebsd-net
mailing list