生活从另一台计算机编辑数据包的最佳途径

我想研究一些MMORPG的协议(我是一名游戏程序员),但他们都使用“hackshielding软件”,这使得我不能从他们正在运行的计算机上做很多事情。

我想知道如何通过我的局域网中的另一台计算机使我的计算机的连接路由,以便我可以编辑数据包。 我想到ARP中毒我的机器,但我不知道我真的可以编辑来自ARP毒物攻击的数据包。

从Wireshark中我可以看出,我的操作系统(Windows XP)正在将数据包重新路由到我的网关,所以我不知道是否真的有办法编辑它们(如果有人知道是否可以使用Windows过滤平台完成,我很高兴知道)。

另一种可能是手动将其他计算机设置为第一个网关,但是我不知道如何使它实际上像“网关”(即将数据包路由到实际的网关)。

有人可以帮我吗? 对不起,我确定这一切看起来真是新手。 这是因为networking真的不在我的“知识领域”。

谢谢。

如果它有一个免费的以太网端口,您可以轻松地在第二台计算机上configuration互联网连接共享 。 它将作为您的第一个网关。

那么,我认为对数据包进行“实时修改”并不是什么大问题,但是我想大多数甚至所有的游戏都会以这种或那种formsencryption他们的stream量,这使得篡改数据变得更加困难。 这留下了最大的问题:服务条款将明确地禁止你想要做的事情,并且你可以确定在BLizzard和Co.有大量的团队在寻找像你这样的人会先暂停你的账户,如果以后再问问题如果他们发现一些可疑的事情。

SvenW已经提出了法律免责声明,所以我会给你的怀疑的好处,并假设你已经给予适当的考虑。 我不build议在真正的商业游戏服务器上真正做到以下几点。

解决schemeA – 大多数透明代理

  1. 在python / perl / whatever中编写一个轻量级的TCP代理服务器。 尽可能透明地开始,但也许实现一些简单的日志logging,以便您可以看到什么是通过。
  2. 用其他简单的协议如Telnet或HTTP进行testing。
  3. 欺骗你的游戏客户端连接到你的代理,而不是真正的游戏服务器,通过劫持客户端计算机的主机文件中的游戏服务器DNS。
  4. 如果游戏有效,那么你已经成功地为自己设置了一个中间人的场景。
  5. 慢慢地将代码和逻辑添加到代理服务器,以便在数据通过时对其进行压缩。 再次尝试使用游戏协议testing简单的协议。

这个解决scheme设置起来非常简单,但游戏客户端很可能会尝试检测这种情况。 如果不知道它是如何检测的,那么在你走得太远之前,你很容易被禁止。

解决schemeB – 非常透明的代理

与上面类似,但稍微复杂一点。

不要使用客户端计算机上的主机文件,而要创build一个网关计算机(使用两个以太网端口)。 我会使用* BSD,这样我可以使用PF透明地将某些types的数据包redirect到我的代理服务器。 这具有在运行游戏客户端的计算机上不需要任何exceptionconfiguration的优点,因此对于客户端来说几乎不可能确定存在中间人(man-in-the-middle)的情况。