Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#1

Socks4 - Mehrfachverbindungslogikproblem ^^

  Alt 3. Okt 2009, 21:41
Hallöchen liebe Leute

Ich habe eine Frage zu dem sogenannten "Handshake" bei einer Socks4 Verbindung. Die Frage liegt nicht genau bei einer normalen Connection, sondern viel eher darin, wie das ganze funktioniert, wenn mehrere Socks4 Server hintereinander geschaltet werden.

Ich habe beim Internet Explorer den Proxy eingeschaltet und als Daten die lokale IP angegeben
dh. dieser verbindet sich mit meiner Applikation - welches auch wunderbar funktioniert.
Der Browser schickt zuert den Header, der so aussieht:
Delphi-Quellcode:
  TSocks4Header = record
    Version: Byte; // 0x04 -> SOCKS4
    Command: Byte; // 0x01 = stream connection; 0x02 port binding
    Port: Word; // in network byteorder
    IP: DWord; // in network byteorder
    UserID: Array[0..63] of Char; // zer0 terminated
  end;
Bei der Anfrage enthält Command den Wert 1. Meine Applikation verbindet sich dann nun zu dieser IP Adresse und antwortet dem Browser je nachdem, obs erfolgreich war.
Ab diesem Punkt - Handshake ist abgeschlossen - werden nun die Daten (Anfrage vom Browser) gesendet. Diese empfängt meine Applikation und leitet sie an die Wunsch IP und von dieser empfängt es anschließend eine Antwort, die an den Browser geschickt wird.

So nun die konkrete Frage: Wie schalte ich nun - sagen wir - vier weitere Socks4 Server dazwischen?

Ich hab mir anfangs gedacht, nachdem der Handshake erfolgreich durchgeführt wurde, schicke ich einen Socks4 Header Stream, das ich vorher zusammengesetzt habe.
Nur dürfte das nicht funktionieren, da beim Handshake nur 1 Header ankommt bzw erst nach dem Handshake die Daten an die Wunsch IP weitergeleitet werden.

Ich bin iwie aussichtslos
Im Internet hab ich nur ein Forum gefunden, nur wurde es dort auch nicht beantwortet und extra anmelden wollt ich mich nun auch nicht..

Ich hoffe, mir kann irgendeiner helfen. Und versucht bitte so genau wie möglich zu sein.
Danke schon im voraus.

MfG
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat