【问题标题】:Proxifying an application that doesn't implement that feature代理未实现该功能的应用程序
【发布时间】:2013-07-18 22:33:59
【问题描述】:

问题如下: 我需要代理(嗅探和修改数据包)一个不支持 Windows 上的代理服务器的应用程序。它连接的 IP 地址在应用程序本身中是硬编码的。我只需要修改数据,我不关心IP头。

如果不是因为我绝对不能修改原始应用程序或向其中注入任何代码,这将是一项相当简单的任务。

我需要原始应用程序来连接我的程序,并将我的程序连接到原始服务器,所以我认为简单地将服务器的 IP 重新路由到 localhost(如 here 所描述的那样)是行不通的,因为这样我的应用程序就可以了t 连接到原始服务器。

像 winpcap 之类的东西也是禁止使用的,因为据我所知,没有选项可以在数据包经过时对其进行修改。

如果可能的话,我想放弃使用 NDIS 驱动程序,因为我需要此设置才能在多个版本的 Windows 上工作,而且我没有办法为所有这些版本编写驱动程序。

我主要是在delphi中编码,但我并不害怕c++,只是为了澄清为什么标签中没有指定语言。

欢迎提出任何建议,希望您有愉快的一天:)

大卫

【问题讨论】:

    标签: windows proxy winsock


    【解决方案1】:

    您可以使用我的WinDivert 项目来执行此操作。与 WinPCAP 不同,WinDivert 可以修改数据包,这正是你想要的。主要缺点是不支持WinXP。

    有关使用 WinDivert 将流量重定向到代理服务器的示例,请参阅here。这透明地将 Web 流量重定向到代理服务器,在本例中为 Privoxy+Tor。这样做不会以任何方式修改 Web 浏览器的代码或配置。也就是说,Web 浏览器看到的是普通的 Internet 连接(尽管由于 Tor 的缘故,速度有点慢)。

    【讨论】:

    • 这看起来不错,我会玩的。但是,如果有一种方法可以在 winxp 上完成,那就太好了,所以我将把这个问题留着:)
    • 对于 WinXP,你可以试试 WinPkFilter。
    猜你喜欢
    • 1970-01-01
    • 2017-09-30
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 2021-12-20
    • 2015-06-13
    相关资源
    最近更新 更多