在LSP中连接到socks5代理

时间:2017-05-25 07:17:08

标签: c++ sockets winsock

我安装了我的LSP并且运行良好。然后我想在我的LSP中重定向到socks5代理(它主要用于TCP连接)。代理的IP和端口都是正确的。

我意识到我必须专注于WSPConnect功能,所以我劫持了它并首先执行我自己的ProxyConnect功能。但是当我调用较低提供者的lpWSPConnect函数来连接代理服务器时,我发现它总是失败。

g_NextProcTable.lpWSPConnect(s, (sockaddr*)&serveraddr, sizeof(sockaddr), &DataBuf, lpCalleeData, lpSQOS, lpGQOS, &err);

然后,我注意到也调用了WSPAsyncSelect函数和WSPSelect函数。

我认为我应该小心处理这两个,否则应用程序无法连接到代理服务器,因为应用程序的套接字可能是异步的。但我不知道如何处理。我会很感激任何想法。感谢...

1 个答案:

答案 0 :(得分:0)

写入lsp:

1:wspasyncSelect和eventselect,记住params;

2:在连接之前:清除事件(async和eventselect);使用wspioctl设置套接字进入阻塞模式;

3:使用rfc 1928规则连接到socks5服务器

4:将事件(async和eventSelect)重置为套接字