Skip to main content

TCP-Verbindungen über HTTP tunneln

Mit dem kleinen Tool httptunnel lassen sich TCP-Verbindungen über das HTTP-Protokoll tunneln. Dies ist dann z.B. interessant, wenn man hinter einer Firewall sitzt, die nur Verbindungen über Port 80 nach draussen läßt.

Benötigt wird ein Server außerhalb, z.B. der Server zuhause oder im Internet.

In diesem Beispiel will ich eine Verbindung zu einem SSH-Server im Internet aufbauen. Der kann aber muss nicht auf dem Zielserver laufen. In diesem Fall will ich die Verbindung auf einen anderen Server weiterleiten.

Zuerst wird auf dem Ziel der Server für httptunnel gestartet:

Syntax:
hts -F <weiterleitung an ip>:<zielport> <lokaler port>
Beispiel:
hts -F meinssh.server.de:22 1234
oder
hts -F localhost:22 1234

danach auf dem Quellserver der Client:

Syntax:
htc -F <lokaler port> <httptunnel server>:<httptunnel port>
Beispiel:
htc -F 5222 mein-httptunnel-server.de:1234

Sobald beide Programme gestartet sind, sollte der Tunnel stehen. Jetzt kann ich mich mit „ssh localhost -p5522“ über den Tunnel auf meinen Zielserver verbinden.