我可以在服务器到达客户端之前编辑数据包吗?

时间:2017-10-26 17:47:28

标签: actionscript-3 networking air adobe packet-capture

我在TCP上创建了一个简单的即时消息聊天客户端和服务器,它们都运行Adobe AIR。它工作得很好,这是学习基本网络编程的一种有趣方式。

我的问题:是否可以在聊天服务器到达客户端之前更改数据包中的数据,而无需使用服务器或客户端来执行此操作?或许像一个程序?

我是网络编程的新手,所以如果这是一个愚蠢的问题我会道歉。

1 个答案:

答案 0 :(得分:2)

你的问题很广泛。所以答案也很广泛。是。这是可能的。

为此,您需要在客户端和服务器之间获取数据包以通过第三个程序。有很多方法可以实现这一目标。这是非详尽的清单:

首先,在您自己的计算机(客户端/服务器)上,您可以使用各种低级API从操作系统访问数据包。例如iptables+nfqueue in LinuxWindows Filtering Platform on Windows

其次,您可以通过故意让他们通过某些proxy program进行通信来访问数据包,这些The docs可能与客户端或服务器位于同一服务器上,也可能不存在。

第三,您可以通过从网络本身获取数据包来访问数据包。例如,您可以将某台Linux计算机设置为路由器并将其置于客户端和服务器之间(只要它们不在同一台计算机上)。 Linux机器现在可以访问通过它的所有数据包,并且它可以使用诸如前面提到的nfqueue之类的钩子将它们传递给各种用户空间程序。