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