目录
-
初步理解
- ARP协议属于TCP/IP体系结构的网际层,作用是已知设备所分配到的IP地址,使用ARP协议,可以通过该IP地址获取到设备MAC地址(网际层)
- IP地址是TCP/IP体系结构网际层所使用的地址(网际层)
- MAC地址是以太网的MAC子层所使用的地址(数据链路层)
-
MAC地址:
- 使用点对点信道的数据链路层不需要使用地址(一对一传输了,不需要),而使用广播信道的数据链路层必须使用地址来区分各主机
- 多个主机连接在同一个广播信道上,要实现两个主机之间的通信,每个主机都必须有一个唯一标识,也就是数据链路层地址
- 在每个主机发送的帧中,必须携带标识有发送主机和接收主机的地址,这类地址用于媒体接入控制MAC(media access control),故称为MAC地址
- MAC地址一般固化在网卡(网络适配器)的电可擦可编程只读存储器EEPROM,故称为硬件地址,也称为物理地址(但注意,不属于物理层,而是数据链路层)
- MAC地址不是设备的唯一标识,而是网络上各接口的唯一标识(如一般主机有两个网卡,有线局域网和无线局域网,每个网卡都有一个全球唯一的MAC地址;而路由器和交换机有很多接口,所有会有很多的MAC地址)
- IEEE802局域网的MAC地址表示方法:其中OUI(Organizationally Unique Identifier),EUI(Extended Unique ldentifier)
-
分6个字节,每个字节之间用 - 或 :区分,每个字节均为2部分,每部分(4比特)用一位十六进制的值表示(二进制转十六进制)
- IEEE802局域网的MAC地址分类:
- 主要分为4类(2*2组合),其区分主要看MAC地址第一个字节倒数两位二进制数值
- 倒数一位数值:0表示单播,1表示多播
- 倒数第二位数值:0 表示全球管理,1表示本地管理
- 判断是否为单播的技巧:用第一字节的十六进制表示值,除以2,若余数为0则为单播
- MAC地址48位全是1时,也即十六进制FF-FF-FF-FF-FF-FF,为广播地址
- 多播时,需使用多播组列表:
- 注意:给主机配置多播组列表进行私有应用时,不得使用公有的标准多播地址
-
IP地址
- IP地址是因特网上主机和路由器所使用的地址(网络层范畴),分为两部分,分别标识:
- 网络编号(IP地址前三部分):标识因特网上的各个网络(一个路由器和其出口所连接的主机构成一个网络)
- 主机编号(IP地址最后一部分):标识同一网络上不同主机
- MAC地址不具备标识不同网络的功能,所以主机所在网络要接入因特网,则IP地址和MAC地址都要使用。当然,若只是一个单独网络,不接入因特网,则可以只使用MAC地址
- 数据包转发过程中IP地址和MAC地址的变化
- 源IP地址和目的IP地址一直不变
- 源MAC地址和目的MAC地址逐个链路(或逐个网络)改变
- IP地址和MAC地址或许可以如下理解:IP地址告诉你源头和目的地,而中途怎么走,经过哪些站点需要不断问路,而这路也就是MAC地址
- IP地址是因特网上主机和路由器所使用的地址(网络层范畴),分为两部分,分别标识:
-
ARP协议:
- ARP协议只在一个网络中使用,不能根据IP地址跨网络识别另一台主机的MAC
- 一般每台主机都ARP高速缓存表,记录该主机所了解到的IP地址和MAC地址的对应值
- IP地址和MAC地址的对应类型有:
- 动态:自动获取,生命周期默认为2分钟(因为IP地址和MAC地址的对应值不是一成不变的,比如网卡坏了,换了一个网卡,其主机的IP地址没变,但对应的MAC地址是改变了的)
- 静态:手工设置,不同操作系统下的生命周期不同,例如:系统重启后不存在或系统重启后依然有效
- 源主机在自己的ARP高速缓存表中能查找到目的主机IP地址对应的MAC地址,则可以封装MAC帧发送。若找不到,则需通过广播的方式发送ARP请求
- 目的主机收到ARP请求后,将源主机的IP地址和MAC地址记录到自己的ARP高速缓存表中,然后通过单播的方式向源主机发送ARP响应(含目的主机的IP地址和MAC地址)
- 源主机收到ARP响应后,将相应信息记录到ARP高速缓存表中,然后就可以封装之前要发送的MAC帧,并将他发送给目的主机
- 除了ARP请求和响应外,ARP还有其他类型的报文(如用于IP地址冲突的“无故ARP/免费ARP”)
- 无故ARP:主机A 自动/手动 生成一IP地址,检测该地址是否存在(发出一个ARP广播包[无故广播包],该包的源地址和目的地址都是自己的IP,借此广播自己的存在)
- 若网络上有该IP地址,相应主机B会发个单播回应主机A,并再发送一次ARP广播包[无故ARP包],广播自己才是网络中该IP地址的通信者
- 若网络上没有主机回应,则主机A会再发2次ARP广播包[无故广播包],要还是没有回应,则这个IP地址就可能正常使用了
- 无故ARP:主机A 自动/手动 生成一IP地址,检测该地址是否存在(发出一个ARP广播包[无故广播包],该包的源地址和目的地址都是自己的IP,借此广播自己的存在)
- ARP没有安全验证机制,存在ARP欺骗(攻击)问题
- ARP欺骗:
- 原理:利用ARP协议的弱点,主机不会检查自己是否接受或发送过该请求包,只要他收到ARP广播包,就会把对应的IP-MAC地址更新到自己的缓存表中。
- 利用上述原理,冒充网关或主机,无脑不断地向以太网发送我们的ARP广播包,告知我们的IP-MAC地址,这时其他主机就会被欺骗,ARP高速缓存表上对应的IP-MAC地址会更新为我们的IP-MAC地址,这样其他主机的数据包就会发送到我们主机上了
- ARP攻击:
- 当局域网内的计算机遭到ARP的攻击是,它就会持续地向局域网内所有的计算机及网络通信设备发送大量的ARP欺骗数据包,如果不及时处理,会造成网络通道阻塞、网络设备承载过重、网络的通讯质量不佳等情况
-
攻击类别有:ARP泛洪攻击(发送大量的ARP请求和响应报文)、ARP欺骗主机的攻击(数据外泄)、欺骗网关的攻击、中间人攻击(同时欺骗主机和网关)、IP地址冲突攻击
- ARP欺骗: