LSP 中的套接字更改
是否可以使用 Windows 中的 LSP(分层服务提供程序)更改传出数据包的目标套接字(IP 和端口)?
例如,我想将所有 HTTP 数据包重定向到代理服务器(给定 IP/端口)。这样我就可以为 Windows 创建“系统范围”代理。
我尝试在函数 WSPSend
中包含对 WSPSendTo
的调用来执行重定向。这两个函数采用相同的参数,只是 WSPSendTo
还采用两个参数(const struct sockaddr FAR *
和 int
)。
问题是流量没有定向到代码中指定的代理。我用wireshark验证了这一点!
Is it possible to change the destination socket (IP and port) of the outgoing packets using LSP (Layered Service Provider) in Windows?
For example, I want to redirect all HTTP packets to a proxy server (given IP/port). This way I can create "system-wide" proxy for Windows.
I tried to include a call to WSPSendTo
inside the function WSPSend
to do the redirection. These two functions take the same parameters except that WSPSendTo
takes two more parameters (const struct sockaddr FAR *
, and int
).
The problem is that the traffic has not been directed to the proxy specified in the code. I verified this using wireshark!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
TCP 套接字一旦连接就无法更改其目标,这就是为什么调用
WSPSendTo
(使用非 NULLlpTo
)无效的原因。您应该改为查看WSPConnect
。You can't change the destination of a TCP socket once it has been connected, which is why calling
WSPSendTo
(with non NULLlpTo
) has no effect. You should look atWSPConnect
instead.