day14、1 - 网络层--ARP协议

本文介绍了ARP协议的工作原理,包括广播域的概念、ARP请求与应答的过程,以及为何需要缩小广播域。同时,讨论了ARP攻击和欺骗的机制,如伪造ARP报文导致的通信中断或数据篡改,并阐述了ARP欺骗如何成为中间人攻击的手段。最后,提到了ARP攻击的防范措施和Windows中查看及清理ARP缓存的命令。

一、ARP协议

1.广播与广播域

  • 广播:将广播地址做为目的地址的数据帧

  • 广播域:网络中能接收到同一个广播所有节点的集合(表示一个范围)

  • 广播地址:

    • MAC广播地址:FF-FF-FF-FF-FF-FF

      交换机也可以发送广播,但是如果只有IP广播地址,由于交换机是二层设备,不知道第三层的IP包头中的IP广播地址,所以还需要一个二层广播地址FF-FF-FF-FF-FF-FF告诉二层设备该帧是需要广播的

    • IP广播地址:①255.255.255.255;②该网段的最后一个地址属于广播IP地址—如192.168.1.255/24

  • 目前为止,我们学过哪些情况需要广播:①DHCP协议自动获取IP时,需要发送广播包,②交换机收到帧,MAC地址表中没有对应的MAC地址记录时,需要广播

  • 广播域越小越好:为什么呢?因为如果一个广播域中有很多台PC,假如每台PC都会发广播,那么在这个广播域中的每台主机会受到很多无用的广播信息,无非加大工作量去处理无效的信息。所以如果在一个大型公司内部规划网络,是需要考虑广播域的划分大小的

  • 交换机无法控制广播,路由器可以隔绝广播,即路由器可以隔绝广播域,所以广播只能在内网中传播

  • 如何隔绝广播域:

    1. 使用物理隔离:由于路由器可以有隔绝广播域的作用(后面会学习原理),所以如果大型网络中有很多PC,可以购买多个路由器来隔离广播域,但是开销巨大且费时费力,不推荐
    2. 通过vlan技术隔绝广播域

2.ARP协议概述

1)什么是ARP协议
  • Address Resolution Protocol,地址解析协议
  • ARP协议只能在内网传播,属于内网协议
2)为什么需要ARP协议
  • 我们前面学习TCP/IP五层协议栈的数据封装时,讲到当第三层将封装好的报文传到第二层数据链路层,数据链路层需要封装帧头和帧尾,帧头中包含信息:自己的MAC地址,目标的MAC地址,类型。只有知道这全部的信息,才能封装好发到物理层,从网卡发出去。那么电脑是如何得知对方的MAC地址的,就要用到ARP协议!
3)ARP协议作用
  • 将一个已知的IP地址解析成MAC地址

3.ARP协议原理

1)ARP广播请求
  • 在同一个局域网中有两台PC,PC1想向PC2通信,PC1将信息传到第四层在首部添加TCP/UDP头封装成数据段,发到第三层在首部添加IP包头封装成报文通过IP协议发到第二层,第二层现在无法将报文封装成帧,因为帧头中应该包含目标MAC地址,而此时还不知道PC2的MAC地址。

  • 那么三层会通过ARP协议(跟IP和ICMP无关)直接生成一个ARP请求解析报文,又称ARP请求报文,ARP请求报文中内容为:①我的IP是xx,②我的MAC地址是xx,③谁是目标IP,④你的MAC地址是多少。再将ARP请求报文发到第二层

  • 第二层一看是ARP请求报文,所以会将ARP请求报文通过广播发送,即封装成帧时,帧头中目标MAC地址为FF-FF-FF-FF-FF-FF(MAC广播地址),源MAC为自己的MAC,类型值为0x0806。将封装好的帧从网卡通过物理层发送到交换机

  • 交换机收到帧后解封装得知目标MAC地址为MAC广播地址,所以会将此帧广播出去

  • 当PC2收到此帧后,传到第四层得到目标MAC地址为MAC广播地址且类型值为0x0806,所以会继续解封装送到网络层的ARP协议,通过ARP协议得到ARP请求报文的内容,发现目标IP是自己

    当其他不相干的PC收到这个帧,传到第四层得到目标MAC地址为MAC广播地址且类型值为0x0806,所以会继续解封装送到第三层的ARP协议,第三层通过ARP协议解析到ARP请求报文的内容,发现IP地址不是自己,所以此时会将此报文丢弃

2)ARP单播应答
  • PC2得到ARP请求报文内容后发现IP是自己,那么会通过ARP协议再生成一个ARP单播应答报文,内容为:①我的IP就是你要找的IPxx,②我的MAC地址为xx。将此报文发到第二层,第二层将ARP单播应答报文封装成帧,帧头的目标MAC即为对方的(收到时ARP广播请求报文中含有对方的MAC地址),源MAC为自己,类型值为0x0806。再从网卡通过网线发送给交换机
  • 交换机收到后,通过MAC地址表将此帧转发给PC1
  • PC1收到帧后第四层得到目标MAC地址为自己的MAC,且根据类型值0x0806将帧解封装送到第三层的ARP协议,第三层通过ARP协议解析得到了ARP单播应答报文中对方的MAC地址为xx,那么此时会将对方的MAC地址告诉第四层,第四层将目标MAC地址封装到帧头,此时一个完整的帧就生成了,那么会经过网卡将帧发出去

ARP协议通过广播来实现的,所以ARP协议碰到路由器就被干掉了,ARP为内网协议,只能在内网传播。

3)形成ARP缓存
  • 当PC1收到ARP单播应答后,会将学习到的对方的MAC地址存到缓存中,以后与目标IP主机通信,就不会再去请求。此时得到的缓存为ARP缓存(只要没到老化时间、保持通信、没有关机,缓存就会一直存在)

4.windows中ARP相关命令

  • arp -a:查看本机ARP缓存表
  • arp -d:清除ARP缓存
  • arp -s:ARP绑定(其实绑定了再关机开机也会消息)

二、ARP攻击和欺骗

1.ARP攻击或欺骗的原理

  • 通过发送伪造虚假的ARP报文(广播或单播),来实现的攻击或欺骗!
    • 如虚假报文的mac是伪造的不存在的,实现ARP攻击,结果为中断通信/断网!
    • 如虚假报文的mac是攻击者自身的mac地址,实现ARP欺骗,结果可以监听、窃取、篡改、控制流量,但不中断通信!

2.易于用ARP攻击的原因

  • ARP协议没有验证机制,所以ARP攻击者易于通过发送虚假伪造的arp报文对受害者进行ARP缓存投毒

3.ARP攻击举例

1)伪造虚假的ARP单播应答报文
  • 阻断局域网内双发的通信

    • 现在小周想与小白通信,小周会发送ARP请求报文:问谁是小白(IP),你的MAC地址是多少?当交换机收到后会将此帧在局域网内广播,如果现在老王想搞破坏,收到ARP请求广播后,使用一些工具,发送一个伪造的ARP单播应答报文,当中的MAC地址是伪造的,内容是:我是小白,我的MAC地址是xxx(伪造MAC)。真正的小白也会发送ARP单播应答。两个ARP单播应答都会通过交换机发送到小周的主机
    • 现在小周的主机收到两个ARP应答,两个都说自己是小白,但是MAC地址不同,PC会把后接收到的ARP应答中的MAC地址作为对方的MAC地址封装到帧头中。所以如果老王的ARP应答晚于小白的ARP应答到达,那么小周就会用老王伪造的虚假的MAC地址与小白通信。小白就永远收不到小周的消息。由此可见ARP攻击可以阻断局域网内两个人之间的通信
    • 也可能小周的主机后收到小白的ARP应答,那么就可以正常通信。但是如果老王不断的发送伪造的ARP应答,那么也会阻断两者之间的通信
  • 阻断与网关的通信–断网

    • 当主机要与某设备通信,会先判断目标IP地址与自己是否是同一网段,如果是直接向对方发送ARP请求广播;如果不在同一网段,那么主机要与网关通信,通过网关将数据转发到其他的网段。假如现在小周想上百度,就要和百度的网页服务器通信,主机先判断目标IP地址与自己不在同一网段,所以会发送ARP请求报文,目标IP为网关,向网关通信询问网关的MAC地址。交换机收到后也会将帧在局域网内广播,如果现在老王伪造一个ARP应答报文:我就是网关,我的MAC地址是xxx(伪造的)。同样的网关收到后也会发送ARP单播应答。两个ARP应答都通过交换机发送到小周主机
    • 假如现在小周后收到老王伪造的ARP应答,那么就会把伪造的MAC地址作为网关的MAC地址封装到帧头,然后发送给一个不存的MAC地址,那么小周的主机就无法和百度服务器通信,其他的上网活动也都无法进行
2)伪造虚假的ARP请求广播报文
  • 现在老王伪造ARP请求报文,内容是:我是网关(IP),我的MAC地址是xx(虚假的),谁是xxx(IP),你的MAC地址是。然后封装好发送出去给交换机,交换机收到后会将此帧广播出去
  • 局域网内的人收到广播后,会解封装将ARP请求报文送到三层ARP协议解析,虽然自己的IP不是此报文中的目标IP,但是得到网关的IP和虚假的网关的MAC地址,那么在主机上形成ARP缓存。那么此后所有的主机要想上网都会去和网关通信,但是现在ARP缓存中的网关的MAC地址是老王伪造的,那么此局域网内的所有主机都无法上网了

4.ARP欺骗举例

  • 原理与ARP攻击类似,只是将虚假的MAC地址换成了自己的MAC地址。现在小周与小白通信,小周发送ARP请求广播,通过交换机将帧在局域网内广播,此时老王收到了你的ARP请求,伪造一个ARP单播应答报文,MAC地址写自己真实的MAC地址,然后再经过交换机发送到小周的主机,将老王的MAC地址作为小白的MAC,那么所有帧都会发到老王的主机上去
  • 老王收到后可以对帧的内容等信息做监听,篡改,控制等。然后再将此帧发给真正的小白。同理小白发送给小周的信息也可以被老王截获做相关操作,再转发给小周。那么老王就成为了中间人。
由于提供的实训文档中仅包含**文字形式的理论知识、配置命令及流程说明**,未附带任何“结果图”(如实验拓扑验证结果截图、路由表/邻居表显示截图等)或“配置图”(如网络拓扑结构图、设备接口配置示意图等),因此无法直接提取或生成对应图片。 不过,可根据每天的核心内容,为你梳理出“结果图/配置图的核心要素”,以便你自行绘制或在实验中验证时参考: ### 一、第一天(8月25日):网络基础与设备原理 #### 核心配置图要素 1. **网络拓扑结构示意图** - 包含星型、环形、树型、网状拓扑的结构标注(如星型拓扑中“中心交换机+周边PC/设备”的连接关系)。 - 双绞线(超五类线)、光纤的传输距离标注(超五类线100m、光纤单模/多模差异)。 2. **交换机MAC地址表示意图** - 表头:`MAC地址 | 对应接口 | 老化时间(300s)`,示例条目(如`68-54-5A-54-64-BA | GigabitEthernet0/0/1 | 280s`)。 #### 核心结果图要素 - **HUB与交换机的冲突对比图**:HUB所有端口共享带宽(标注“冲突域”),交换机每个端口独立冲突域(标注“无冲突”)。 ### 二、第二天(8月26日):IP地址与ARP协议 #### 核心配置图要素 1. **IP地址分类与网段划分图** - 标注A/B/C类地址范围(如A类`0.0.0.0-127.255.255.255`、默认掩码`255.0.0.0`)、特殊IP(环回`127.0.0.1`、广播`255.255.255.255`)。 - VLSM子网划分示例(如`192.168.1.0/24`划分为`/25`:`192.168.1.0-126`和`192.168.1.128-254`)。 2. **ARP缓存表示意图** - 表头:`IP地址 | MAC地址 | 类型(动态/静态) | 老化时间(180s)`,示例条目(如`192.168.1.10 | 00-11-22-33-44-55 | 动态 | 150s`)。 #### 核心结果图要素 - **ARP请求/应答流程时序图**:客户端广播ARP请求(目标IP+全F MAC)→ 目标设备单播ARP应答(携带自身MAC)。 ### 三、第三天(8月27日):OSI/TCP/IP模型与PDU #### 核心配置图要素 1. **OSI与TCP/IP模型对比图** | OSI模型 | TCP/IP模型 | 核心功能 | PDU单位 | |----------------|------------------|---------------------------|-----------| | 应用层 | 应用层 | 人机交互(HTTP/DNS等) | 报文 | | 表示层 | 应用层 | 数据格式转换(压缩/加密) | 报文 | | 会话层 | 应用层 | 建立会话连接 | 报文 | | 传输层 | 传输层 | 端到端传输(TCP/UDP) | 段 | | 网络层 | 网络层 | IP寻址与路由 | 包 | | 数据链路层 | 网络接口层 | MAC寻址(帧封装) | 帧 | | 物理层 | 网络接口层 | 电信号处理 | 比特流 | 2. **TCP/UDP头部结构示意图** - TCP头部:标注源端口(16位)、目的端口(16位)、序号(32位)、ACK标记位、窗口大小(16位)。 - UDP头部:标注源端口(16位)、目的端口(16位)、长度(16位)、校验和(16位)。 #### 核心结果图要素 - **数据封装/解封装流程**:应用层报文→传输层加TCP/UDP头(段)→网络层加IP头(包)→数据链路层加MAC头(帧)→物理层比特流。 ### 四、第四天(8月28日):TCP挥手、IP头部与设备管理 #### 核心配置图要素 1. **TCP四次挥手时序图** - 步骤1:客户端发`FIN=1`(请求断开);步骤2:服务器发`AC找到对应的图片
09-07
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值