windows - 如何强制特定进程使用代理进行网络通信

标签 windows process proxy http-proxy

有几个程序像Proxifier可以强制 exe 使用代理。还有其他一些。但是这些网站看起来都有点阴暗。我什至不相信 Proxifier tbh...所以我想知道这些程序是如何工作的。他们是怎么做到的呢?是否有可用于执行此操作的 WinAPI 函数?或者您是否必须实际将代码注入(inject)流程?

我只能找到更改 windows 全局代理的函数。但是有些程序不关心全局代理说什么,他们总是尝试直接连接,即使这是不可能的......

最佳答案

Proxifier 基于 LSP (layered service provider) ,但我个人从来不喜欢这项技术,因为经常出现稳定性问题。但是,除了 LSP 之外,还有其他适合实现相同功能的可能方法,您可以在此处找到网络过滤方法(包括 LSP)的简短介绍:https://www.ntkernel.com/ndis-hooking-drivers-and-legacy-windows-systems/ ,但是该文档有点过时了,我是在 Windows XP 早期黎明时写的,它没有涵盖取代 TDI 的 WFP(Windows 过滤平台)和取代 NDIS Intermediate 的 NDIS Lightweight Filter和 NDIS Hook 驱动程序。这两种技术都是由 Windows Vista 和 NDIS 6.0 引入的。

关于windows - 如何强制特定进程使用代理进行网络通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34637396/

相关文章:

django - Django 中非常独立的数据库中的 "Foreign Keys"

正则表达式删除文件扩展名后的字符串

Android:保持后台服务活着(防止进程死亡)

linux - 进程处于轮询状态?

c++ - 如何在 Emacs 中终止正在运行的进程

eclipse - 如何配置代理设置以便 Eclipse 可以下载新插件?

java - 如何使用selenium,java下载文件

windows - 从忽略读取错误的光学介质恢复

c - 如果将已分配的内存块分割成更小的 block ,我还需要担心内存对齐吗?

c++ - mingw 构建错误 : undefined reference to `__chkstk_ms'