如何將 udp 封包傳送到不同的主機

如何將 udp 封包傳送到不同的主機

我想將傳入的 UDP 封包克隆到不同的主機上,我找到了一種方法來做到這一點這裡 但我無法在 centos 5.3 上建置 xtables-addons 。

還有其他方法來發送 upd 封包嗎?

答案1

http://www.bjou.de/blog/2008/05/howto-copyteeclone-network-traffic-using-iptables/

或者http://www.netfilter.org/projects/patch-o-matic/pom-external.html

iptables -A PREROUTING -t mangle -p udp --dport 7 -j ROUTE --gw 1.2.3.4 --tee
iptables -A POSTROUTING -t mangle -p udp --sport 7 -j ROUTE --gw 1.2.3.4 --tee

答案2

我們在 Ubuntu 12.04 上使用 3.2.0 內核,這個 iptables 規則就成功了(無需修補!):

sudo iptables -t mangle -A PREROUTING  -p udp --dport 60000 -j TEE --gateway 172.16.3.12

這會將傳入的封包複製到 UDP 連接埠 60000 到 中設定的 IP --gateway。請考慮到網關應該位於同一網路中,如果不是,則規則將不起作用,除非您在網路之間的路由器中執行類似的操作。

我想知道是否有一種方法可以將該網絡流遍歷到另一個網絡,也許是 NAT,但我們還沒有測試過。

答案3

我剛發現採樣器這似乎也是這樣做的。

相關內容