本发明属于无线网络技术领域,具体涉及一种操作系统只能连接指定无线ap的方法。
背景技术:
现在有很多单位使用平板,手持终端等设备进行工作,这些设备通过连接指定的无线ap后接入内部局域网,同时会从内网中得到一些机密资料存放在设备中。
由于windows操作系统无线网络管理界面会把周围所有可用的无线ap列出来,如果用户连入家里的无线ap,或者其他一些非安全的无线ap,会导致设备里的机密有意或者无意的泄漏。
技术实现要素:
本发明提供一种操作系统只能连接指定无线ap的方法,能够有效解决由于windows操作系统无线网络管理界面会把周围所有可用的无线ap列出来,如果用户连入家里的无线ap,或者其他一些非安全的无线ap,会导致设备里的机密有意或者无意的泄漏的问题。
本发明提供了如下的技术方案:操作系统只能连接指定无线ap的方法,包括如下步骤:
s1、搜集安全无线ap资源;
s2、设置安全无线ap列表到操作系统中;
s3、安装网卡过滤驱动,在protocol层之前把非安全无线ap的信息过滤掉;
从而实现只能连接指定无线ap。
进一步的,s1的具体步骤为:
搜集无线ap的mac及ssid,把所所述mac及ssid写入配置文件中。
进一步的,所述配置文件内容如下:
[ap1]
mac=123456789012
ssid=jumple.com
[ap2]
mac=111111111111
ssid=cctv.com
……
apn部分代表这是第n个ap的配置;
mac=123456789012表明这个ap的mac是123456789012;
ssid=jumple.com表明这个ap的ssid是jumple.com。
进一步的,s2的具体步骤为:
使用md5把所述配置文件的内容进行加密后写入注册表。
进一步的,写注册表的具体步骤为,使用标准windowsapi函数把mac地址和ssid写入注册表hkey_local_machine\system\safeap。
进一步的,s3的具体步骤为:
通过写一个filter驱动来实现对非安全无线ap的信息过滤。
进一步的,所述filter驱动在driverentry里读取注册表hkey_local_machine\system\safeap下的经过加密的mac地址和ssid,在oidrequestcompletehandler例程中对oid为0xe010179的oidrequest进行拦截,解析里面的数据,把解析出来的mac地址和ssid进行md5加密,加密后与读出来的经过加密的mac地址和ssid进行比较,如果相同,则保留,否则就从数据结构中删除,从而只列出指定的无线ap。
本发明的有益效果是:能够有效解决由于windows操作系统无线网络管理界面会把周围所有可用的无线ap列出来,如果用户连入家里的无线ap,或者其他一些非安全的无线ap,会导致设备里的机密有意或者无意的泄漏的问题。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明方法流程图;
图2是本发明ndis过滤驱动架构图;
图3是本发明具体安装s2示意图;
图4是本发明具体安装s3示意图;
图5是本发明具体安装s4示意图;
图6是本发明具体安装s5示意图。
具体实施方式
如图1-2所示,“一种操作系统只能连接指定无线ap的方法”涉及三个方面,“搜集安全无线ap资源”,“设置安全无线ap列表到操作系统中”,“安装网卡过滤驱动”,三个步骤后最终完成整个方法,其中各功能如下所示:
搜集安全无线ap资源,本步骤主要搜集无线ap的mac(mediumaccesscontrol,硬件地址)地址及ssid(servicesetidentifier,服务集标识),把它们写入配置文件中。配置文件内容如下:
[ap1]
mac=123456789012
ssid=jumple.com
[ap2]
mac=111111111111
ssid=cctv.com
……
apn部分代表这是第n个ap的配置;
mac=123456789012表明这个ap的mac是123456789012;
ssid=jumple.com表明这个ap的ssid是jumple.com。
设置安全无线ap列表到操作系统中,由于收集到的无线ap资源写入配置文件后是明文,客户很容易修改,需要使用软件把此配置文件的内容进行md5(messagedigestalgorithm5,消息摘要算法第五版)加密后写入注册表,用户无法轻易修改。确保了安全性。避免人为的恶意修改。
配置文件读取,使用标准windowsapi函数读取配置文件,把安全无线ap的mac地址和ssid读出来;
md5加密,使用标准的md5算法(公开源码)把mac地址和ssid进行加密;
写注册表,使用标准windowsapi函数把mac地址和ssid写入注册表hkey_local_machine\system\safeap。
安装网卡过滤驱动。
windows操作系统无线网络管理界面最终调用的是nativewifiapi(thenativewifiapplicationprogramminginterface),这个接口属于网络protocol(协议)层之上的。nativewifiapi通过调用ndis(networkdriverinterfacespecification,即网络驱动接口规范)的oid(objectidentifiers,对象标识号)为0xe010179(未公开)的oidrequest查询而得。也就是说,我们只要能在protocol层之前把非安全无线ap的信息过滤掉即可解决此问题。在windowsvista之后,ndis6.0中有了一个新框架ndisfilter,filter驱动被插入在miniport驱动和protocoldriver之间。filterdriver会attach到miniportdriver上,对于protocoldriver来说,filterdriver是透明的。filterdriver与任何设备对象无关。通过写一个filter驱动来实现对非安全无线ap的信息过滤。此驱动在driverentry里读取注册表hkey_local_machine\system\safeap下的经过加密的mac地址和ssid,在oidrequestcompletehandler例程中对oid为0xe010179(未公开)的oidrequest进行拦截,解析里面的数据,把解析出来的mac地址和ssid进行md5加密,加密后与读出来的经过加密的mac地址和ssid进行比较,如果相同,则保留,否则就从数据结构中删除。这样通过过滤后,windows操作系统无线网络管理界面就只会把指定的无线ap列出来。编译成功后生成netfilter.sys和netfilter.inf。
具体安装步骤如下:
s1、把netfilter.sys和netfilter.inf放到c:\netfilter下;
s2、如图3所示,选择网络适配器的属性,安装网络服务功能;
s3、如图4所示,点击添加;
s4、如图5所示,点从磁盘安装;
s5、如图6所示,点浏览,选择c:\netfilter,安装jumplendisdriver;
s6、安装完成后重新启动系统,确保驱动生效。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。