【发布时间】:2016-04-10 19:05:27
【问题描述】:
有一些程序,例如Proxifier,可以强制 exe 使用代理。还有一些其他的。但是这些网站看起来都有些阴暗。我什至不信任 Proxifier tbh...所以我想知道这些程序是如何工作的。他们是怎么做到的呢?是否有可用于执行此操作的 WinAPI 函数?还是您必须将代码实际注入进程?
我只能找到更改 windows 全局代理的函数。但是有些程序并不关心全局代理说什么,他们总是尝试直接连接,即使不可能……
【问题讨论】:
-
我认为您会使用 NDIS 过滤器驱动程序来处理这类事情。但我不熟悉这项技术。
-
我知道wireshark 使用了一些在驱动程序级别上工作的技术。它能够捕获我 PC 上的所有网络流量,但它太低级了,无法知道哪个进程发送了哪个数据包。所以我认为你的建议行不通。
-
为什么你需要知道哪个进程发送了一个数据包? (但我怀疑你可以,如果你需要的话;数据包的源端口不是唯一标识它来自的进程吗?)
-
这很重要,因为我还能如何通过代理强制单个进程流量?我的意思是我没有要求让整个系统使用代理的方法。很喜欢portidea的进程识别,之前没想过。
-
如果您对两个代理不满意(可能会遇到各种问题),请查看link BadVPN。它似乎具有与 proxifier 相同的功能,但这是开源的并且在 github 上。
标签: windows process proxy http-proxy