Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Dec 2006 19:08:13 +0300
From:      Eygene Ryabinkin <rea-fbsd@codelabs.ru>
To:        Fabr?cio Barros Cabral <fxcabral@yahoo.com.br>
Cc:        freebsd-net@freebsd.org
Subject:   Re: Intercepting a packet, changing it and re-injecting into the network
Message-ID:  <20061222160812.GB31089@codelabs.ru>
In-Reply-To: <1166802209.7642.17.camel@hades.no-ip.org>
References:  <1166802209.7642.17.camel@hades.no-ip.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Fabricio, good day!
> I'm developing a network application which needs *to intercept* a packet
> (not just *copy* a packet, like libpcap does), move this packet into my
> application (userland), do some checking in the packet and according
> with some heuristics, the application may change the payload and
> re-inject the modified packet into the network. Note that sometimes,
> I'll change the payload, drop the packet or just let it go.
> 
> So, how can a I do that in FreeBSD? I can use 6.1, 7.1, any version.

Probably you should read the divert(4) manual page and the ipfw(8)
manual, looking for the 'divert' directive. The good example of
your application is /sbin/natd.

The aforementioned facilities are present in FreeBSD at least since 4.x.
-- 
Eygene



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061222160812.GB31089>