计算机网络基础第四次作业(无线网卡MAC帧捕获)

一、实验目的

    掌握无线网卡MAC帧的捕获方法,理解MAC各字段的作用和用法。

 

二、实验内容

    捕获并解析IEEE 802.11MAC帧,就某一方面分析WiFi网络的运行机制。

 

三、实验过程

    1.实验环境搭建

    初步尝试在Windows系统下进行MAC帧的捕获,Windows下无法直接使用Wireshark,因为捕获802.11需要设置网卡为监听模式(monitor mode,非混杂模式),但在设置后依然没有捕获到结果,所以考虑使用Ubuntu系统进行捕获,结果成功捕获,过程如下。这里选择在官网下载Ubuntu,制作Ubuntu系统U盘启动工具使用U盘启动系统,整个安装过程非常复杂耗时,此处不再叙述。安装好Ubuntu系统后在系统下安装Wireshark。

    2.捕获MAC帧(及对连接WiFi整体过程的分析)

    在安装Wireshark时,电脑连接到的是校园网NKU,打开Wireshark并设置到Mon0监听模式,可以看到已经捕获到了802.11。

图1 连接WiFi情况下捕获到802.11帧

    为了方便观察WiFi连接的过程,这里我们将网络更换为个人热点,热点名称为helloworld。确认热点连接成功后,捕获到如下界面。其中,Deauthentication即解除认证,接触认证发生在一个原先已通过认证的站点离开网络时需要接触已存在的认证关系的时候,这里是断开NKU时的解除认证。

图2 NKU解除认证

    在断开与网络NKU的连接后,可以看到捕获到许多的Probe Request(探测请求帧),工作站会通过它扫描所在区域内目前所有的可用网络。同时也捕获到了Probe Response(探测响应帧),如果探测请求帧所探测道德网络与之相容,该网络就会以探测响应帧应答。在基础架构网络里,负责应答的工作站即为接入点。在IBSS当中,工作站会彼此轮流发送Beacon信号,此处也捕获到了大量的Beacon(信标帧),信标帧主要来宣告某个网络的存在,由信标帧,工作站可调整加入该网络所必要的参数。

图3 探测请求/响应帧

连接热点helloworld,可以捕获到新的802.11帧。可以看到最开始的Authentication(身份认证帧),在传送帧的过程中,工作站可能已经认证或没有认证,也可能已经关联或没有关联,这两个变量的组合共有三种可能状态:未经认证且尚未关联的初始状态、已经认证但尚未关联的状态、已经认证且已经关联的状态。通过身份认证后,工作站进入已经认证但尚未关联的状态,这个时候进入共享密钥身份认证,工作站发送Association Request(关联请求帧),一旦移动工作站找到网络并通过身份验证,就会发送关联请求帧。之后可以看到输入的key密码帧,这个过程STA和AP需要对接暗语,一致才可以通过。这之后,工作站即进入最终的已经认证且已经关联的状态。连接成功。

图4 身份认证和关联

 

四、捕获MAC帧的分析

    802.11的帧格式类似于以太网,但是更加复杂,并且为了解决无线网络的缺陷,需要添加额外的功能。802.11帧分为三类:

·管理帧:主要用于STA(终端)和AP(无线接入点)之间的协商、关系的控制,如关联、认证、同步等。

·控制帧:请求发送数据包;清除发送数据包;ACK确认(RTS/CTS);PS-Poll,当一部分移动工作站从省电模式中苏醒,便会发送一个PS-Poll帧给基站,以取得任何暂存帧。

·数据帧:用于在竞争期和非竞争期传输数据。

其中管理帧最为复杂。控制帧通常与数据帧搭配使用,负责区域的清空、信道的取得以及载波监听的维护,并于收到数据时予以正面的应答,借此促进工作站间数据传输的可靠性。

    802.11帧有通用的帧格式:2字节frame control(帧控制)、2字节duration、6字节DA、6字节SA、6字节BISS ID、2字节seq-ctl、2字节body、4字节FCS。

    802.11与其他链路层协议的不同:

    ·802.11其中并没有任何上层协议的标记。上层协议是以额外标头type位加以标记,同时将其作为802.11所承载数据的开始。

    ·802.11通常不会将帧填补至最小长度。

   

图5 接触认证帧包含内容

图6 认证帧包含内容

图7 信标帧包含内容

图8 探测响应帧包含内容

图9 活动帧

图10 关联响应帧内容

图11关联请求帧内容

图12 数据帧

 

    通过在网络中查找并学习,我得到以下内容:

帧内容:

    ·Protocol(协议版本)

    ·Type(类型):用以区分帧类型。管理帧00,控制帧01,数据帧10.

    ·Subtype(子类型):此位代表发送帧的子类型。

    ·To DS与From DS:分别表示无线链路向AP发送的帧和AP向无线链路发送的帧。

    ·More Fragments(更多片段):用于说明长帧被分段的情况,是否还有其他的帧。若较上层的封包经过MAC分段处理,最后一个片段除外,其他片段均会将此bit设定为1.

    ·Power Management(电源管理):此bit用来指示、完成当前的帧交换过程后,发送端的电源管理状态。为1表示STA处于省电状态,为0为激活模式。

    ·More Data(尚有数据):其只用于管理数据帧,在控制帧中此bit必然为0.

    ·Protected Frame(受保护帧):为1表示帧体部分包含加密处理过的数据,为0则表示没有进行加密处理。

·Order(次序):帧与帧片段可依序传送,不过发送端与接收端的MAC必须付出额外的代价,对帧片段进行严格编号。一旦进行“严格依序”传送,此bit被设定为1。

·Duration(持续时间)位用来记载网络分配矢量NAV得值。访问介质时间限制是由NAV所指定。

·Address地址字段包含不同类型的MAC地址,地址的类型取决于帧类型。

·Seq-Ctl(顺序控制位)此位占16bit位,用来重组帧片段以及丢弃重复帧。它由4个bit的fragment number(片段编码)位以及12个bit的sequence number(顺序编号)位所组成。

·fragment number(片段编号)在上层封包被切割处理时使用,第一个片段的编号为0。其后每个片段依序累加1,方便帧进行重组。所有帧片段都会具有相同的顺序编号,如果是重传帧,则顺序编号不会有任何改变。

·Frame Body 称为数据位,负责在工作站之间传输上层数据(payload)。

·802.11帧以FCS(帧检验序列)作为结束,FCS让工作站得以检查所收到的帧的完整性。

数据帧:

·DS(Distribution system)分布式系统是接入点间转发帧的骨干网络,因此通常就称为骨干网络。一般可以理解为以太网。

·SA指源地址, DA指目的地址, RA指接收端, TA指发送端。

·BSSID:一个AP所覆盖的范围构成一个BSS(基本服务集),而BSSID(基本服务集标识符)用来标识BSS,表示AP的数据链路层的MAC地址。

控制帧:

RTS:当AP向某个客户端发送数据时,AP会向客户端发送一个RTS报文,RTS帧的格式如下:

·Frame control:01

·Subtype:1011

·Duration(持续时间):RTS 帧会试图预定介质使用权,供帧交换程序使用,因此RTS帧发送者必须计算RTS 帧结束后还需要多少时间。传输所需要的微秒数经过计算后会置于Duration 位。假使计算的结果不是整数,就会被修正为下一个整数微秒。

·Receiver Address(接收端地址):接收RTS 帧的工作站的地址。

·Transmitter Address(发送端地址):RTS 帧的发送端的地址。

CTS:目的客户端收到RTS后,发送一个CTS报文,这样在客户端覆盖范围内所有的设备都会在指定的时间内不发送数据,CTS报文格式如下:

·frame control:01

·subtype:1100

·Duration(持续时间):用来应答RTS 时,CTS 帧的发送端会以RTS 帧的duration 值作为持续时间的计算基准。RTS会为整个RTS-CTS-frame-ACK 交换过程预留介质使用时间。不过当CTS 帧被发送出后,只剩下其他未帧或帧片段及其回应待传。CTS 帧发送端会将RTS 帧的duration 值减去发送CTS 帧及其后短帧间隔所需的时间,然后将计算结果置于CTS的Duration 位。

·Receiver Address(接收端地址):CTS 帧的接收端即为之前RTS 帧的发送端,因此MAC会将RTS 帧的发送端地址复制到CTS 帧的接收端地址。

ACK(应答):每个发送的单播报文,接收者在成功接收到发送报文后,都要发送一个应答ACK进行确认。

·frame control:01

·subtype:1101

·Duration(持续时间):依照ACK 信号在整个帧交换过程中位居何处,在完整的数据帧及一连串帧片段的最后一个片段中,duration 会被设定为0。

·Receiver Address(接收端地址):接收端地址是由所要应答的发送端帧复制而来。

PS-Poll:当客户端省点模式中苏醒,并会发送一个PS-Poll帧给AP,以取得任何暂存帧,帧格式如下:

·frame control:01

·subtype:1010

·AID(连接识别码):PS-Poll 帧将会以MAC 标头的第三与第四bit 来代表连接识别码(association ID)。连接识别码是基站所指定的一个数值,用以区别各个连接。将此识别码置入帧,可让AP找出为其客户端所暂存的帧。

·BSSID:此位包含发送端目前所在BSS 的BSSID,此BSS 建立自目前所连接的AP。

·Transmitter Address(发送端地址):此为PS-Poll 帧之发送端的MAC 地址。

管理帧:

Beacon帧(信标帧)

·Beacon帧主要来声明网络的存在。定期传送的信标可让移动式工作站该网络的存在,从而调整加入该网络所必需的参数。

·基础结构网络中,接入点负责传送Beacon帧。

·IBSS网络中,工作站轮流送出Beacon帧。

Probe Request/Response(探测请求/响应帧)

·工作站通过Probe Request帧来扫描所在区域内的802.11网络。

·若Probe Request帧探查的网络与之兼容,该网络就会回复Probe Response帧给予响应。

Authentication Deauthentication(身份认证帧 接触认证帧)

·工作站通过共享密钥以及Authentication帧进行身份验证。

·Deauthentication(解除身份验证)帧则用来终结认证关系。

Association Request(关联请求帧)

·一旦工作站找到兼容网络并且通过身份验证,便会发送Association Request(关联请求) 帧试图加入网络。

Disassociation(取消关联帧)

·用来终结一段关联关系。

Reassociation Request

·位于相同ESS中,当在不同的BSS之间移动的工作站若要再次使用分布式系统(DS),必需与网络重新关联,区别于关联请求帧的是:它包含工作站当前所关联的接入点地址。

Association Response Reassociation Response(关联响应帧 重关联响应帧)

·当工作站试图连接接入点时,接入点会回复一个Association Response帧或Reassociation Response帧,响应过程中,接入点会指定一个Association ID(关联标识符)。

 

 

五、WiFi认证过程

    终端在连接WiFi、通过无线接入点传输数据之前,要经过三个阶段:扫描阶段(SCAN)、认证阶段(Authentication)、关联(Association),这三个阶段既有需要用户主动操作的动作,也有后台服务器自动完成的动作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值