2010-11-24 11 views
0

Ist es möglich, den Ziel-Socket (IP und Port) der ausgehenden Pakete mit LSP (Layered Service Provider) in Windows zu ändern?Socket-Wechsel in LSP

Zum Beispiel möchte ich alle HTTP-Pakete an einen Proxy-Server umleiten (gegeben IP/Port). Auf diese Weise kann ich einen "systemweiten" Proxy für Windows erstellen.

Ich habe versucht, einen Anruf an WSPSendTo innerhalb der Funktion WSPSend, um die Umleitung zu tun. Diese beiden Funktionen nehmen die gleichen Parameter an, mit der Ausnahme, dass WSPSendTo zwei weitere Parameter benötigt (const struct sockaddr FAR * und int).

Das Problem besteht darin, dass der Datenverkehr nicht an den im Code angegebenen Proxy geleitet wurde. Ich habe dies mit Wireshark verifiziert!

Antwort

2

Sie können das Ziel eines TCP-Sockets nicht ändern, nachdem es einmal verbunden wurde, weshalb der Aufruf WSPSendTo (mit nicht NULL lpTo) keine Wirkung hat. Sie sollten stattdessen WSPConnect betrachten.