2011-02-25 27 views
-1

读取,更改和重新发送UDP通信的最佳方式是什么?更改传入和传出UDP通信

例如,我有一个服务器应用程序,告诉主服务器它是活着的通过UDP端口3209发送一个数据包。它发出“我活着,我的IP是xxx.xxx.xxx.xxx,我目前3个客户连接到我。“主服务器然后回应,“你好xxx.xxx.xxx.xxx我在那里见你。”

什么是服务器将数据包发送到主服务器的MITM(Man In The Middle)的最佳方式?我希望能够改变“我还活着”,像“我改变了”,甚至“当前有3个客户端连接”到“当前0个客户端连接”

当试图制作新的UdpClient到服务器上的端口我得到一个“每个套接字地址(协议/网络地址/端口)通常只允许使用一个”例外。

+0

可以这样做吗? – ranman 2011-02-25 09:47:59

+0

像中间人还是什么? – steveoh 2011-02-25 09:51:05

+0

这个问题的框架令人困惑 - 你问 - 第三方是否可以拦截一个用于另一个网络地址的UDP数据包,修改它,然后重新发送它。或者你问我可以创建一个服务器,我的客户端将数据发送到可以修改并发送数据到另一台服务器。或者完全不同的东西? – stephbu 2011-02-25 09:52:02

回答

0

您的意思是packet analysis

+0

像这样,但我想能够编辑客户端发送后发送的内容。 – E3pO 2011-02-25 09:52:27

+1

您可以使用Ettercap编辑消息:http://en.wikipedia.org/wiki/Ettercap_(computing) – 2011-02-25 10:03:19

0

你应该做两两件事:

  1. 发现真正的协议 服务器间的通信。它们是 通过UDP通信,但 结构的数据传输不是 网络协议。你应该 发现数据结构转移服务器

  2. 决定至极侧你要 与包之间的操作 。如果你在 服务器端之一,你可以 写入过滤器驱动程序将是 更改数据之前它将 发送或将在 接收应用程序。如果你不 在serber侧我不kwnow 热拦截网络数据包

0

UDP没有集成安全和不定向,以便在这种情况下,这将是更容易连接。

您可以伪造IP数据包中的源IP(这样做没有实际问题),只需嗅探发送到真实IP服务器的UDP数据包。这里的主要问题是避免主服务器从真实客户端接收真实数据包。为此,你将不得不篡改路由方案,这是不是很容易做...

0

我最终编写了一个程序来侦听服务器发送到的端口。然后,我将所有数据发送到主服务器,并更改所需的值。当主服务器回应时,我将这些数据发送回客户端应用程序。服务器或客户端应用程序也不知道中间有服务器正在更改数据。

感谢您的回复!