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>