手把手用Python教你如何發(fā)現(xiàn)隱藏WiFi
一.前言
細(xì)心的小伙伴可能知道,小編之前發(fā)布過一篇使用Python發(fā)現(xiàn)酒店隱藏的針孔攝像頭,沒有來得及上車的小伙伴也沒關(guān)系,可以戳這篇文章了解一下:使用Pyhton帶你分析酒店里的針孔攝像頭。今天與大家一起分享使用Python來發(fā)現(xiàn)隱藏的wifi。
二.背景介紹
隨著生活的進(jìn)步,閱歷的加深,人們對(duì)無線網(wǎng)絡(luò)安全的重視程度越來越大,防范意識(shí)也越來越強(qiáng),有人說,我把無線網(wǎng)絡(luò)隱藏了,就肯定安全了,別人肯定沒辦法破解我的wifi,今天這篇文章就帶你在信號(hào)發(fā)射層面了解一下wifi的存在,用實(shí)際例子告訴你隱藏wifi也是可以被發(fā)現(xiàn)的。
三.環(huán)境配置
ubuntu操作系統(tǒng)、python3.6版本、pycharm編輯器以及外置無線網(wǎng)卡。
四.原理簡(jiǎn)述
我們的路由器在正常狀態(tài)下,會(huì)不斷地向外發(fā)出信號(hào),要告訴終端它的存在,這些信號(hào)中一般包含wifi名稱、MAC地址、信道、傳輸速率等信息,用ubuntu的airodump工具抓個(gè)包,如下圖所示。
但是如果你隱藏了wifi,那么只是相當(dāng)于把這些信號(hào)里的wifi名稱給隱藏了,而其他信息還是正常發(fā)送出去,如上圖第一行的wifi,ESSID一欄顯示為
但是有一種情況下路由器發(fā)出的信息還是會(huì)攜帶隱藏wifi的,就是當(dāng)有終端連接該wifi時(shí),會(huì)出現(xiàn)兩者的交互過程,為了信息互相查證還是會(huì)把wifi名稱帶出來的,那么我們就可以此為突破口,用python的scapy函數(shù)抓包,抓到某個(gè)隱藏wifi的名稱。
五.具體實(shí)現(xiàn)
1.監(jiān)測(cè)附近無線信號(hào)
用airmon-ng工具打開網(wǎng)卡監(jiān)聽模式
只有打開監(jiān)聽模式才能進(jìn)行以下操作。然后用airodump-ng工具搜尋附近無線信號(hào)。
經(jīng)過測(cè)試,必須先執(zhí)行此步驟,否則python程序無法接收無線信號(hào),會(huì)出現(xiàn)如下結(jié)果
2.用python的scapy模塊接收附近無線信號(hào)
iface是開啟監(jiān)聽模式后的網(wǎng)卡名稱,p.show()會(huì)顯示接收的無線信號(hào),如下圖所示:
我們只需判斷接收信號(hào)的MAC地址,是否是我們想要找到名字的隱藏wifi的MAC地址,然后再打印出它的名稱。
這時(shí)候我們就可以等待有終端連接該隱藏wifi了,一旦連接,就會(huì)把我們的程序就會(huì)把wifi名稱打印出來,趕緊動(dòng)手試試吧!
六.結(jié)語
細(xì)心的小伙伴可能知道,小編之前發(fā)布過一篇使用Python發(fā)現(xiàn)酒店隱藏的針孔攝像頭。本文基于路由器在正常狀態(tài)下,會(huì)不斷地向外發(fā)出信號(hào)的原理,利用ubuntu操作系統(tǒng)、python3.6版本、pycharm編輯器以及外置無線網(wǎng)卡,實(shí)現(xiàn)隱藏wifi的抓取,帶大家在信號(hào)發(fā)射層面了解一下wifi的存在,用實(shí)際例子告訴大家隱藏wifi也是可以被發(fā)現(xiàn)的噢!