後,我有3個主持人:客戶改變源MAC地址分配給客戶B,當發送數據包,但客戶端B的模塊不能接收數據包服務器發送
客戶端A
客戶端B
服務器。
我有以下測試場景:
客戶端A發送原始數據包到服務器(改變源MAC地址分配給客戶B的)
服務器應答這個包(我使用tcpdump的,以確保服務器已回答這個包)
客戶端B安裝了一個在netfilter預路由上註冊掛鉤功能的模塊,但沒有任何東西能夠被感染。
有人知道爲什麼客戶端B的hook函數什麼都收不到?
Thx!
後,我有3個主持人:客戶改變源MAC地址分配給客戶B,當發送數據包,但客戶端B的模塊不能接收數據包服務器發送
客戶端A
客戶端B
服務器。
我有以下測試場景:
客戶端A發送原始數據包到服務器(改變源MAC地址分配給客戶B的)
服務器應答這個包(我使用tcpdump的,以確保服務器已回答這個包)
客戶端B安裝了一個在netfilter預路由上註冊掛鉤功能的模塊,但沒有任何東西能夠被感染。
有人知道爲什麼客戶端B的hook函數什麼都收不到?
Thx!
很可能是因爲您的交換機在客戶端A的端口上看到了客戶端B的MAC地址,並且記住了這一點。它將因此將以太網端口上的回覆發送到客戶端A,而不是發送到客戶端B的erhernet端口。
這似乎是一個網絡問題,而不是編程問題。因此,這個問題在另一個論壇上可能更合適。
服務器端有一個ARP緩存,可能它已經包含主機A和主機A的原始MAC之間的關聯(我猜這個關聯在客戶端A與服務器建立連接時出現)。
arp -n
將顯示ARP表的內容。 每個ARP表項都有一些到期超時。當它到期時,服務器通過向本地網絡中的所有主機發送ARP who-has請求來嘗試刷新過期條目。因此,只有主機A的緩存條目到期後,服務器纔會吸收更新的信息。
ARP與此無關,OP正在生成原始以太網數據包。 –