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.
See this write-up about using the software for more information.
java -jar tcp-over-dns-client.jar for a list of client options, likewise for the server.
Licensed under a BSD license. See LICENSE.txt in the included files.
http://analogbit.com/sites/default/files/tcp-over-dns-1.3.zip - Server and Client jars.
http://analogbit.com/sites/default/files/tcp-over-dns-source-1.3.zip http://analogbit.com/sites/default/files/tcp-over-dns-source-1.2.zip http://analogbit.com/sites/default/files/tcp-over-dns-source-1.1.zip