问题如下:我需要代理(嗅探和修改数据包)一个不支持 Windows 上的代理服务器的应用程序。它连接的 IP 地址在应用程序本身中是硬编码的。我只需要修改数据,我不关心 IP 标头。
如果不是因为我绝对不能修改原始应用程序或向其中注入任何代码,这将是一项相当简单的任务。
我需要原始应用程序来连接我的程序,并将我的程序连接到原始服务器,所以我认为简单地将服务器的 IP 重新路由到 localhost(如此处所述)是行不通的,因为那时我的应用程序无法连接到原始服务器服务器。
winpcap 之类的东西也是禁止使用的,因为据我所知,没有选项可以在数据包经过时对其进行修改。
如果可能的话,我想放弃使用 NDIS 驱动程序,因为我需要此设置才能跨多个版本的 Windows 工作,而且我没有办法为所有这些版本编写驱动程序。
我主要在 delphi 中编码,但我不害怕 c++,只是为了澄清为什么标签中没有指定语言。
欢迎任何建议,我希望你有一个美好的一天:)
大卫