3 系统实现原理、技术和流程图
本系统的架构主要包括图形界面、各个功能模块、模块间接口这三个部分。而其实现的关键则在于无线网络的全频段扫描以及数据捕获、数据的协议实时解析、内容还原技术、以及非法网络行为的检测和防护技术。
3.2 关键技术分析
3.2.1无线网络的全频段扫描和数据捕获
3.2.1.1 全频段扫描
通过在Linux平台下,设置无线网卡I/O通信端口寄存器为监听模式,可以对802.11a/b/g的13个频段内的接入点、站点以时分跳频的方式监听,实时发现各个信道的AP以及连接AP的站点,并分析捕获的数据,获得AP和站点的加密方式、信号强度、MAC地址等相关信息。
3.2.1.2数据包捕获
一旦选定需要监护的AP,则可以通过对网卡端口寄存器编程来实现固定信道的扫描,此时不再是13个信道的时分跳频,而是网卡固定于一个特定的信道来扫描获取该信道的数据。再对捕获的数据包进行BSSID的过滤,这样就可以得到该AP服务集的数据包。
3.2.2 数据的实时解析
用数据包捕获方式得到的是802.11MAC层的通信数据,根据TCP/IP协议栈与802.11的相关协议,数据恢复需要从TCP/IP协议模型的底层向上层进行一层层的解析和重组:数据链路层—网络层—传输层—应用层(含会话、表现层)。
TCP、IP的协议解析是本系统中的一大难点,这其中关系到IP分片和重组以及TCP流重组和重传的解析。我们选择了libnids开源工具对该部分协议做了具体的解析。
在TCP、IP解析的基础上实现了对FTP协议,HTTP协议,SMTP协议,POP3协议的并行解析。由于监听的网络同时会有多个人使用某个协议,我们建立了对应于各个TCP连接的虚拟端口,用于区分不同TCP链接的通信数据。图3.2描述了TCP连接与各个协议的关系。
图 3.2 协议解析关系图
同时我们给出了应用层解析流程,见图3.3:
图3.3 应用层协议解析流程图
(责任编辑:adminadmin2008)