2010-11-24 5 views
0

Est-il possible de modifier le socket de destination (IP et port) des paquets sortants à l'aide de LSP (Layered Service Provider) dans Windows? Par exemple, je souhaite rediriger tous les paquets HTTP vers un serveur proxy (IP/port donné). De cette façon, je peux créer un proxy "pour l'ensemble du système" pour Windows.Changement de socket dans LSP

J'ai essayé d'inclure un appel à WSPSendTo à l'intérieur de la fonction WSPSend pour effectuer la redirection. Ces deux fonctions prennent les mêmes paramètres sauf que WSPSendTo prend deux paramètres supplémentaires (const struct sockaddr FAR * et int).

Le problème est que le trafic n'a pas été dirigé vers le proxy spécifié dans le code. J'ai vérifié cela en utilisant wireshark!

Répondre

2

Vous ne pouvez pas changer la destination d'un socket TCP une fois qu'il a été connecté, c'est pourquoi l'appel WSPSendTo (avec le code non nul lpTo) n'a aucun effet. Vous devriez plutôt regarder WSPConnect.