admin管理员组

文章数量:1531930

2024年7月9日发(作者:)

精品文档

手机接入无线网的过程分析

吉林大学 通信工程学院

360免费wifi是一款免费、操作极其简单的wifi共享软件,只需运行该软件,就能将

联网的电脑瞬间变成免费的WiFi路由器,从而让手机、PAD等硬件设备免费上网,实现网

络共享,并且可以管理所有接入的设备。本文使用wireshark抓包软件对手机接入无线网的

过程进行抓包分析,深入了解手机接入无线网的过程,并加深对DHCP、ARP等相关协议的理

解。

图1是在手机接入无线路由器(即安装了360免费WiFi的电脑)时所抓取的ip包。可

以看出,无线路由器使用了172的局域网网段,路由器的ip地址是172.22.190.1,分配给

手机的ip地址是172.22.190.2,手机的mac地址是c4:6a:b7:f9:29:c8,无线路由器的mac

地址是14:2d:27:f0:db:bd。

图1 手机接入无线路由器抓取的ip包

从图1中的第5个ip包开始,手机试图从无线路由器中获取ip地址,由于一开始手机

并没有被分配ip地址,它只能用0.0.0.0作为初始ip,采用DHCP协议(动态主机配置协议)

通过广播的方式(目的地址255.255.255.255)在局域网中发布DHCP Request 包。图2是

DHCP Request报文的内容,可以看出DHCP采用了UDP协议承载,源端口和目的端口分别为

68、67。由于手机已不是第一次登陆网络,它在上次从另一台无线路由器DHCP server中获

取的IP地址是192.168.1.101,手机把它上次使用过的ip地址192.168.1.101封装在

option50中,如果该地址未被分配,那么无线路由器中的DHCP server必须优先为该手机

分配该地址。而实际上360免费WiFi使用的是172的局域网网段地址,无法提供192.168

这个网段的地址,所以无线路由器的DHCP server回送给手机DHCP client的是DHCP NAK

数据包,如图1中的第6号数据包,即第一次的IP地址请求失败。

手机DHCP 客户端收到DHCP NAK后,知道DHCP server无法提供192.168.1.101这个

精品文档

精品文档

ip地址,它重新以0.0.0.0为自己的ip地址,通过广播的方式在局域网中发送一个DHCP

discover报文,希望无线路由器中的DHCP server为其分配一个ip地址,即图1中的第7

个ip包。无线路由器中DHCP server收到DHCP discover广播后,它会从那些还没有租出

的地址范围内,选择最前面的空置IP,连同其它,TCP/IP设定,响应给client一个DHCP offer

的报文。图3即DHCP offer的内容,可以看出DHCP server分配给手机的ip地址是

172.22.190.2,然后确认了手机的mac地址是c4:6a:b7:f9:29:c8,默认网关是

172.22.190.1,掩码是255.255.0.0,DNS服务器ip是172.22.190.1和10.10.10.10。DHCP

offer协议中还向手机提供了ip地址租用期限的一些规定等,租用期限到了之后手机将从

新发送DHCP Request进行续租。

图2 第5号ip包的内容

图3 第8号ip报文内容

手机的DHCP 客户端收到DHCP server回送的DHCP offer报文后,要进行一次确认的

精品文档

精品文档

过程,以确定将接受该ip地址并确保ip地址配置参数准确无误。接着DHCP客户端仍以

0.0.0.0为自己的ip地址,仍用广播的方式发送一个DHCP request报文,即图1中的第9

号报文,其内容如图4所示。

从图4可以看出,DHCP客户端在DHCP request报文中声明了自己将要接受的ip地址

和DHCP服务器的地址,并再次向DHCP server请求参数请求列表,以保证接受的参数准确

无误,便于下一步手机的tcp/ip参数的配置。

图4 第9号ip报文(DHCP request)的内容

精品文档

精品文档

图5 第10号报文(DHCP ack)的内容

无线路由器的DHCP server收到DHCP request广播后,如果报文中的ip请求与自己提

供的ip地址信息一致,则发送一个DHCP ACK报文,以确定该ip地址已被分配。图10是

DHCP确认报文,从图中可以看出DHCP ACK与DHCP offer相比除了Message Type有差别外,

其余各项都一致。又通过广播的方式将TCP/IP配置的参数向手机的DHCP client发送了一

次。

手机的DHCP client接收到DHCP ack后,通过比较两次的TCP/IP配置参数一致,确定

获取ip地址成功,即可进行相关的网络配置。手机将网络参数配置成功后,下一步就是要

建立路由,也就是要明确手机ip数据包下一跳的地址。下一跳的ip地址就是默认网关的

ip地址,也就是172.22.190.1,但是网关的链路层地址手机还不知道,手机要想发送ip

包必须要知道网关的mac地址。

从图1中可以看出,自11号到23号报文是手机获取网关MAC与无线路由器进行的6

组ARP协议通信。ARP(Address Resolution Protocol,地址解析协议)是获取物理地址的一

个TCP/IP协议,某节点的IP地址的ARP请求被广播到网络上后,这个节点会收到确认其物

理地址的应答,这样的数据包才能被传送出去。

图6 ARP请求报文

图6是手机为获取网关(172.22.190.1)的mac地址发出的ARP请求报文。从图中可以

看出ARP协议没有网络层地址,它是链路层的协议。ARP请求报文的源mac地址是其本身,

目的mac地址是ff:ff:ff:ff:ff:ff,即ARP报文在局域网中以广播的形式传输,在链路层

头部标示了该报文是ARP包(0x0806)。在ARP报文内容上,用0x0001标示了报文是请求类

型(request),在ARP协议中有源mac地址和ip地址以及要请求的主机的ip地址,要请求

的目的主机mac地址未知,用00:00:00:00:00:00表示。

精品文档

精品文档

图7 ARP响应报文

图7是ARP的响应报文,从图中能看出,ARP响应报文不再是以广播的形式在局域网中

传播了,它有明确的目的mac地址。从内容上看,ARP响应报文用字码0x0002标示该报文

是响应报文,响应报文返回了源和目的的mac地址和ip地址。

手机收到了来自无线路由器的ARP响应报文后,获知了ip包下一跳的mac地址,就能

与外界的网络进行通信了,这样手机接入无线网的过程就完成了。

精品文档

本文标签: 地址手机报文路由器无线