使用Pyhton 分析酒店針孔攝像頭
/1 前言/
最近酒店被曝出隱藏?cái)z像頭的事情屢見(jiàn)不鮮,搞得大家人心惶惶,有圖為證,如下圖所示。
今天教大家一下如何用python分析出酒店里的針孔攝像頭,讓你放心住酒店。
/2 原理介紹/
我們大家都知道,針孔攝像一般都很小,所以它不太可能含有存儲(chǔ)設(shè)備,都是通過(guò)連接酒店房間內(nèi)的無(wú)線(xiàn)網(wǎng),遠(yuǎn)程傳輸給作案人,我們就從這方面入手,用Python的scapy模塊掃描局域網(wǎng)內(nèi)的所有設(shè)備,并通過(guò)爬蟲(chóng)找到該設(shè)備生產(chǎn)廠(chǎng)商,以廠(chǎng)商來(lái)判斷該設(shè)備是否為攝像頭。
所需環(huán)境:ubuntu、pyhton3.5、pycharm
/3 操作步驟/
實(shí)現(xiàn)步驟依賴(lài)環(huán)境較多,操作起來(lái)可能有些復(fù)雜,不過(guò)就當(dāng)了解一下也是歐克的,具體的操作步驟如下。
1、用scapy模塊的scapy函數(shù)模擬構(gòu)造ARP廣播包,代碼如下圖所示。
這個(gè)表示要向網(wǎng)段內(nèi)的所有主機(jī)都詢(xún)問(wèn)一下,說(shuō)的通俗一點(diǎn)就是“請(qǐng)問(wèn)網(wǎng)段內(nèi)都有誰(shuí)在啊”。
2、模擬在局域網(wǎng)內(nèi)發(fā)送。用scapy模塊模擬發(fā)送ARP廣播,代碼如下圖所示。
其中p是第一步構(gòu)造的廣播包,wifi是本機(jī)的網(wǎng)卡名稱(chēng),timeout是發(fā)送時(shí)限。
3、返回的兩個(gè)參數(shù),ans包含兩類(lèi)數(shù)據(jù)包(ARP請(qǐng)求包和ARP返回信息),請(qǐng)求包是第一步構(gòu)造的包,返回包是局域網(wǎng)內(nèi)主機(jī)的回應(yīng),如下圖所示。
包含該主機(jī)的ip地址和MAC地址,打碼的就是MAC地址;unans返回True或者False,代表是否發(fā)送成功。
4、解析返回的數(shù)據(jù)包。這一步主要是為了從上一步的數(shù)據(jù)包中把主機(jī)MAC地址取出來(lái),雖然看起來(lái)很復(fù)雜,但實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單,代碼實(shí)現(xiàn)如下圖所示。
其中s和r分別是上步所說(shuō)的請(qǐng)求包和返回包;r[ARP].hwsrc即是返回包中主機(jī)的MAC地址。
5、查詢(xún)MAC地址廠(chǎng)商。由于上網(wǎng)設(shè)備MAC地址的唯一性,所以每家廠(chǎng)商的前6位MAC地址都是固定的,這樣一來(lái),我們就可以根據(jù)MAC地址反查出廠(chǎng)商,在網(wǎng)上找了一家便民查詢(xún)網(wǎng)的網(wǎng)站,網(wǎng)址為https://mac.51240.com/,如下圖所示。
6、只需輸入MAC地址就會(huì)出現(xiàn)次MAC地址的詳細(xì)信息,如下圖所示。
7、我們需要的是它的組織名稱(chēng),分析一下此網(wǎng)站,是個(gè)最簡(jiǎn)單的靜態(tài)網(wǎng)頁(yè),如下圖所示。
8、也不用解析網(wǎng)頁(yè)了,直接正則匹配,代碼如下圖所示。
9、運(yùn)行程序,得到如下圖所示的結(jié)果。
從上圖可以看到檢測(cè)的設(shè)備有4臺(tái)主機(jī),1臺(tái)TP-LINK路由器,1個(gè)REALTEK外置網(wǎng)卡,2臺(tái)華為手機(jī),這種情況應(yīng)該是正常的。如果是出現(xiàn)攝像頭生產(chǎn)廠(chǎng)商類(lèi)的MAC地址,就要小心了,馬上去可疑地方找找吧!
/4 總結(jié)/
本文主要介紹了使用Python代碼檢測(cè)酒店里的針孔攝像頭,實(shí)現(xiàn)原理是用scapy模塊模擬發(fā)送ARP廣播,獲取設(shè)備的Mac地址,借助第三方平臺(tái)查詢(xún)?cè)O(shè)備的具體信息,檢測(cè)周邊環(huán)境是否正常。
本文涉及的Pyhton代碼,我已經(jīng)上傳到Github了,感興趣的小伙伴們,可以去看看,覺(jué)得不錯(cuò),記得給個(gè)Star噢!代碼鏈接:https://github.com/cassieeric/python_crawler/tree/master/hotel_monitor
到此這篇關(guān)于使用Pyhton 分析酒店針孔攝像頭的文章就介紹到這了,更多相關(guān)python 酒店針孔攝像頭內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python第三方庫(kù)easydict的使用實(shí)例詳解
在?Python?中當(dāng)我們需要訪(fǎng)問(wèn)字典中的元素的時(shí)候,我們需要使用類(lèi)似?a['example']?的形式來(lái)進(jìn)行使用,這個(gè)時(shí)候就可以使用 easydict 這個(gè)模塊了,今天通過(guò)本文給大家講解python第三方庫(kù)easydict的使用,感興趣的朋友跟隨小編一起看看吧2022-11-11解決Pycharm界面的子窗口不見(jiàn)了的問(wèn)題
今天小編就為大家分享一篇解決Pycharm界面的子窗口不見(jiàn)了的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01python列表推導(dǎo)式入門(mén)學(xué)習(xí)解析
這篇文章主要介紹了python列表推導(dǎo)式入門(mén)學(xué)習(xí)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12在Python中執(zhí)行和調(diào)用JavaScript的多種方法小結(jié)
JavaScript(JS)是一種常用的腳本語(yǔ)言,通常用于網(wǎng)頁(yè)開(kāi)發(fā),但有時(shí)也需要在Python中執(zhí)行或調(diào)用JavaScript代碼,本文將詳細(xì)介紹Python中執(zhí)行和調(diào)用JavaScript的多種方法,每種方法都將附有示例代碼,方便理解如何在Python中與JavaScript進(jìn)行互動(dòng),需要的朋友可以參考下2023-11-11python偏函數(shù)的實(shí)例用法總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于python偏函數(shù)的實(shí)例用法總結(jié)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)參考下。2021-07-07Python中reset_index()函數(shù)的使用
本文主要介紹了Python中reset_index()函數(shù)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05Python 實(shí)現(xiàn)局域網(wǎng)遠(yuǎn)程屏幕截圖案例
這篇文章主要介紹了Python 實(shí)現(xiàn)局域網(wǎng)遠(yuǎn)程屏幕截圖案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03