2012-10-27 80 views

回答

1

簡短的回答是肯定的。下面是一個較長...

我知道,對於一個無線網卡的正常混雜模式運行,你不要以爲能夠與網絡

互動,我不知道你在哪裏得到了這些知識,但上述說法是錯誤的。混雜模式並不限制您可以做什麼以及如何與網絡互動。默認情況下,網絡接口卡只是試圖減少傳遞給主機的數據量,以提高效率。例如,如果NIC的目標MAC地址與接收媒體訪問控制器的地址不匹配,NIC就不會將以太網幀傳遞給主機。混雜模式所做的唯一事情就是告訴設備將其獲得的所有內容都傳遞給主機,無論是否爲主機尋址。換句話說,無論您在正常操作模式下使用網卡,您都可以在混雜模式下進行操作。此外,網卡不再爲您過濾任何東西,因此您可以接收更多(只要主機可以處理負載)。

但是有可能用原始套接字來做到這一點嗎?

是的,這是可能的。只要您有足夠的權限,您就可以使用「原始」套接字API從用戶空間發送和接收以太網幀。設備是否處於混雜模式並沒有什麼區別。

還要注意,現在路由器非常智能,即使將主機的NIC置於混雜模式,它們也不會將數據包轉發到主機。因此,在正確的網絡中,您不可能收到任何實際上不適用於您的主機的內容,混雜模式也不會有任何改變。

如果有幫助,here是一個簡單的例子,用於通過以太網與PC連接的FPGA板交換自定義數據包。它使用原始套接字API並在Linux上的用戶空間中運行。

+0

謝謝,這實際上是一個程序,將在無線網絡或類似環境的任何集線器上實施。所以我並不擔心這是一個問題。 –