基于USRP的网络嗅探器设计(2)

高速ADC、DAC和处理器半导体技术的高成本使得软件无线电难以广泛应用,灵活的射频前端和软件无线电技术相结合,可以解决高成本的问题。同时,它还具


高速ADC、DAC和处理器半导体技术的高成本使得软件无线电难以广泛应用,灵活的射频前端和软件无线电技术相结合,可以解决高成本的问题。同时,它还具有可重构、动态升级、灵活性等优点。如图1-1所示,接收机的无线电信号首先通过RF前端的下变频转换为中频信号,然后利用ADC实现模拟信号到数字信号的转换,并实现信号的解调和各种处理,这些都可以通过软件实现。

1.2 课题目的和意义

本课题利用软件无线电平台和USRP x310对802.11协议的MAC层进行仿真和实现,并在平台上构建具有无线网络协议解析功能的嗅探器。它提供了一种利用软件无线电来研究无线网络协议的思路,为嗅探器的设计提供了一个平台,同时为软件无线电平台的后续研究提供了经验,也为在平台上继续构建自己的完整功能嗅探器的研究人员提供了依据。

同时,由于无线信道的复杂不确定性,无法通过仿真来得到一个准确可靠的实验数据,但通过该实验平台可以在真实信道下进行实验,得出可靠的结果。通过软件无线电平台和USRP x310硬件工具,为相关研究人员提供一个完整功能和稳定性能的平台。

1.3 课题的主要内容

本论文的主要工作建立一个GNU Radio和USRP x310的无线电平台,用来获取实际信道中的WiFi信号,并完成解析数据包的工作。其中包括实现信号检测部分,同步设计,编解码设计和格式转换设计。这些都需要在Linux操作系统环境设计,因此还需要对Linux系统进行环境配置。在通过Wireshark抓包工具完成嗅探器解析数据包的功能,需要完成正确的MAC帧数据的接收,同时获取实际信道中的基本参数信息,包括信道质量、信号强度、干扰等参数。

2  IEEE802.11协议与GNU Radio介绍

本章将对802.11协议实现过程所用到的理论知识做出介绍,对协议的数据包进行分析,了解其中代表的含义。主要包括802.11中MAC协议基础与GNU Radio平台两个方面。

2.1 IEEE802.11协议

2.1.1 IEEE802.11的MAC帧格式

根据802.11协议里内容的规定,IEEE802.11中MAC的帧格式规定如表2-2所示:

其中,帧控制字段携带更多的信息。我们稍后再介绍,其余字段如下:

(1) Duration/ID字段:设定NAV。这个数值表示的是在该介质中整个传输过程中所占用的时间,单位为us。在超过时间后会进行更新,同时避免其他工作站访问。

(2) Addressl字段:该段代表接收段的物理地址,随着帧类型不同,该位代表的作用也会不同。

(3) Address2字段:该段代表传送端的物理地址,随着帧类型不同,该位代表的作用也会不同。

(4) Address3字段:该字段将得到的地址进行过滤,随着帧类型不同,该位代表的作用也会不同。

(5) Seq字段:这个域分2部分,当一个帧被分开时,该字段的作用是用来记录每个子帧和帧片的序列号,前部分为帧片的序列号,后部分为子帧的序列号。

(6) Address4字段:在使该地址被使用时,Frame control字段的TDS和FDS都会为1。当主机跨了不同类型的网络时,该字段才会被启用。但随着帧类型不同,该位代表的作用也会不同。

(7) Frame Body字段:该字段为数据主体。其中内容为对上层数据的封装后的内容,字节大小在0-2023之间。    

(8) CRC字段:该字段是为了验证接收端的字段和帧所生成的验证字段。校验的范围包括了MAC帧主体部分和帧头部所有数据,功能为校验数据包冗余性。如果CRC的校验结果错误,那么便判定该帧在传输过程中已经受到损坏,从而会丢弃该帧或者要求重新传输。

2.1.2 IEEE802.11的MAC帧头格式

下面是MAC的帧头frame control部分,其格式如表2-3所示: