The implementation of data monitoring through access point in wireless LAN
引言
---伴随着有线网络的广泛应用,以快捷高效,组网灵活为优势的无线网络技术也在飞速发展。无线局域网(Wireless Local Area Network,简称WLAN)是计算机网络与无线通信技术相结合的产物。从专业角度讲,无线局域网利用了无线多址信道的一种有效方法来支持计算机之间的通信,并为通信的移动化、个性化和多媒体应用提供了可能。无线局域网利用电磁波在空气中发送和接收数据,而无需线缆介质,因此能够解决有线网络布线困难时的问题。与有线网络相比,无线局域网具有安装便捷、使用灵活、经济节约、易于扩展等优点。对无线局域网数据进行监测既可以实现网络监控,同时可以进一步保证网络数据的安全。
1 无线局域网的主要技术
---1.1 相关标准
---1997年6月,IEEE发布了针对无线局域网的802.11标准,这是一个开放的标准,IEEE 802.11协议针对无线局域网作用区域有限这一特定技术因素而采用了CSMA/CA协议。目前该系列标准已有802.11a/b/g/i等几个版本,其中802.11a规定采用5GHz 的频带,采用QFSK调制方式,采用正交频分复用(OFDM)的独特扩频技术,传输速率范围为6~54Mbps;802.11b规定采用2.4GHz频带,采用直接序列扩频(DSSS)技术和补偿编码键控(CKK) 调制方式,能够根据情况的变化,在11 Mbps、5.5 Mbps、2 Mbps、1 Mbps的不同速率之间自动切换;而802.11g兼容802.11b,保留了802.11b 所采用的CCK技术,但由于采用了OFDM扩频技术,速率可达到54Mbps; 802.11i标准草案中主要包含加密技术:TKIP (Temporal Key Integrity Protocol) 和 AES(Advanced Encryption Standard),以及认证协议。IEEE 802.11标准采用有线等价保密性(WEP)选项,当WEP激活时,每一个站点(包括用户和接入点)都有四个密钥,这些密钥用于在数据通过广播频率传输之前加密数据。如果站点接收到用不正确的密钥加密的信息包,那么该信息包将会被丢弃,不再传送给主机。中国正努力实施国内无线局域网标准,其中的关键就是将WEP替换为WAPI。
---1.2 网络构成
---在一个典型的无线局域网环境中,有一些进行数据发送和接收的设备,称为接入点(AP)。通常,一个AP能够在几十至上百米的范围内连接多个无线用户。在同时具有有线和无线网络的情况下,AP可以通过标准的Ethernet电缆与传统的有线网络相连,作为无线网络和有线网络的连接点。无线局域网的终端用户可通过无线网卡等访问网络。无线网络应用的典型方式包括对等网方式、无线HUB方式、一点多址方式等。在实际工作中可以组合使用,变化出所需要的方式。
2 无线局域网的数据传输
---首先无线站点(STA)通过一系列的管理信息帧关联到接入点(AP),然后通过AP连接到Internet。这里讨论的数据监测就是STA通过AP上网时AP所收到的数据。其结构如图1所示。
3 系统的实现
---3.1 AP的硬件结构
---AP的整体结构如图2所示。AP采用常用的嵌入式操作系统μCLinux,我们的管理与服务程序(Server)以及数据监测程序(Sniffer)作为应用程序与操作系统一同编译下载到AP的FLASH中。
---无线局域网检测型AP的物理部分包括射频、中频、调制解调、基带处理和主控制器及其外围电路。
---3.2 系统的软件结构体系
---软件部分主要包括两部分、两个操作系统平台下的软件开发,其结构体系如图3所示。
---其一为基于嵌入式Linux平台的无线检测型AP中的操作系统固件,该固件中不仅包括μCLinux的全部操作系统,同时在此基础上设计μCLinux的应用系统软件,包括管理与服务程序(Server)以及数据监测程序(Sniffer)。
---其二为基于Windows2000/XP的接口程序设计,该程序用于上层应用程序与网络设备(无线检测型AP)的交互和接口,对管理指令和数据报文进行解析,实现用户对无线检测型AP的控制。其中接口函数由服务模块(动态链接库)提供,同时负责对AP发来的数据进行存储。
---另外,作为实现控制和传输的基础,在主机(Client)和无线检测型AP(Server)两端之间的应用通信协议以及数据报文格式必须予以规划并确定,该部分对于更高层的应用程序来说是不透明的,由Client端的服务模块提供面向更高层应用的接口和调用。根据设计需求确定服务原语集合,包括控制、交互、传输等方面的服务提供与申请机制。根据已确定的服务集合,基于UDP协议形成较为完善、具有扩展性的协议体系,具有可扩展性以利于修正和服务的扩展,避免协议漏洞,完善的协议体制是软件体系稳定工作的基石。
---μCLinux是广泛应用于嵌入式系统的操作系统,源代码开放,对绝大多数嵌入式处理器都提供良好支持,由此可以充分利用代码的可裁减性达到优化代码的目的,同时由于其作为开放源代码具有较高的安全性。该部分使用C代码编写,编译环境为Linux GNU 以及arm-elf系列工具链。
---数据监测程序(Sniffer)提供对无线局域网传输报文的截获功能,将所获取的报文提交给管理与服务程序进行处理。所获取报文以及提交给客户端的报文为原始报文,不经任何处理,以最大限度保留原始信息,提高信息容量。
---管理与服务程序(Server)主要功能是应答客户端的请求和指令,设置相应AP的网络参数和Sniffer软件系统参数,提供数据报文传输服务。
---Windows平台软件的作用是实现面向客户应用程序的接口,包括无线局域网检测型AP各种工作参数的设置和查询,以及主机软件参数的设置。采用Windows环境下的VC++ 6.0编程。
---服务模块提供面向客户应用程序的接口函数调用,本身不具备界面和管理功能,但可执行标准的管理指令和用户申请,调度与控制无线局域网检测型AP协同工作,同时将无线局域网检测型AP发送过来的数据写入文件,以备查看。
4 软件实现
---4.1 AP内监控软件
---这部分软件作为μCLinux的两个应用程序,与其一同编译进内核文件,而在AP系统启动的时候加载这两个进程。
---其中Server的实现过程如下:
---Server首先读取系统配置文件sniffer_cfg,并启动Sniffer程序,然后初始化网络端口,等待来自主机端监控软件的设置命令和查询命令。设置命令和查询命令分别包括频点、IP地址、数据发送的目的IP地址和端口号、工作状态、数据传输模式等。设置命令有的需要写入配置文件,如Sniffer的工作参数等;有的需要操作AP的底层硬件,如AP的工作频点等。如果Sniffer的工作参数有变化,则以进程间通信的方式通知Sniffer调整工作状态。
---Sniffer的实现过程如下:
---根据不同的工作状态,Sniffer采用不同的工作机制:主动模式采用每接收到一个数据包立刻发送到目标IP地址对应的端口,而缓冲模式则判断缓冲区是否接收满或预定的时间已到,若满足条件则发送数据,否则将数据存储在缓冲区内。由于传输的是802.11的无线信号,因此需要与AP底层的MAC层的虚拟协处理器进行通信取得数据。
---4.2 主机端监控软件
---主机端监控软件的实现过程如下:
---首先将不同的卡号对应的配置信息写入注册表,包括IP地址和端口号,以备发送设置和查询命令时读取。发送命令时首先将命令按数据通信协议打包发送,然后等待接收并显示AP的返回结果;数据接收部分首先需要设置接收数据和保存文件的绝对路径以及所需的数据缓冲区的长度,然后开始接收数据。系统开启6个线程来接收数据,这是因为需要同时监控6个工作在不同频点的AP。而每个线程中开辟3~4个数据队列,以保证能够尽可能的接收数据,降低丢包率。保存下来的文件可以利用802.11的协议分析软件解析,还原出通过相应AP访问的Internet网页。
5 结束语
---这里需考虑的问题还有一台计算机能监控多少台无线局域网检测型AP,另外无线局域网检测型AP向主机发送数据包时存在数据包丢失的现象。因此应尽量降低Windows平台软件的数据处理时间,以降低丢包率。
---无线网络的出现就是为了解决有线网络无法克服的困难。虽然无线网络有诸多优势,但与有线网络相比,无线局域网也有很多不足:无线网络速率较慢、价格较高,因而它主要面向有特定需求的用户。目前无线局域网还不能完全脱离有线网络,目前还只是有线网络的补充,但也应该看到,随着适用于无线局域网产品的价格的逐渐下降,相应软件也逐渐成熟。相信在未来,无线局域网将以它的高速传输能力和灵活性发挥更加重要的作用!