2011-02-25 44 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

我最終編寫了一個程序來偵聽服務器發送到的端口。然後,我將所有數據發送到主服務器,並更改所需的值。當主服務器迴應時,我將這些數據發送回客戶端應用程序。服務器或客戶端應用程序也不知道中間有服務器正在更改數據。

感謝您的回覆!