Is there a library out there that will allow me to perform link-layer packet modification for both incoming and outgoing packets?
Basically I want to do some transformations to a packet (for eg. changing IP payload) based on incoming MAC address, IP address, port, etc. I also want to be able to do the same thing for outgoing packets, i.e., modify packets before they leave the system.
I'm not sure if IPTables can do the kind of packet payload modification that I want to do. The article linked in the 1st answer allows modification only at network layer, not at link layer.
Solution: WinpkFilter