我有一个游戏客户端。 连接到这个游戏。 我试图build立一个套接字服务器,拦截到游戏服务器的所有stream量(游戏运行通过使用套接字)
我的问题是,我需要redirect我的计算机使游戏服务器的IP +端口到127.0.0.1的所有stream量,使其连接到我自己做的第一个套接字服务器。
我知道我可以使用Windows主机文件,但这将redirect所有stream量。 我只想要1个端口redirect(具有TCP通信的端口)如果HTTP通信也被redirect,它会毁掉所有的东西。
我使用的是Windows 7编程语言是java。
您可以使用分层服务提供程序(LSP)执行此操作。 你需要做的就是拦截那个进行连接的操作,然后改变目标IP地址(也可能是端口)。 您可能还需要拦截操作以获取远程套接字地址,以使其与应用程序所期望的一致,但这不太可能。 应用程序通常不会检查它们启动的TCP连接的远程地址。
更简单的方法是挂接应用程序所做的WSAConnect调用,并直接更改目标IP地址。 你可以通过多种方式来做到这一点。 例如,您可以使用Microsoft Detours 。 你也可以给应用程序自己的Winsock DLL,将操作转发到正常的。 还有很多其他的API拦截方法。