本發(fā)明屬于無(wú)線網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體涉及一種操作系統(tǒng)只能連接指定無(wú)線ap的方法。
背景技術(shù):
現(xiàn)在有很多單位使用平板,手持終端等設(shè)備進(jìn)行工作,這些設(shè)備通過(guò)連接指定的無(wú)線ap后接入內(nèi)部局域網(wǎng),同時(shí)會(huì)從內(nèi)網(wǎng)中得到一些機(jī)密資料存放在設(shè)備中。
由于windows操作系統(tǒng)無(wú)線網(wǎng)絡(luò)管理界面會(huì)把周圍所有可用的無(wú)線ap列出來(lái),如果用戶連入家里的無(wú)線ap,或者其他一些非安全的無(wú)線ap,會(huì)導(dǎo)致設(shè)備里的機(jī)密有意或者無(wú)意的泄漏。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種操作系統(tǒng)只能連接指定無(wú)線ap的方法,能夠有效解決由于windows操作系統(tǒng)無(wú)線網(wǎng)絡(luò)管理界面會(huì)把周圍所有可用的無(wú)線ap列出來(lái),如果用戶連入家里的無(wú)線ap,或者其他一些非安全的無(wú)線ap,會(huì)導(dǎo)致設(shè)備里的機(jī)密有意或者無(wú)意的泄漏的問(wèn)題。
本發(fā)明提供了如下的技術(shù)方案:操作系統(tǒng)只能連接指定無(wú)線ap的方法,包括如下步驟:
s1、搜集安全無(wú)線ap資源;
s2、設(shè)置安全無(wú)線ap列表到操作系統(tǒng)中;
s3、安裝網(wǎng)卡過(guò)濾驅(qū)動(dòng),在protocol層之前把非安全無(wú)線ap的信息過(guò)濾掉;
從而實(shí)現(xiàn)只能連接指定無(wú)線ap。
進(jìn)一步的,s1的具體步驟為:
搜集無(wú)線ap的mac及ssid,把所所述mac及ssid寫入配置文件中。
進(jìn)一步的,所述配置文件內(nèi)容如下:
[ap1]
mac=123456789012
ssid=j(luò)umple.com
[ap2]
mac=111111111111
ssid=cctv.com
……
apn部分代表這是第n個(gè)ap的配置;
mac=123456789012表明這個(gè)ap的mac是123456789012;
ssid=j(luò)umple.com表明這個(gè)ap的ssid是jumple.com。
進(jìn)一步的,s2的具體步驟為:
使用md5把所述配置文件的內(nèi)容進(jìn)行加密后寫入注冊(cè)表。
進(jìn)一步的,寫注冊(cè)表的具體步驟為,使用標(biāo)準(zhǔn)windowsapi函數(shù)把mac地址和ssid寫入注冊(cè)表hkey_local_machine\system\safeap。
進(jìn)一步的,s3的具體步驟為:
通過(guò)寫一個(gè)filter驅(qū)動(dòng)來(lái)實(shí)現(xiàn)對(duì)非安全無(wú)線ap的信息過(guò)濾。
進(jìn)一步的,所述filter驅(qū)動(dòng)在driverentry里讀取注冊(cè)表hkey_local_machine\system\safeap下的經(jīng)過(guò)加密的mac地址和ssid,在oidrequestcompletehandler例程中對(duì)oid為0xe010179的oidrequest進(jìn)行攔截,解析里面的數(shù)據(jù),把解析出來(lái)的mac地址和ssid進(jìn)行md5加密,加密后與讀出來(lái)的經(jīng)過(guò)加密的mac地址和ssid進(jìn)行比較,如果相同,則保留,否則就從數(shù)據(jù)結(jié)構(gòu)中刪除,從而只列出指定的無(wú)線ap。
本發(fā)明的有益效果是:能夠有效解決由于windows操作系統(tǒng)無(wú)線網(wǎng)絡(luò)管理界面會(huì)把周圍所有可用的無(wú)線ap列出來(lái),如果用戶連入家里的無(wú)線ap,或者其他一些非安全的無(wú)線ap,會(huì)導(dǎo)致設(shè)備里的機(jī)密有意或者無(wú)意的泄漏的問(wèn)題。
附圖說(shuō)明
附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
圖1是本發(fā)明方法流程圖;
圖2是本發(fā)明ndis過(guò)濾驅(qū)動(dòng)架構(gòu)圖;
圖3是本發(fā)明具體安裝s2示意圖;
圖4是本發(fā)明具體安裝s3示意圖;
圖5是本發(fā)明具體安裝s4示意圖;
圖6是本發(fā)明具體安裝s5示意圖。
具體實(shí)施方式
如圖1-2所示,“一種操作系統(tǒng)只能連接指定無(wú)線ap的方法”涉及三個(gè)方面,“搜集安全無(wú)線ap資源”,“設(shè)置安全無(wú)線ap列表到操作系統(tǒng)中”,“安裝網(wǎng)卡過(guò)濾驅(qū)動(dòng)”,三個(gè)步驟后最終完成整個(gè)方法,其中各功能如下所示:
搜集安全無(wú)線ap資源,本步驟主要搜集無(wú)線ap的mac(mediumaccesscontrol,硬件地址)地址及ssid(servicesetidentifier,服務(wù)集標(biāo)識(shí)),把它們寫入配置文件中。配置文件內(nèi)容如下:
[ap1]
mac=123456789012
ssid=j(luò)umple.com
[ap2]
mac=111111111111
ssid=cctv.com
……
apn部分代表這是第n個(gè)ap的配置;
mac=123456789012表明這個(gè)ap的mac是123456789012;
ssid=j(luò)umple.com表明這個(gè)ap的ssid是jumple.com。
設(shè)置安全無(wú)線ap列表到操作系統(tǒng)中,由于收集到的無(wú)線ap資源寫入配置文件后是明文,客戶很容易修改,需要使用軟件把此配置文件的內(nèi)容進(jìn)行md5(messagedigestalgorithm5,消息摘要算法第五版)加密后寫入注冊(cè)表,用戶無(wú)法輕易修改。確保了安全性。避免人為的惡意修改。
配置文件讀取,使用標(biāo)準(zhǔn)windowsapi函數(shù)讀取配置文件,把安全無(wú)線ap的mac地址和ssid讀出來(lái);
md5加密,使用標(biāo)準(zhǔn)的md5算法(公開源碼)把mac地址和ssid進(jìn)行加密;
寫注冊(cè)表,使用標(biāo)準(zhǔn)windowsapi函數(shù)把mac地址和ssid寫入注冊(cè)表hkey_local_machine\system\safeap。
安裝網(wǎng)卡過(guò)濾驅(qū)動(dòng)。
windows操作系統(tǒng)無(wú)線網(wǎng)絡(luò)管理界面最終調(diào)用的是nativewifiapi(thenativewifiapplicationprogramminginterface),這個(gè)接口屬于網(wǎng)絡(luò)protocol(協(xié)議)層之上的。nativewifiapi通過(guò)調(diào)用ndis(networkdriverinterfacespecification,即網(wǎng)絡(luò)驅(qū)動(dòng)接口規(guī)范)的oid(objectidentifiers,對(duì)象標(biāo)識(shí)號(hào))為0xe010179(未公開)的oidrequest查詢而得。也就是說(shuō),我們只要能在protocol層之前把非安全無(wú)線ap的信息過(guò)濾掉即可解決此問(wèn)題。在windowsvista之后,ndis6.0中有了一個(gè)新框架ndisfilter,filter驅(qū)動(dòng)被插入在miniport驅(qū)動(dòng)和protocoldriver之間。filterdriver會(huì)attach到miniportdriver上,對(duì)于protocoldriver來(lái)說(shuō),filterdriver是透明的。filterdriver與任何設(shè)備對(duì)象無(wú)關(guān)。通過(guò)寫一個(gè)filter驅(qū)動(dòng)來(lái)實(shí)現(xiàn)對(duì)非安全無(wú)線ap的信息過(guò)濾。此驅(qū)動(dòng)在driverentry里讀取注冊(cè)表hkey_local_machine\system\safeap下的經(jīng)過(guò)加密的mac地址和ssid,在oidrequestcompletehandler例程中對(duì)oid為0xe010179(未公開)的oidrequest進(jìn)行攔截,解析里面的數(shù)據(jù),把解析出來(lái)的mac地址和ssid進(jìn)行md5加密,加密后與讀出來(lái)的經(jīng)過(guò)加密的mac地址和ssid進(jìn)行比較,如果相同,則保留,否則就從數(shù)據(jù)結(jié)構(gòu)中刪除。這樣通過(guò)過(guò)濾后,windows操作系統(tǒng)無(wú)線網(wǎng)絡(luò)管理界面就只會(huì)把指定的無(wú)線ap列出來(lái)。編譯成功后生成netfilter.sys和netfilter.inf。
具體安裝步驟如下:
s1、把netfilter.sys和netfilter.inf放到c:\netfilter下;
s2、如圖3所示,選擇網(wǎng)絡(luò)適配器的屬性,安裝網(wǎng)絡(luò)服務(wù)功能;
s3、如圖4所示,點(diǎn)擊添加;
s4、如圖5所示,點(diǎn)從磁盤安裝;
s5、如圖6所示,點(diǎn)瀏覽,選擇c:\netfilter,安裝jumplendisdriver;
s6、安裝完成后重新啟動(dòng)系統(tǒng),確保驅(qū)動(dòng)生效。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。