ARP协议 路由器原理 1 广播与广播域 广播:将广播地址作为目的地址的数据帧 广播域:网络中能够接收到同一个广播所有节点的集合(在这里广播域越小越好) 交换机控制不了广播 路由器可以控制广播 路由器可以隔离广播域 2 MAC地址广播 广播地址为FF-FF-FF-FF-FF-FF IP地址广播 1. 255.255.255.255 2. 广播IP地址为IP地址网段的广播地址,如192.168.1.255/24 3 ARP协议:地址解析协议 将一个已知的IP地址解析成MAC地址 4 ARP原理: 1)发送ARP广播请求 2)接收ARP单播请求 ARP请求报文内容:我是10.1.1.1 我的MAC是。。。 谁是10.1.1.3 你的MAC地址是? 5 IP地址解析为MAC地址 PC1 发送数据给PC2,首先查看ARP缓存表有没有PC2 的MAC地址 有 直接发送 没有: PC1 发送ARP广播请求报文 所有主机(网段内)都会接收到ARP请求信息 其他主机丢弃 PC2 发送单播应答报文 PC1 将PC2 的MAC地址缓存到ARP缓存表中,然后发送数据 5 需求分析 6 ARP攻击与欺骗 原理: 通过发送伪造虚假的ARP报文(广播或者单播)来实现的攻击或者欺骗 攻击:结果为中断通信(断网) 如: 虚假报文的MAC地址是伪造的,不存在的,以此来实现ARP攻击 欺骗: 结果为 可以监听,窃取,篡改,控制流量,但不中断通信 虚假报文的是自己的MAC地址,以此来实现ARP欺骗 如果图中PC3 发送的报文中 MAC地址是虚假的不存在的 则会造成PC1 的中断通信 这是ARP攻击 如果图中PC3 发送的报文中 MAC地址是他自己本身的 则会造成 PC1余PC2 的通信 PC3 可以通过抓包进行获取 同时以此可以进行修改信息 但不会中断通信 这是ARP欺骗 ARP协议没有验证机制 ARP攻击者通过发送虚假伪造的ARP报文对受害者进行ARP缓存投毒 路由器工作原理: 路由器的工作原理 凡是可以配IP地址的接口才有MAC地址 路由器与PC是同种设备 1)一个帧到达路由,路由器首先检查目标MAC地址是否自己,如果不是则丢弃,如果是则解封装,并将IP包送到路由器内部 2)路由器检查IP包头中的目标IP,并匹配路由表如果匹配失败,则丢弃,并向源IP回馈错误信息,如匹配成功,则将IP包路由到出接口 3)封装帧,首先将出接口的MAC地址作为源MAC封装好,然后检查ARP缓存表,检查是否有下一跳的MAC地址,如有,将提取并作为目标MAC地址封装到帧中,如没有,则发送ARP广播请求下一跳的MAC,并获取到对方的mac地址,再记录缓存,并封装帧,最后将帧发送出去。 如上图中:如果将数据从10.1.1.1发送到40.1.1.1 以下简称为 10.1 40.1 图中AA II BB等为简写的MAC地址 交换机MAC地址表已经学习完全 此时不知道 40.1 的MAC地址 --AA10.1 40.1 帧包发不出去 1 由于在不同网段 此时AA发送ARP广播请求报文:我是10.1 我的MAC地址是AA 谁是10.1.1.254(网关),你的MAC地址是? 2 网关接收后回应发送ARP单播报文:我是254,我的MAC地址是CC 同时ARP缓存表会进行缓存 10.1.1.254 CC 3 此时为 CCAA10.1 40.1 AA发送帧包到CC 4 路由器收到帧后 会先判断目标MAC地址是自己不,不是丢弃 是则进行解封装,并将IP包送到路由器内部 5 路由器检查IP包头中的目标IP,并匹配路由表如果匹配失败,则丢弃,并向源IP回馈错误信息,如匹配成功,则将IP包路由到出接口 6 封装帧,首先将出接口的MAC地址作为源MAC封装好,然后检查ARP缓存表,检查是否有下一跳的MAC地址,如有,将提取并作为目标MAC地址封装到帧中,如没有,则发送ARP广播请求下一跳的MAC,并获取到对方的mac地址,再记录缓存,并封装帧,最后将帧发送出去。 7 后面过程都是如此 直到帧到达OO 帧为 OOFF10.1 40.1 8 路由器收到帧后 目标MAC地址是自己的,进行解封装,并将IP包送到路由器内部 9 路由器检查IP包头中的目标IP,匹配路由表找到40.1 直连的 直连路由 IP包到达出接口HH 10 发送ARP广播请求报文,II回应发送单播报文找到40.1的MAC地址,同时ARP缓存表会进行缓存,学习到ARP缓存表 11 重新封装 IIHH10.1 40.1 然后发送 到达交换机 交换机进行自己的工作 检查MAC地址表找到 II 将帧发送过去 12 到达40.1 后进行解封装 得到应用层数据
标签:ARP,IP,广播,MAC,地址,原理,路由器 From: https://www.cnblogs.com/shycom/p/16731280.html