SmartConfig 技術(shù)原理_第1頁(yè)
SmartConfig 技術(shù)原理_第2頁(yè)
SmartConfig 技術(shù)原理_第3頁(yè)
SmartConfig 技術(shù)原理_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、SmartConfig技術(shù)原理簡(jiǎn)單來(lái)說(shuō),這是一種讓你可以在沒(méi)有和其他設(shè)備(支持SmartConfig技術(shù))建立任何性質(zhì)的通訊鏈路的情況下,配置該設(shè)備接入wifi網(wǎng)絡(luò)虛構(gòu)一個(gè)實(shí)際場(chǎng)景的話(huà),會(huì)是這樣:你購(gòu)買(mǎi)了一個(gè)帶有wifi的攝像頭,不過(guò)這個(gè)攝像頭沒(méi)有usb,沒(méi)有以太網(wǎng),沒(méi)有藍(lán)牙,沒(méi)有nfc,gsm就更不可能了,只有wifi,那么問(wèn)題來(lái)了:你如何配置這個(gè)攝像頭接入你家的wifi?乍一想,沒(méi)有數(shù)據(jù)鏈路,如何進(jìn)行數(shù)據(jù)交換?對(duì)的,SmartConfig就是用在這種場(chǎng)景下的,如果這個(gè)攝像頭的wifi支持SmartConfig技術(shù),那么你只需這樣幾個(gè)步驟攝像頭插上電源安裝制造商提供的手機(jī)app(應(yīng)用無(wú)需任何

2、特殊權(quán)限,只需要手機(jī)當(dāng)前是接入wifi的)在攝像頭附近打開(kāi)app,輸入你家wifi的密碼,點(diǎn)擊確認(rèn),稍等片刻,?不出意外的話(huà),攝像頭已經(jīng)接入你家wifi了這項(xiàng)技術(shù)由德州儀器提出,并且應(yīng)用在自己的CC300O系列芯片上.不過(guò),從原理上來(lái)說(shuō),支持混雜模式的wifi芯片都可以應(yīng)用該技術(shù)猜想首先,你可能會(huì)聯(lián)想到是不是這個(gè)app控制了手機(jī),讓手機(jī)主動(dòng)接入攝像頭的wifi網(wǎng)絡(luò),然后交換數(shù)據(jù).這確實(shí)是一個(gè)行得通的辦法,但是卻不實(shí)用,控制操作系統(tǒng)更換當(dāng)前的網(wǎng)絡(luò)連接是敏感操作,普通的app沒(méi)這個(gè)權(quán)限,那么就需要用戶(hù)參與其中,對(duì)于一般的用戶(hù)而言,這樣的流程就顯得復(fù)雜且難以理解了這樣看來(lái),攝像頭并沒(méi)有和你控制的任何

3、一個(gè)設(shè)備建立任何性質(zhì)的連接一般來(lái)說(shuō),我們潛意識(shí)里會(huì)默認(rèn)通訊都是雙向的,以這個(gè)習(xí)慣來(lái)看待SmartConfig似乎覺(jué)得匪夷所思其實(shí),在這種場(chǎng)景下,我們只需要能夠把wifi的名稱(chēng)和密碼告訴攝像頭就行了,攝像頭有沒(méi)有回饋并不重要順著這個(gè)思路,我們發(fā)現(xiàn)可以這么做,手機(jī)app上生成一個(gè)包含wifi名稱(chēng)和密碼的二維碼,然后放置在攝像頭前,攝像頭只要識(shí)別了二維碼自然就可以接入wifi但是,掃二維碼的方式依賴(lài)視頻信號(hào)輸入,并不是通用的手段(因?yàn)楝F(xiàn)實(shí)場(chǎng)景中的設(shè)備并不都是攝像頭),而且場(chǎng)景里也沒(méi)有采用這種做法這么分析下來(lái),傳播wifi信息的渠道只可能是wifi本身了攝像頭尚未接入wifi,況且wifi也是加密的,

4、app并沒(méi)有能力控制wifi的底層通訊,app又是如何將信息成功外泄給攝像頭的?共識(shí)理解SmartConfig原理前需要說(shuō)兩個(gè)共識(shí)無(wú)線(xiàn)數(shù)據(jù)的傳播形式必定是廣播至少目前是這樣,因?yàn)槲宜赖哪茏龅近c(diǎn)對(duì)點(diǎn)的無(wú)線(xiàn)傳輸只有量子隱形傳輸,可惜還在實(shí)驗(yàn)室中既然是廣播,那么必然可以被監(jiān)聽(tīng),就像一個(gè)酒吧里有兩個(gè)中國(guó)人和兩個(gè)俄羅斯人,中國(guó)人和中國(guó)人說(shuō)話(huà),俄羅斯人聽(tīng)得到,只不過(guò)聽(tīng)不懂,反之亦然任何可控的模式都可以被用于編碼,用于數(shù)據(jù)交換當(dāng)前wifi應(yīng)用的幾種主流加密方式都存在一個(gè)特點(diǎn),明文的長(zhǎng)度和加密后的密文長(zhǎng)度之間是線(xiàn)性關(guān)系即:密文長(zhǎng)度=明文長(zhǎng)度+算法相關(guān)的常量C,也就是說(shuō),只要明文長(zhǎng)度可控,密文的長(zhǎng)度即是可控

5、的這個(gè)特點(diǎn)是SmartConfig的核心原理原理如果了解的幀格式,你就知道,鏈路層載荷數(shù)據(jù)(即網(wǎng)絡(luò)層頭部及網(wǎng)絡(luò)層數(shù))在數(shù)據(jù)幀中是清晰可辨的,只要接收到幀就可以立刻提取出載荷數(shù)據(jù),計(jì)算載荷數(shù)據(jù)的長(zhǎng)度自不用說(shuō),而這里的載荷數(shù)據(jù),通常就是密文常見(jiàn)的兩種數(shù)據(jù)幀格式:=顧:阪tF-JffAPtoStation密文長(zhǎng)度有了,接下來(lái)我們看一下明文的結(jié)構(gòu)普通權(quán)限的應(yīng)用程序是沒(méi)有能力完全控制和定義傳輸層及下層所有協(xié)議數(shù)據(jù)的,唯一可以完全控制的就是應(yīng)用層數(shù)據(jù),那就繼續(xù)分析一下TCP/IP協(xié)議棧中的網(wǎng)絡(luò)層和傳輸層的數(shù)據(jù)結(jié)構(gòu)常用的網(wǎng)絡(luò)層協(xié)議非IPv4莫屬,IPv4的頭部絕大多數(shù)情況下都是定長(zhǎng)的20字節(jié),長(zhǎng)度幾乎完全可

6、控傳輸層協(xié)議我們選擇UDP,因?yàn)閁DP協(xié)議頭部為定長(zhǎng)的8字節(jié),完全可控(當(dāng)然,選擇UDP還有別的原因)這么看來(lái),我們有能力完全控制明文的長(zhǎng)度明文長(zhǎng)度=20+8+應(yīng)用層數(shù)據(jù)長(zhǎng)度密文長(zhǎng)度也脫口而出密文長(zhǎng)度=20+8+應(yīng)用層數(shù)據(jù)長(zhǎng)度+?算法相關(guān)的常量C如果我需要你發(fā)出一個(gè)密文長(zhǎng)度為1000字節(jié)的幀,那么你只需要在UDP中塞滿(mǎn)任意(1000-20-8-C)個(gè)字節(jié)即可接下來(lái),只要我們利用可控的密文長(zhǎng)度定義一張編碼表即可將數(shù)據(jù)告訴任何知道這張編碼表的設(shè)備了原理說(shuō)完了,按照這個(gè)原理,幾乎可以實(shí)現(xiàn)任意數(shù)據(jù)的傳播,至于SmartConfig采用何種編碼,沒(méi)必要關(guān)心流程示例我們定義一張編碼表,簡(jiǎn)單示意一下整個(gè)過(guò)程

7、:密文長(zhǎng)度=映射釋義1234=起始符;連續(xù)的3個(gè)起始符,用于表示數(shù)據(jù)傳輸開(kāi)始1324=結(jié)束符;連續(xù)的3個(gè)結(jié)束符,用于表示數(shù)據(jù)傳輸結(jié)束110=間隔符;連續(xù)的2個(gè)間隔符,用于表示數(shù)據(jù)符之間的間隔=數(shù)據(jù)符;表示ASCII0 x00=數(shù)據(jù)符;表示ASCII0 x011127=數(shù)據(jù)符;表示ASCII0 x7F假設(shè)我們要把字符串”CJey”(密碼)告訴攝像頭,整個(gè)流程大致如下:(假設(shè)常量C為16)手機(jī)app部分:打開(kāi)手機(jī)app,在輸入框中填入要發(fā)送的字符串”CJey”,點(diǎn)擊發(fā)送app連續(xù)發(fā)送三個(gè)UDP廣播包,填充數(shù)據(jù)為1190個(gè)0 x00字節(jié)(1234-16-20-8=1190),表示傳輸開(kāi)始app發(fā)送一

8、個(gè)UDP廣播包,填充數(shù)據(jù)為1023個(gè)0 x00字節(jié)(1067-16-20-8=1023),傳輸字符Capp連續(xù)發(fā)送兩個(gè)UDP廣播包,填充數(shù)據(jù)為66個(gè)0 x00字節(jié)(110-16-20-8=66),表示數(shù)據(jù)間隔app發(fā)送一個(gè)UDP廣播包,填充數(shù)據(jù)為1030個(gè)0 x00字節(jié)(1074-16-20-8=1030),傳輸字符Japp連續(xù)發(fā)送兩個(gè)UDP廣播包,填充數(shù)據(jù)為66個(gè)0 x00字節(jié)(110-16-20-8=66),表示數(shù)據(jù)間隔app發(fā)送一個(gè)UDP廣播包,填充數(shù)據(jù)為1057個(gè)0 x00字節(jié)(1101-16-20-8=1057),傳輸字符eapp連續(xù)發(fā)送兩個(gè)UDP廣播包,填充數(shù)據(jù)為66個(gè)0 x00字

9、節(jié)(110-16-20-8=66),表示數(shù)據(jù)間隔app發(fā)送一個(gè)UDP廣播包,填充數(shù)據(jù)為1077個(gè)0 x00字節(jié)(1121-16-20-8=1077),傳輸字符yapp連續(xù)發(fā)送三個(gè)UDP廣播包,填充數(shù)據(jù)為1280個(gè)0 x00字節(jié)(1324-16-20-8=1280),表示傳輸結(jié)束從1開(kāi)始循環(huán)多次,直到超時(shí)或者攝像頭成功接入wifi,向app匯報(bào)成功攝像頭部分:攝像頭通電,沒(méi)有可用的wifi,進(jìn)入混雜模式,開(kāi)始監(jiān)聽(tīng)信號(hào)覆蓋范圍內(nèi)的所有wifi數(shù)據(jù)幀捕獲數(shù)據(jù)幀,如果連續(xù)收到3個(gè)密文長(zhǎng)度為1234,且來(lái)自于同一個(gè)發(fā)射源X的數(shù)據(jù)幀,則進(jìn)入下一步,否則重復(fù)2捕獲發(fā)射源X的數(shù)據(jù)幀,持續(xù)捕獲密文長(zhǎng)度為110或

10、者1000-1127之間的數(shù)據(jù)幀,直到捕獲到連續(xù)3個(gè)密文長(zhǎng)度為1324的數(shù)據(jù)幀將上述數(shù)據(jù)幀按照編碼表進(jìn)行映射,由于手機(jī)app并非是獨(dú)占網(wǎng)絡(luò),所以捕獲到的數(shù)據(jù)可能有噪音,比如解碼出來(lái)的結(jié)果可能是(/表示分隔符):ACX/J/oe/ymmm如果沒(méi)有噪音,記為候選數(shù)據(jù)RC,重復(fù)捕獲X,進(jìn)行二次驗(yàn)證,通過(guò)則表示接收完成,沒(méi)通過(guò)也重復(fù)捕獲X,將這次所得結(jié)果同上一次做交集,循環(huán)如此直到得出唯一結(jié)果,即RC,之后再重復(fù)5由于捕獲的數(shù)據(jù)幀頭部信息中已經(jīng)包含了wifi的bssid信息,使用”CJey”作為密碼去嘗試連接相應(yīng)的wifi,成功則向app報(bào)告,失敗則繼續(xù)重復(fù)2混雜模式(PromiscuousMode)

11、混雜模式(PromiscuousMode)是指一臺(tái)機(jī)器能夠接收所有經(jīng)過(guò)它的數(shù)據(jù)流,而不論其目的地址是否是他。是相對(duì)于通常模式(又稱(chēng)“非混雜模式”)而言的。這被員使用來(lái)診斷網(wǎng)絡(luò)問(wèn)題,但是也被無(wú)認(rèn)證的想偷聽(tīng)(其可能包括和其它敏感的信息)的人利用。一個(gè)非路由選擇節(jié)點(diǎn)在混雜模式下一般僅能夠在相同的(對(duì)和無(wú)線(xiàn))內(nèi)監(jiān)控通信到和來(lái)自其它節(jié)點(diǎn)或環(huán)(對(duì)令牌環(huán)或FDDI),其是為什么網(wǎng)絡(luò)被用于對(duì)抗惡意的混雜模式?;祀s模式就是接收所有經(jīng)過(guò)網(wǎng)卡的,包括不是發(fā)給本機(jī)的包。默認(rèn)情況下網(wǎng)卡只把發(fā)給本機(jī)的包(包括廣播包)傳遞給上層程序,其它的包一律丟棄。簡(jiǎn)單的講,混雜模式就是指網(wǎng)卡能接受所有通過(guò)它的數(shù)據(jù)流,不管是什么格式,什

12、么地址的。事實(shí)上,計(jì)算機(jī)收到數(shù)據(jù)包后,由網(wǎng)絡(luò)層進(jìn)行判斷,確定是遞交上層(傳輸層),還是丟棄,還是遞交下層(數(shù)據(jù)鏈路層、MAC子層)轉(zhuǎn)發(fā)。通常在需要用到,例如、capsa時(shí),需要把網(wǎng)卡置于混雜模式,需要用到軟件Winpcap。winpcap是windows平臺(tái)下一個(gè)免費(fèi),公共的網(wǎng)絡(luò)訪(fǎng)問(wèn)系統(tǒng)。開(kāi)發(fā)winpcap這個(gè)項(xiàng)目的目的在于為Win32應(yīng)用程序提供訪(fǎng)問(wèn)網(wǎng)絡(luò)底層的能力。對(duì)于廣播式集線(xiàn)器(Hub)來(lái)說(shuō),假如PC1、PC2、PC3接在同一個(gè)Hub上,當(dāng)PC1給PC3發(fā)送包時(shí),Hub將廣播這個(gè)包,所以PC2實(shí)際上也可以看到這個(gè)包,但一般情況下它會(huì)將這個(gè)發(fā)給PC3的包丟棄,但如果處于混雜模式,PC2的網(wǎng)

13、卡驅(qū)動(dòng)程序就不會(huì)丟棄這個(gè)包,而是把這個(gè)包送給上層的驅(qū)動(dòng)程序,應(yīng)用程序。簡(jiǎn)單的說(shuō),網(wǎng)卡的混雜模式是為而提供的。網(wǎng)卡具有如下的幾種工作模式:1)廣播模式(BroadCastModel):它的物理地址(MAC)地址是OXffffff的幀為廣播幀,工作在廣播模式的網(wǎng)卡接收廣播幀。2)多播傳送(MultiCastModel):多播傳送地址作為目的物理地址的幀可以被組內(nèi)的其它主機(jī)同時(shí)接收,而組外主機(jī)卻接收不到。但是,如果將網(wǎng)卡設(shè)置為多播傳送模式,它可以接收所有的多播傳送幀,而不論它是不是組內(nèi)成員。3)直接模式(DirectModel):工作在直接模式下的網(wǎng)卡只接收目地址是自己Mac地址的幀。4)混雜模式(

14、PromiscuousModel):工作在混雜模式下的網(wǎng)卡接收所有的流過(guò)網(wǎng)卡的幀,信包捕獲程序就是在這種模式下運(yùn)行的。網(wǎng)卡的缺省工作模式包含廣播模式和直接模式,即它只接收廣播幀和發(fā)給自己的幀。如果采用混雜模式,一個(gè)站點(diǎn)的網(wǎng)卡將接受同一網(wǎng)絡(luò)內(nèi)所有站點(diǎn)所發(fā)送的數(shù)據(jù)包這樣就可以到達(dá)對(duì)于網(wǎng)絡(luò)信息監(jiān)視捕獲的目的。Sniffer類(lèi)的軟件一般都采用將網(wǎng)卡設(shè)置成混雜模式來(lái)獲取數(shù)據(jù)包,設(shè)為混雜模式之后,因?yàn)榫W(wǎng)卡會(huì)接收所有能夠接收到的數(shù)據(jù),所以這個(gè)時(shí)候的數(shù)據(jù)量非常大,所以在設(shè)置為混雜模式同時(shí),一般要設(shè)置過(guò)濾條件。sniffer之類(lèi)的軟件將網(wǎng)卡設(shè)置為混雜模式,只是供自己監(jiān)聽(tīng)數(shù)據(jù)(根據(jù)用戶(hù)的要求自動(dòng)設(shè)置過(guò)濾條件),在這類(lèi)軟件退出之后會(huì)自動(dòng)將網(wǎng)卡還原為正常工作模式。具體到編程實(shí)現(xiàn)上,這種對(duì)網(wǎng)卡混雜模式的設(shè)置是通過(guò)原始套接字(rawsocket)來(lái)實(shí)現(xiàn)的,這也有別于通常經(jīng)常使用的數(shù)據(jù)流套接字和數(shù)據(jù)報(bào)套接字。在創(chuàng)建了原始套接字后,需要通過(guò)setsockopt()函數(shù)來(lái)設(shè)置IP頭操作選項(xiàng),然后再通過(guò)bind()函數(shù)將原始套接字綁定到本地網(wǎng)卡。為了讓原始套接字能接受所有的數(shù)據(jù),還需要通過(guò)ioctlsocket()來(lái)進(jìn)行設(shè)置,而且還可以

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論