mac80211內核模塊實現了對802.11協議的處理過程。其中mlme.c文件中的內容實現了對Deauth管理幀的處理。考慮到Deauth攻擊至今仍沒有好的防護方法(聽說有802.11w,但是我一直沒見到應用他的設備,爲何?求解),aireplay-ng工具仍然能夠很輕鬆的Deauth客戶下線,因此想修改客戶端的內核源碼來防止對客戶端的Deauth。(針對AP則須要對AP進行修改)html
方法簡記以下:函數
1. 要編譯內核模塊,須要下載操做系統源碼並編譯make;工具
2. 找到/net/mac80211/mlme.c 修改處理Deauth的部分以下圖:操作系統
這裏修改的可能會有問題,cfg80211_rx_mlme_mgmt這個函數沒仔細看。htm
2.回到內核源碼主目錄,make modules , make modules_installblog
3.reboot開發
注意:get
這裏主要記錄修改方法,修改內核要慎重。源碼
內核編譯make menuconfig時要注意選擇須要的驅動安裝。編譯方法參考文獻1,內核源碼下載參考文獻2.編譯
參考文獻:
1.《Linux驅動開發入門與實戰》