我想使用實體 TAP 設備嗅探從電腦 A -> B 流向連接埠 4500 的 UDP 封包,並在電腦 C 的本機連接埠上接收嗅探到的封包(請參閱圖片)。
關於TAP 設備:這是放置在A 和B 之間的實體設備。是仍然發送給 B,因為 TAP 沒有進行修改)
我的目標是在客戶端程式(如netcat
.
問題顯然,在 C 的 NIC 處收到的套件不是針對 C 的,因此這些套件在接近 OSi 模型的應用程式層之前就被丟棄了。
我已經嘗試過使用nftables
重定向包,但不知何故我的 netcat 仍然沒有收到訊息。有人可以幫助我解決我做錯的事情,或是建議解決這個問題的最佳方法是什麼?
nft 'add chain nat udpredirect { type nat hook prerouting priority -101 ; policy accept ; }'
nft 'add rule ip nat PREROUTING udp dport 4500 redirect'
答案1
答案在這裡:https://serverfault.com/a/1125704/570881
在核心刪除套件之前,必須儘早使用 netdev 系列來修改套件。