我有个游戏客户。连接到这个游戏。我正在尝试设置一个套接字服务器,它拦截到游戏服务器的所有通信量(游戏通过使用套接字运行)
我的问题是,我需要将我的计算机所做的所有流量重定向到游戏服务器ip +端口到127.0.0.1,以使它连接到我自己先做的套接字服务器。
我知道我可以使用windows主机文件,但这会重定向所有通信量。如果HTTP流量也被重定向,我只想要一个端口重定向(具有TCP流量的端口),它破坏了一切。
我使用的是windows 7,编程语言是java。
发布于 2012-04-17 00:51:54
您可以使用分层服务提供者(LSP)来完成这一任务。您需要做的是拦截进行连接的操作,并更改目标IP地址(可能还有端口)。您可能还需要拦截操作才能获得远程套接字地址,以使其与应用程序所期望的一致,但这不太可能。应用程序通常不检查它们启动的TCP连接的远程地址。
一种更简单的方法是将应用程序进行的WSAConnect调用挂钩,并直接更改目标IP地址。你可以有很多种方法。例如,您可以使用Microsoft Detours。您还可以为应用程序提供您自己的Winsock DLL,该DLL将操作转发给常规的操作。还有许多其他API拦截方法。
https://serverfault.com/questions/380131
复制相似问题