WiFi与移动蜂窝网技术原理详解

1,395 阅读7分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

引言

  话接上期局域网与移动蜂窝网(传送门),本期讨论关于其安全领域的内容。我们学习网络安全,第一个接触的不是编程,而是计算机网络相关的知识。只有了解了网络结构,才能更好的进行渗透测试。我们学的大部分内容,都是在局域网内进行的,像ARP攻击、VPN穿透、MITM攻击等等。

  现在移动设备已经十分普及,上至70岁老爷爷、下至13岁初中生,几乎是人手一部手机。那么由于手机的移动性特点,使用的是移动蜂窝网络,这么庞大数量的设备,如何进行渗透测试呢。

数据上网与WiFi上网

  上一篇(传送门)有提到以太网和WiFi两者的原理。基本上二者无太大差异,WiFi几乎可以看作是去掉了网线的以太网。数据帧、mac地址、arp协议等等全都一样,所以学习局域网并不在乎是以太网还是WiFi。

  移动蜂窝网就不一样了,拿上一篇的mac地址举例。我们都知道,电脑上的每一块网卡都有一个mac地址,有了这个地址就能利用arp协议解析成IP,从而进行通信。那么手机4G通信是否也如此呢?答案是否定的:4G通信没有mac地址。

  mac地址是802协议簇里的定义,移动通信里主要是3GPP协议簇。手机设备在使用移动数据网络时主要靠imsi码(注意是imsi码,不是imei码)作为标识,不靠mac地址。其中imsi码通常由sim卡决定,安卓机可用*##4636##代码查看(貌似很多机型都已经关闭了该命令)。 这里需要注意的是,imsi码是相对sim卡而言的,不是手机。而手机对应的是IMEI码(可以通过#06#命令查看)。入网成功后imsi就会被替换临时性的tmsi码以防止被追踪。现在sim卡有三类,基本上都在向Nano型转移,如图:

image.png   以4G LTE为例,它对用户设备的IP分配是由PGW(PDN网关,可以简单理解为把用3GPP协议的设备接入到互联网的一个中介,因为核心网主要是tcp/ip协议栈)完成的,下图就是PGW对UE进行动态ipv4分配的一个流程图,箭头处可以看出UE在启动后的首次附着请求(请求网络接入)时,会把自己的imsi通过一系列中间环节传输到PGW,由此可见PGW通过是imsi分配ip等网络参数给UE,并不使用mac地址。如图:

image.png

  网卡是这样定义的:网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。它使得用户可以通过电缆或无线相互连接。每一个网卡都有一个被称为MAC地址的独一无二的48位串行号,它被写在卡上的一块ROM中。在网络上的每一个计算机都必须拥有一个独一无二的MAC地址。MAC(Media Access Control Address)地址 ,用来唯一的表示网卡。

  可以看出,wifi上网和数据上网,有明显的差别:网卡不一样;mac地址不一样;通信协议不一样。

  上一篇我们说了,TCP/IP协议栈是一个四层的体系结构,应用层、传输层、网络层和网络接口层。在课本上是把网络接口层分成了数据链路层和物理层。WiFi本质上在底层走的还是以太网(Ethernet)协议,帧封装都和有线一样。所以手机通过路由器连接WiFi上网, 在链路层实际上依旧走的是以太网。基本可以看作手机连接了一根网线到路由器,所以通信媒介依然可以看作传统意义的网卡接入。当然区别也是有的:以太网是用CSMA/CD协议来解决冲突问题,而WiFi是CSMA/CA协议。

  4G上网使用的是蜂窝网络,信号以电磁波的形式传播(当然WiFi也是电磁波传递),发送到基站,基站再通过交换机转发,并通知目标设备,回传结果。其上网媒介用得是无线通信专用的无线基带通信模块,而非普通的网卡。

  Wifi上网可以看做是网卡设备上网,仍然遵循IEEE 802,链路层走的是以太网,支持ARP/RARP,同时在链路层采用以太网协议进行帧数据封装,前面分别是48位目标MAC地址跟源MAC地址。

  4G流量上网的时候,链路层走的是PPP协议,该协议下没有MAC地址的概念,相对应的每个无线通信模块都有imsi码,来标识每一个无线通信模块。

蜂窝网络

  蜂窝网络(英语:Cellular network),又称移动网络(mobile network),是一种移动通信硬件架构,由于构成网络覆盖的各通信基站的信号覆盖呈六边形,从而使整个网络像一个蜂窝而得名。

  注意,前面我们一直谈的是4G,其实蜂窝网络又分为模拟蜂窝网络数字蜂窝网络。在3G以前都是模拟蜂窝网络。另外蜂窝网络底层是PPP协议 (Point-to-Point Protocol)协议。顾名思义,PPP协议就是为了在同等单元之间传输数据包而设计的链路层协议。拿4G LTE举例,其协议簇如下图:

image.png   可以看到,与我们熟知的WiFi是完全不同的。鉴权和连接都比WiFi复杂很多。这些协议就不具体全部展开了,大家感兴趣按照第三列的Description去找它的官方文档看看。再看下LTE实体部分,也就是需要硬件的部分:

image.png 如果发生信道切换,则引发IRAT,LTE也可以和2G/3G发生IRAT。如图,这是切换2G:

image.png 下图是切换3G:

image.png 至于为什么要提会发生信道切换,下一期将会揭晓。

WiFi联盟

  WiFi是802.11标准规定的。WiFi本身并不是一个协议,而是一些列协议和标准的总称,由WiFi联盟IEEE共同维护和开发,但是IEEE并不仅仅只负责WiFi,还有很多其它的工作。IEEE 和 Wi-Fi 联盟,我用一张图来说明他们的发展轨迹:

image.png   Wi-Fi 联盟更注重 Wi-Fi 设备的合规性和互操作性认证。 而且它还重点致力于 Wi-Fi 功能与技术的市场推广。IEEE更多的是详细和具体的协议的制定。

  无论WiFi标准体系有多庞大,蜂窝网络又有多复杂,他俩定义的都是网络接口层的内容(即数据链路层和物理层),哪怕它们包含成百上千套方案、协议、规范和标准,也都是在网络接口层,并不涉及网络层及网络层以上的内容。因此只要不是针对局域网的攻击,都可以扩展到移动蜂窝网的范围。

  我们之前的攻击都是针对局域网的,也就是通过以太网或者WiFi上网的设备。那么既然移动蜂窝网底层与WiFi大不相同,是不是就安全了呢,之前的攻击手段是否没用呢?下一期将会讲解移动蜂窝网的安全问题。敬请关注。有兴趣的可以关注笔者公众号:极客随想。获取更多优质内容。