91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

給hostapd打補丁, 解決rt3070網卡建立軟AP時無法握手的問題

發布時間:2020-07-03 02:30:51 來源:網絡 閱讀:3639 作者:tankaiha 欄目:安全技術

   折磨了自己一周多,供遇到同樣問題的朋友們參考。

   一般有兩種方法在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后,終端連接時總是顯示無法正常握手的錯誤:


給hostapd打補丁, 解決rt3070網卡建立軟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窗口中進行排序后,找到兩處連續的關鍵字符串:


給hostapd打補丁, 解決rt3070網卡建立軟AP時無法握手的問題


   雙擊后可以找到引用字符串的代碼處。第一處是在080D9678處,同時可以看到,sub_80D95E0的子程序調用了loc_80D9678:


給hostapd打補丁, 解決rt3070網卡建立軟AP時無法握手的問題


   繼續跟蹤到sub_80D95E0,以圖形視圖查看,明顯jz是錯誤信息判斷,出錯了就沿綠線,調用上面的出錯誤信息,我們只需要將jz跳轉nop掉,讓程序沿紅線繼續下去即可。


給hostapd打補丁, 解決rt3070網卡建立軟AP時無法握手的問題


   經過查看,這句jz代碼在文件偏移0009160C處,代碼為74 6A,只需要將其改為90 90。在kali中,用十六進制編輯器對hostapd進行修改:


hexeditor /usr/sbin/hostapd


   將對應偏移處的數值修改完畢:


給hostapd打補丁, 解決rt3070網卡建立軟AP時無法握手的問題


給hostapd打補丁, 解決rt3070網卡建立軟AP時無法握手的問題


   同理,再將第二處錯誤信息的調用跳轉nop掉,這次是jz      loc_80DC618,文件偏移00094426,十六進制數據為0F 84 EC 01 00 00:



給hostapd打補丁, 解決rt3070網卡建立軟AP時無法握手的問題


   用hexeditor全部改為90:


給hostapd打補丁, 解決rt3070網卡建立軟AP時無法握手的問題


   Ctrl+x 保存推出,再次運行hostapd,手機成功連接,顯示connected:


給hostapd打補丁, 解決rt3070網卡建立軟AP時無法握手的問題


   真是一次無比曲折的經歷。從最初想用airbase-ng建立WPA加密的AP到無奈使用hostapd,從使用rtl8187網卡無果再到購買合適的網卡,從編譯代碼不通過再到直接修改可執行文件,折騰了那么長時間。把經歷寫出來,供有需要的朋友參考,少走彎路!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沧源| 麦盖提县| 额尔古纳市| 中宁县| 松溪县| 玉树县| 陕西省| 泸西县| 鄯善县| 文昌市| 屯门区| 阜新| 镇康县| 诏安县| 扎赉特旗| 聂拉木县| 齐齐哈尔市| 牙克石市| 梓潼县| 磴口县| 宝应县| 乌鲁木齐市| 龙岩市| 仁寿县| 宜君县| 离岛区| 木里| 山丹县| 海城市| 松潘县| 康保县| 无棣县| 深圳市| 蒙山县| 赣州市| 鹰潭市| 阳原县| 彭阳县| 柳州市| 容城县| 沙坪坝区|