Intercepting a packet, changing it and re-injecting into the
network
Chuck Swiger
cswiger at mac.com
Fri Dec 22 08:22:15 PST 2006
Fabrício Barros Cabral wrote:
> Hello everybody!
>
> 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.
Use IPFW plus a divert socket, or possibly netgraph. See the sources for natd
for an example of a userland app which intercepts and re-injects packets,
possibly modified...
--
-Chuck
More information about the freebsd-net
mailing list