Christian Mayer's Weblog

TCP/UDP Pipe 1.0.0

Es gibt kein Problem, das man nicht mit Perl lösen könnte. TCP/UDP Pipe ist ein Perl Script, dass zwischen einem Server und einem Clienten eine Verbindung herstellt. Ähnlich wie bei Netcat, einem Proxy oder einem TCP-Tunnel. Man kann damit nicht nur eine TCP zu TCP und UDP zu UDP Verbindung betreiben, sondern auch UDP zu TCP und TCP zu UDP.


Wobei UDP zu TCP und TCP zu UDP nicht so reibungslos funktioniert wie zwei Verbindungen der gleichen Art. Natürlich können auch mehrere Verbindungen gleichzeitig mit ein und dem selben Server hergestellt werden. Wenn sich ein neuer Client verbindet, wird dafür ein eigener Socket erstellt. In der tcppipe.conf Datei, die auch in der zip-Datei enthalten ist, befindet sich ein Beispiel zum Testen. Wenn man die conf-Datei unverändert lässt und tcppipe.pl startet, wird am lokalen Computer ein TCP Server auf Port 2102 erstellt. Wenn man dann mit dem Browser auf http://localhost:2102/ schaut, wird man feststellen, dass meine Seite erscheint. Die Anfragen an localhost:2102 werden also auf fox21.at:80 weitergeleitet. Die Konfigurationsdatei (tcppipe.conf) kann man natürlich beliebig anpassen. Wenn localhost (= 127.0.0.1, Loopback) für den lokalen Server verwendet wird, dann kann man nur vom selben Computer darauf zugreifen. Nicht aber von einem Anderen. Wenn von jedem Computer im Netzwerk darauf zugegriffen werden darf, muss man für die lokale IP-Adresse z.B. 192.168.241.21 verwenden. Kommt darauf an, welche IP-Adresse der Computer im Netzwerk hat. Verwendet man 0.0.0.0 als lokale IP-Adresse für den Server, so wird auf allen Interfaces gelauscht (LISTEN). Dieses Script funktioniert auch mit ActivePerl. Es benötigt die Module IO::Select, IO::Socket::INET und Time::HiRes.

Benötigte Perl-Module

Konfiguration

Flags

Hier ist eine Liste mit den Bedeutungen des flags-Feldes, das in jedem server- und client-Block vorkommen sollte:

Download

Posted on .
Categories: Project. Tags: ActivePerl, Bridge, Client, IO::Select, IO::Socket::INET, IP, Netcat, Perl, Pipe, Proxy, Server, TCP, UDP.

Imprint | Usage | Archive | Categories | Feed
Copyright © 2006 by