pwnat , pronounced “poe-nat”, is a tool that allows any number of clients behind NATs to communicate with a server behind a separate NAT with *no* port forwarding and *no* DMZ setup on any routers in order to directly communicate with each other. The server does not need to know anything about the clients trying to connect.
Simply put, this is a proxy server that works behind a NAT, even when the client is behind a NAT, without any 3rd party.
pwnat <-s | -c> <args>
-c client mode (default) <args>: [local ip] <local port> <proxy host> [proxy port (def:2222)] <remote host> <remote port> -s server mode <args>: [local ip] [proxy port (def:2222)] [[allowed host]:[allowed port] ...] -6 use IPv6 -v show debug output (up to 2) -h show this help and exit
Server Ptunnel :
cyborg@cyborg:~$ sudo pwnat -s 8888
Listening on UDP 0.0.0.0:8888
Client Ptunnel :
cyborg@cyborg:~$ sudo pwnat -c 8000 192.168.1.12 8888 google.com 80
Listening on TCP 0.0.0.0:8000
New connection(1): tcp://127.0.0.1:52145 -> udp://192.168.1.12:8888