What I'm trying to do re-route all my network traffic to a remote computer - similar to a proxy service in a web browser, but I want to use my program to re-route ALL traffic coming out of my computer to a remote host (which will then forward it to it's final destination). The purpose of this is to build a network for increased anonimity - similar to the TOR network, but on a smaller scale (within a local network, to mask - or fake - the originating network address from the gateway - which will then direct it to the internet).
Basically, the application should have the end result of making it impossible for the gateway computer to find the originator of any given packet - it will always appear to come from a computer OTHER than the one it actually did.
So, how would I capture ALL outgoing traffic from a computer for later forwarding (or indeed bringing a complete stop to it, and instead logging it to a local file)?