我在TCP上制作了一个简单的即时消息聊天客户端和服务器,它们都是在Adobe上运行的。它工作得很好,是学习基本网络编程的一个有趣的方法。
我的问题是:在聊天服务器到达客户端之前,是否可以更改从聊天服务器发送的数据包中的数据,而无需使用服务器或客户端?就像一个程序?
我是网络编程新手,所以如果这是个愚蠢的问题,我很抱歉。
发布于 2017-10-26 18:19:59
你的问题很广泛。所以答案也很宽泛。是。这是可能的。
为此,您需要在客户端和服务器之间获取数据包,以通过第三个程序。要做到这一点,有很多种方法。以下是非详尽的清单:
首先,在您自己的计算机(客户机/服务器)上,您可以使用各种低级API从操作系统访问数据包。例如,Linux中的iptables+nfqueue或Windows环境下的Windows过滤平台。
其次,您可以通过有意让数据包通过某些代理程序进行通信来访问数据包,这些代理程序可能驻留在与客户端或服务器相同的服务器上,也可能不在同一服务器上。
第三,您可以通过从网络本身获取数据包来访问数据包。例如,您可以将某些Linux机器设置为路由器,并让它位于客户机和服务器之间(只要它们不在同一台计算机上)。Linux机器现在可以访问通过它的所有数据包,并且可以使用前面提到的nfqueue之类的钩子将它们传递给各种用户空间程序。
https://stackoverflow.com/questions/46960711
复制相似问题