基于Windows 7环境的WAPI无线网络应用层控制实现
WAPI(Wireless LAN Authentication and Privacy Infrastructure,简称WAPI)中文全称是“无线局域网鉴别与保密基础结构”,它是一种无线局域网安全协议,也是国内首个自主创新提出的安全接入技术标准。与传统技术的单向认证不同,WAPI采用双向认证模式,可以有力保证传输的安全性。具体来说,WAPI安全系统采用公钥密码技术,鉴别服务器(Authentication Server,简称AS)负责证书的颁发、验证与吊销等步骤,而无线客户端与无线接入点(Access Point英文全称,简称AP)上都安装了AS颁发的公钥证书,作为自己的数字身份凭证。当无线客户端登录至无线接入点AP时,在访问网络之前必须通过鉴别服务器AS对双方进行身份验证。根据验证的结果,持有合法证书的移动终端才能接入持有合法证书的无线接入点AP。随着技术的不断发展和演进,促使人们对于安全的考虑越来越深入,微软对其无线网络架构进行了重大调整,尤其是在网络安全方面,越来越重视与不同安全协议间的结合,通过开放接口的形式,提高其网络安全兼容性及适用性,在Windows 7系统中提供了Native 802.11的软件架构,用于搭建无线局域网。如图1所示,其详细内容可参见Windows Driver Kit Documentation中关于Native 80211 Software Architecture的介绍。
图1 Native 802.11 Software Architecture
在此架构上,系统提供了Native802.11接口,实现了对Windows操作系统中的无线网络属性以及连接的管理;Native802.11主要提供了一组API接口,可以实现连接无线网络,监听无线信号,断开连接等功能,通过这些API的组合就可以实现对无线网络的控制。主要的API信息,可参见表1。
表1 Native802.11接口
Native 802.11实现网络控制的具体步骤如下:
首先使用WlanOpenHandle打开一个客户端句柄,用WlanEnumInterfaces获取的对应无线网卡的GUID;然后进行网络操作,比如网络扫描可以使用 WlanScan,网络连接可以使用WlanConnect,网络断开可以使用WlanDisconnect;再次,对于网络配置,写入可以使用的WlanSetProfile,获取可以使用的 WlanGetProfile,删除可以使用的WlanDeleteProfile。其具体的代码可参见Microsoft SDK中关于Native Wifi API的示例。
针对具体的认证方式,如WPA2-Personal,需要构造一个配置文件,进而可以进行网络连接,具体配置如下所示:
图2 WPA2-Personal配置文件
而Native 802.11下的WAPI无线网络应用层控制,其软件架构如下图所示:
图3 WAPI无线网络软件架构
通过图3可以看出,WAPI无线网络应用层控制需要与Native 802.11的软件架构中的IHV Extensions DLL互相配合,但其应用层控制使用的API函数与一般的网络控制并无区别,都兼容Native 802.11接口,WAPI应用层框架比较容易进行集成。在具体开发中,只需要设置通用的WAPI定义,就能完成WAPI无线网络的用户层控制,并且区别于WPA2-Personal的网络配置,WAPI比WPA2-Personal的配置文件只是多了IHV字段,其它的配置字段都是Native 802.11的通用字段,WAPI的配置文件如下:
图4 WAPI配置文件
当使用Native 802.11下的WAPI无线网络应用层的接口时,可以快速进行用户界面的开发,稳定而且通用,下图5为具体的WAPI产品截图。
图5 WAPI无线网络安全客户端
综上所述,基于Windows 7环境下,WAPI无线网络用户层控制与一般的网络控制所使用的API都是兼容的,并且能够提供更安全可靠的无线网络保护。
基于Windows 7环境的WAPI无线网络应用层控制实现相关推荐
- 基于 SaaS 的 RADIUS 认证在无线网络准入中的应用和优化
自互联网发展以来,企业内网发生了翻天覆地的变化.以前,用户需要给 PC 电脑插网线才能上网,现在有了无线网络之后,用户随时随地都能访问.网络运行方式的变化也很快影响到访问的实现和保护.特别是基于 Sa ...
- 计算机里面的 网络是灰色的,Windows移动中心里的无线网络按钮是灰色如何解决...
? 我们知道在Windows8以上版本的系统中可以通过按Win+X快捷键打开开始菜单快捷选项,不过在Win7系统中打开的是Windows移动中心.在Windows移动中心可以快速修改多个设备的控制设置 ...
- 【优化覆盖】基于matlab人工蜂群算法求解无线网络传感覆盖优化问题【含Matlab源码 1097期】
⛄一.人工蜂群算法求解无线网络传感覆盖优化问题简介 1 WSN覆盖模型 1.1 问题描述 在WSN中, 要实现较高的无线网络传感器节点覆盖率从而减少监测盲点的出现, 就必须加大无线网络传感器节点的分布 ...
- 如何在Windows中查看忘记的无线网络密码
Did you have someone else set up the wireless network in your house, and can't for the life of you r ...
- stm32 温湿度_基于STM32单片机大棚温湿度检测无线蓝牙APP控制设计
本设计由STM32单片机+风扇控制电路+温湿度传感器电路+1602液晶显示电路+蓝牙模块电路+电源电路组成. 通过温湿度传感器检测温湿度,并在液晶上和APP上实时显示. 当湿度超过75度,APP发出报 ...
- 基于TQ2440的小车(4)网络编程控制
/**************************************** * 文件名: client.c * 作者: laoyao * 修改时间: 2016-4-10 * 文件说明: 网络T ...
- 毕业论文开题报告 - 基于Linux的无线网络渗透测试研究
目录 开题报告填写要求 1.毕业论文综述(题目背景.研究意义及国内外相关研究情况) 1.1 题目背景 1.2研究意义 1.3现阶段相关研究情况 2.本课题研究的主要内容和拟采用的研究方案.研究方法或措 ...
- windows无法连接到某个wifi_windows无法连接到无线网络怎么办【解决方法】
无论是win7.win8还是win10系统的电脑,人们在使用它的时候,总会先开机,然后再去连接无线网络.当然,在连接的过程中也可能产生各种各样的问题,例如说无法正常连接到无线网络.常见的原因有密码输入 ...
- 计算机提示网络不可用,Windows电脑系统显示无线网络不可用怎么办?
原标题:Windows电脑系统显示无线网络不可用怎么办? 现在,很多人都在使用无线网络,特别是使用笔记本电脑的朋友.最近有位朋友在使用笔记本电脑的时候,去出现了无线网络连接不可用的故障,不知道怎么去解 ...
- 共享windows无线网络给ubuntu有线网卡
windows系统连接了wifi无线网络, 可以通过一根网络将windows机器和ubuntu机器连接起来,将windows的无线网络共享给ubuntu机器使用.具体步骤如下: 一.配置windows ...
最新文章
- 惠普z840工作站linux,全模块战神 惠普旗舰级Z840工作站评测
- jupyter notebook 更改工作目录
- android linux截图库,Android中截图(surfaceView)源码
- 左侧栏下拉框HTML代码,html5下拉菜单代码
- python图形界面开发库_Python图形界面开发—wxPython库的布局管理及页面切换
- 智能AI机器人AI源码营销机器人电销机器人智能电话机器人拨号机器人语音机器人
- 微信小程序例子——点击发送信息清空输入框
- 虚拟内存设置在其他盘引发的问题(待解决)
- 【7gyy】教大家设置一个类似手机的锁屏界面
- TTMS剧院票务管理系统全网最全!!!不接受反驳
- 在企业里管理机器学习:来自银行和医疗行业的经验
- 大数据背景下的智慧物流:物流行业解决方案
- flutter图标按钮_flutter 按钮封装 带图片的按钮,带边框的按钮,纯文字的按钮
- 贪吃蛇大作战JavaFx版完整源码
- Restful API 生成复杂Json数据结构及使用客户端解析该数据结构(三)
- 关闭服务器windows server的IE浏览器的增强安全配置
- 安装使用Animate动画库【Animate.css下载安装教程】
- C fseek() and fteel()
- 安装moodle的方法及遇到的问题
- Linux 命令随笔