2014-04-04 38 views
0

我是本網站的新用戶。在數據重定向期間維護源ip

這是我的問題:我有3個不同的來源(IP:192.168.1.1,192.168.1.2和192.168.1.3),它們將數據(通過UDP)發送到偵聽端口上的單個接收器(IP 192.168.1.4) 8900(每個來源都有相同的端口)。我可以在接收器上的3個不同的偵聽端口(每個源爲192.168.1.1 - >端口8910,192.168.1.2 - > 8920和192.168.1.3 - > 8930)重定向流量,3個進程正在偵聽那些港口。 如果我在傳輸過程中丟失了一個數據包,應該收到此數據包的進程嘗試向發送方發送重發請求,而發送方不是本地主機而是原始發送方。 有沒有辦法在重定向期間維護IP?

對不起,我的英語不好,謝謝你的幫助。

回答

0

getsockopt(...,SO_ORIGINAL_DST)是你在找什麼。 (假設你做過iptables -j REDIRECT或類似的)

+0

我在c#中創建一個腳本來重定向端口上的數據。我在端口8900和3套接字上創建了一個udp偵聽器,以將流量重定向到3個進程。我無法使用iptables(3個進程在不允許iptables使用的cygwin shell上運行)。 感謝您的回答。 – user3497242

+0

在這種情況下,您在'重定向'腳本中丟失了組織源IP。 – keidii