#$K+ TCP-Tunnel für Windows (16bit)
Dieses Programm ermöglicht es, einen Rechner als "Tunnel" für TCP-Verbindungen zu gebrauchen. Hilfreich, wenn eine Firewall verhindert, daß ein Zweitrechner (z.B. ein Laptop mit Ethernet-Adapter) hinausgelangt. (Dieses Programm muß auf dem Erstrechner installiert werden!)

Beschreibung
Inbetriebnahme
Dialogelemente
Kommandozeile
Fehlermeldungen und bekannte Bugs

Windows-Hilfe FWD.HLP Version 1.0 (11/98)

#$+K Beschreibung
Dieses Programm dient zum Weiterleiten von TCP-Verbindungen (Dateiname FWD=Forwarder). Jedes TCP-basierte Protokoll, z.B. Hypertext Transfer Protocol (HTTP), Simple Mail Transfer Protocol (SMTP) oder Post Office Protocol (POP) kann so auf Rechnern ohne direktem Zugang nutzbar gemacht werden. Vorausgesetzt, man hat einen (Erst-)Rechner verfügbar, der Zugang zu solchen Netzdiensten hat.

Folgende Programme sollten mit TCP-Tunnel laufen:
* WWW-Browser wie Mosaic und "Clones", nur sinnvoll über Proxy
* Mail-Programme wie Eudora, nur sinnvoll mit fester Mailbox
* News-Programme wie Netscape u.ä., nur mit festem News-Server
* FTP-Clients wie WS_FTP, nur Proxy oder einige feste Server mit PASV-Modus
* X-Server (hier muß die Richtung "umgepolt" werden!)

Diese Programme funktionieren damit NICHT:
* Talk-Programme wie WinTalk Pro
* Ping
* NTKILL (WINUKE)

#$+K Inbetriebnahme
Erforderlich:
Erstrechner mit Internet-Zugang: Windows 3.1 oder neuer, 386SX-Prozessor oder höher, Windows Sockets (z.B. Trumpet Winsock oder Microsoft TCP/IP)
Zweitrechner mit eingeschränktem Internet-Zugang: nichts weiter (abgesehen von einem Editor, um ggf. Konfigurationsdateien umzustellen:-)

Installation auf dem Erstrechner:
Nachdem das Archiv ausgepackt wurde, wird ein Icon im Programm-Manager bzw. auf den Desktop oder 
in die Autostartgruppe gelegt sowie danach das Programm konfiguriert.

In der Datei WIN.INI müssen Einträge in folgender Form eingetragen werden, beispielsweise:
[TCP Tunnel]
WWW-Cache=8080 www-cache
TELNET1=23 herkules
TELNET2=1023 sisyphus:23
POP=110 pop2
SMTP=25 pop2
X=6001 <adresse_zweitrechner>:6000
also allgemein:
<beliebiger Name>=<hiesige Portnummer> <zielrechner[:dortige Portnummer]>
Als Protokoll sind z.Z. nur Zahlen erlaubt (hmpf).
Sowohl die Syntax als auch der Speicherort (WIN.INI) kann oder besser wird sich in einer künftigen Version ändern!
Achtung: Änderungen an diesen Einträgen bedürfen z.Z. des Neustarts von FWD.EXE, um wirksam zu werden!

Installation auf dem Zweitrechner:
Da derartig abgeklemmte Zweitrechner auch nicht an Namensinformationen gelangen, muß die Konfiguration dieses per Nummer erfolgen (es sei denn, man pflegt eine "hosts"-Datei; diese befindet sich als "HOSTS.SAM" im Windows-Verzeichnis). Man gibt sich irgendeine freie IP-Adresse (die zur Domain passen muß); Gateway(s) und Nameserver sollten deaktiviert werden, da ohnehin funktionslos.

Beispiel-Konfiguration für Netscape (der Erstrechner habe die IP 134.109.112.3):
HTTP_Proxy	[134.109.112.3]	Port	[8080]
(FTP und GOPHER dito)
Das No_Proxy_For[]-Feld leerlassen!

Das Tunneln von X erfolgt in die Gegenrichtung. Damit der Erstrechner ebenfalls X machen kann, beläßt man das Port 6000 (Display 0) ungenutzt und verwendet Portnummern ab 6001 (Display 1) aufwärts. Dabei ist bei einem Telnet einzugeben:
setenv DISPLAY <erstrechner_name>:1
Die Anzeige erscheint nun auf dem Zweitrechner, vorausgesetzt, dort ist ein X-Server installiert, der auf dem Standardport (Display 0 alias 6000) den Erstrechner akzeptiert (xhost).

Laufenlassen mehrerer FWD gleichzeitig:
Nein, das macht hier wirklich keinen Sinn, da bereits eine Instanz von FWD mehrere Ports und Verbindungen tunneln kann.

Dieses Programm besteht aus:
FWD.EXE	das Programm (z.Z. Version 0.3)
FWD.HLP	diese Hilfedatei (z.Z. Version 1.0)
FWD.TXT	eine unter DOS lesbare Info-Datei

#$+K Dialogelemente
Das Programm ist aus einem Dialog geschnitzt, welches im wesentlichen für den Programmentwickler zusammengestrickt ist (naja, Benutzerfreundlichkeit geht gegen Null).

Nach dem Start muß das Programm
xx TCP Tunnel bereit
melden. (xx=Anzahl der Tunnel).

Folgende Programm-Optionen:
* Umschalten der "Geschwätzigkeit" des Log-Fensters:
  1 = alles,
  2 = alles außer Kleinkram,
  3 = Warnungen und Fehler,
  4 = nur Fehler
  5 = nichts
Bei jeder Meldung werden auch die intern gespeicherten Zusatzmeldungen mit ausgegeben.

* Rücksetzen des Pakete-Zählers (Schalter "0")
* Löschen der Log-Anzeige (Schalter)
* Hilfe (Schalter)
* Verstecken des Fensters (SW_HIDE), Systemmenü
* Dauerhaftes Setzen des Fensters in den Vordergrund (HWND_TOPMOST), Systemmenü
* Programm- und Versions-Information (ABOUT), Systemmenü

#$+K Kommandozeile
-hidden	Verstecken des Fensters
-verbose	Geschwätziges Logfenster
-title xxx	Festlegen eines anderen Fenstertitels als "TCP Tunnel"

#$K+ Fehlermeldungen
Achtung! Dieses Programm ist Super-Gammel-Beta.
Ich habe viel Zeit daran versessen, den Verbindungsabbau hinzubekommen, und habe immer noch kein Patentrezept gefunden. Logischerweise konnte ich mich deshalb noch nicht um etwas mehr Benutzerfreundlichkeit kümmern.

Was das Programm nicht kann:
* OOB-Daten bearbeiten
* Nicht-TCP-Verbindungen tunneln (z.B. UDP, d.h. TALK funktioniert damit leider NICHT)
* mehr als 256 Sockets öffnen (in etwa nur max. 127 Verbindungen in 2 Tunneln zulassen)
* Bearbeiten der Konfiguration (hier muß man selbst Hand anlegen)
* Clients filtern (zulassen oder abweisen): Sicherheits- und Performance-Loch!!

Runtime Error xxx: Wer Borland Pascal installiert hat, kann sich ja auf die Fehlersuche machen :-)