您好,登錄后才能下訂單哦!
折磨了自己一周多,供遇到同樣問題的朋友們參考。
一般有兩種方法在kali linux下建立軟AP,一是使用airbase-ng,優點是運行方便,適應網卡的范圍比較廣,比如常見的rtl8187的網卡,局限是只能建立OPN和WEP加密的,不支持WPA和WPA2加密。二是通過hostapd,支持OPN、WEP、WPA、WPA2等多種加密方式,但支持的網卡有限。
之前我手上有rtl8187的網卡,一直把它當作神器,后來發現完全是被誤導了,不僅信號一般,且支持的模式相當有限,最關鍵是不支持hostapd建立WPA加密的AP。用iw list命令可以看到rtl8187網卡支持的模式:
iw list … Supported interface modes: * IBSS * managed * monitor
一陣google后,在某電商那淘了一塊rt3070芯片的,價格便宜、童叟無欺,支持b/g/n(rtl8187僅支持b/g),標配雙6dBi增益天線,iw list看一下,瞬間發現這泥馬才是真正的神器啊!(強烈推薦!!)
Supported interface modes: * IBSS * managed * AP * AP/VLAN * WDS * monitor * mesh point
關鍵就是其中顯示的AP,這說明網卡支持軟AP模式。下面進入正題,我在用kali linux自帶的hostapd建立WPA2加密的AP后,終端連接時總是顯示無法正常握手的錯誤:
注意紅色標的錯誤信息,主要就是:
wlan2: STA xx:xx:xx:xx:xx:xx IEEE 802.11: did not acknowledge authentication response mgmt::assoc_resp cb wlan2: STA xx:xx:xx:xx:xx:xx IEEE 802.11: did not acknowledge association response Data/PS-poll frame from not associated STA xx:xx:xx:xx:xx:xx
接下來,為了解決這個問題,我在網上搜了無數中文和鳥語網頁,嘗試了各路方法。比如,刪除系統自帶的hostapd,下載源碼直接編譯。不過git clone下載的源碼在我機器上始終無法編譯通過,直接下載官方網站提供的tar.gz源碼包,雖然可以編譯通過,但運行出錯。
卡在這里很長時間,不過有個別網站說到也遇到這個問題,并通過修改源代碼后再編譯可以解決。修改方法是,在源代碼src/ap/ieee802_11.c中將兩處return注釋掉,如下:
if (!ok) { hostapd_logger(hapd, mgmt->da, HOSTAPD_MODULE_IEEE80211, HOSTAPD_LEVEL_NOTICE, "did not acknowledge authentication response"); //return; } if (!ok) { hostapd_logger(hapd, mgmt->da, HOSTAPD_MODULE_IEEE80211, HOSTAPD_LEVEL_DEBUG, "did not acknowledge association response"); //return; }
但我的機器上源碼編譯通過不了啊!沒辦法,只能直接更改系統自帶的hostapd程序了。用ida打開hostapd,在Strings windows窗口中進行排序后,找到兩處連續的關鍵字符串:
雙擊后可以找到引用字符串的代碼處。第一處是在080D9678處,同時可以看到,sub_80D95E0的子程序調用了loc_80D9678:
繼續跟蹤到sub_80D95E0,以圖形視圖查看,明顯jz是錯誤信息判斷,出錯了就沿綠線,調用上面的出錯誤信息,我們只需要將jz跳轉nop掉,讓程序沿紅線繼續下去即可。
經過查看,這句jz代碼在文件偏移0009160C處,代碼為74 6A,只需要將其改為90 90。在kali中,用十六進制編輯器對hostapd進行修改:
hexeditor /usr/sbin/hostapd
將對應偏移處的數值修改完畢:
同理,再將第二處錯誤信息的調用跳轉nop掉,這次是jz loc_80DC618,文件偏移00094426,十六進制數據為0F 84 EC 01 00 00:
用hexeditor全部改為90:
Ctrl+x 保存推出,再次運行hostapd,手機成功連接,顯示connected:
真是一次無比曲折的經歷。從最初想用airbase-ng建立WPA加密的AP到無奈使用hostapd,從使用rtl8187網卡無果再到購買合適的網卡,從編譯代碼不通過再到直接修改可執行文件,折騰了那么長時間。把經歷寫出來,供有需要的朋友參考,少走彎路!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。