![]() |
Socks4 - Mehrfachverbindungslogikproblem ^^
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:
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.
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; 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 |
Re: Socks4 - Mehrfachverbindungslogikproblem ^^
OK ich glaube ich habe die Lösung
Code:
Immer wieder schön, wenn man seine Probleme selbst lösen kann.
Legende:
IE - Internet Explorer ME - Meine Applikation P1 - Server 1 P2 - Server 2 PN - Server N H - Host Verbindungskette: IE <-> ME <-> P1 <-> P2 <-> ... <-> PN <-> H Lösung zum Verbindungsaufbauproblem: 1. IE schickt ME den Socks4 Header mit der IP = Host 2. ME schickt nun seinerseits einen neuen Socks4 Header mit IP = P2 an P1 3. ME schickt anschließend einen weiteren Socks4 Header mit IP = PN an P1 -> dieser leitet es an P2 und dieser baut nun die Verbindung zu ..PN auf. 4. ME schickt letztendlich den letzten Socks4 Header mi IP = Host an P1 -> der leitet es weiter an P2 - und der wiederum -> PN = nun ist die Kette vollständig 5. Jetzt werden die Daten geschickt Trotzdem danke an die 46, die diesen Thread gelesen haben. MfG |
Re: Socks4 - Mehrfachverbindungslogikproblem ^^
Zitat:
Liebe Grüße, Valle |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz