更改传入和传出UDP通信

时间:2011-02-25 09:47:01

标签: c# udp packet

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

例如,我有一个服务器应用程序告诉主服务器它正在通过端口3209上的UDP发送数据包。它发出“我还活着,我的ip是xxx.xxx.xxx.xxx而我目前有3个客户与我联系。“然后主服务器响应,“Hello xxx.xxx.xxx.xxx我在那里见到你。”

服务器将数据包发送到主服务器的MITM(中间人)的最佳方式是什么?我希望能够将“我活着”更改为“我已经改变”,甚至“当前3个客户连接”到“当前0个连接的客户”

当尝试将新的UdpClient创建到服务器所在的端口时,我得到“通常只允许使用每个套接字地址(协议/网络地址/端口)”异常。

4 个答案:

答案 0 :(得分:0)

你的意思是packet analysis

答案 1 :(得分:0)

你应该做两件事:

  1. 发现真正的协议 交流沟通。他们是 通过UDP通信但结构 转移的数据不是 网络协议。你应该 发现数据结构 在服务器之间转移

  2. 决定你要去哪一方 用数据包操作。如果你在 其中一个服务器端,你可以 写过滤器驱动程序将是 在它之前改变数据 发送或之前发送 通过申请接收。如果你是 不是在serber方面我不会kwnow hot to intercept network packets

答案 2 :(得分:0)

UDP没有集成安全性,也没有面向连接,所以在这种情况下会更容易。

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

答案 3 :(得分:0)

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

感谢所有回复!