Existe uma implementação Java que funciona no Windows em analogbit.com: tcp-over-dns .
tcp-over-dns contains a special dns server and a special dns client. The client and server work in tandem to provide a TCP (and UDP!) tunnel through the standard DNS protocol.
This is similiar to the defunct NSTX dns tunelling software. The purpose of this software to is succeed where NSTX failed. For me at least, all NSTX tunnels disconnect within tens of seconds in real world situations. tcp-over-dns was written to be quite robust while at the same time providing acceptable bandwidth speeds.
Os programas requerem o ambiente de tempo de execução Java 6.0+. O servidor requer acesso à porta de administrador 53.
Existe um belo artigo do mesmo autor que explica muito bem o TCP sobre o DNS .