httptunnel
Bezugsquelle:
http://www.nocrew.org/software/httptunnel.html
Lizenz: GNU General Public License
Plattform: Linux, Win32
httptunnel kann eine bidirectionale Verbindungen aufbauen, die über HTTP-Anfragen getunnelt werden. Falls notwendig kann dies auch über HTTP Proxy-Server stattfinden. Durch diesen HTTP-Tunnel können restriktive Firewalls, die jedoch HTTP (zumindest über einen Proxy) zulassen, "umgangen" werden. So kann beispielsweise eine SSH-Session über diesen HTTP-Tunnel getunnelt werden. Die SSH-Verbindung selbst kann dann wiederrum weitere Protokolle tunneln (z.B.
X forwarding).
Beispiel:
Soll ein HTTP-Tunnel aufgebaut werden, um SSH (Port 22) zu tunneln, so muss außerhalb der Firewall ein System zur Verfügung stehen, auf dem der Port 80 eine Weiterleitung auf Port 22 (auch eines anderen Systems) vornimmt:
hts -F server.test.com:22 80 erzeugt eine Weiterleitung des lokalen Port 80 auf Port 22 von server.test.com
Auf dem Client (hinter der restriktiven Firewall) wird nun eine Verbindung zu dem "WWW"-Server server.test.com mittels
htc -P proxy.corp.com:80 -F 22 server.test.com:80 aufgebaut. In diesem Beispiel wird ferner durch die Option -P proxy.corp.com:80 ein Proxy-Server mit übergeben. Nun kann auf dem Client eine SSH-Verbindung auf Localhost (127.0.0.1) erfolgen. Diese wird nun über den HTTP-Tunnel (über den Proxy) auf server.test.com getunnelt und dort an Port 22 (SSH) übergeben. D.h. SSH auf localhost würde in diesem Beispiel eine SSH-Verbindung auf server.test.com aufbauen.
Quelle: http://helpdesk.rus.uni-stuttgart.de/~rustomfi/Firewalls/Grundlagen/tunnel.html