提示未实现该功能的应用程序

时间:2013-07-18 22:33:59

标签: windows proxy winsock

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

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

我需要原始应用程序将我的程序和我的程序连接到orignal服务器,所以我认为简单地将服务器的IP重新路由到localhost(如所描述的here)将不起作用,因为那时我的应用程序无法连接到原始服务器。

像winpcap这样的东西也是禁止的,因为从我收集的内容来看,没有选项可以随时修改数据包。

如果有可能我想放弃使用NDIS驱动程序,因为我需要这个设置来处理多个版本的Windows,而我没有办法为所有这些驱动程序编写驱动程序。

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

欢迎任何建议,我希望你度过愉快的一天:)

大卫

1 个答案:

答案 0 :(得分:3)

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

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