当前位置:网站首页>ARP协议及简单路由器原理(1)
ARP协议及简单路由器原理(1)
2022-08-03 05:26:00 【_RELIFE】
文章有点地方稍有不足,请求指正。
一、ARP相关内容。
ARP协议将对方ip地址解析为MAC地址
路由器可以隔离广播域,交换机不行。
1. ARP攻击的思路(面试会问): (比如当前有两个pc通信. )
1)主机A的ip是10.1.1.1,主机B的接收方10.1.1.2,网关10.1.1.254,
2) 主机A的MAC地址是AAAA, 主机B的MAC地址是BBBB。
情况一: 主机A给B发送信息,黑客想要中断两人通信
此时,A不知道B的MAC地址,因为MAC帧头要填写目标MAC地址,所以必须搞到手,所以,A主机发送ARP广播报文,这个报文像一个填空题,询问谁是10.1.1.2,并且填空自己MAC地址。如果此时有黑客伪造ARP应答报文发给A,并且注意,真的主机B同时也会发给A,那A会接收最后一个到手的ARP应答报文,黑客控制好时间重复发就可以让主机A得到假的MAC地址,从而影响A与B的通信。
情况二:黑客想要影响主机A上公网
比如主机A想要打开网页访问百度,在搜索栏里输入数据,此时,需要ARP协议先去向局域网内发送广播,询问谁是网关,也就是10.1.1.254,得到网关的MAC地址,有了此MAC地址,数据就可以加上帧头帧尾,把内容交给网关,网关再经过后续处理把数据转发出去,如果黑客此刻伪造网关给主机A一个假的MAC地址,那此时数据帧就不可能得到认可,必定不能上网。
情况三:ARP攻击除了发送应答报文外,广播报文也可以攻击。
比如当前网关MAC是BB,那伪造一个ip是10.1.1.254,MAC为CC的ARP广播报文,询问谁是10.1.1.1,向局域网内广播出去。此时,所有主机收到后一看,无论自己是不是10.1.1.1,无论找的是不是自己,一看对方ip是10.1.1.254,以为对方是网关,电脑很贪婪,就会在ARP缓存中记录下来。
下次准备上公网时,先找网关,一看自己缓存中有,MAC时CC,其实真的网关是BB,上不了网了,也就是被攻击了。
注意:之所以发送数据要直到对方的MAC,原因是从下到上,数据被封装成帧要先给交换机,交换机不认ip地址,只看数据帧头中的MAC地址,上面想要访问公网,一直请求得到网关MAC地址,也是希望有了网关的MAC地址后,交换机可以根据数据帧头中网关的MAC地址把数据帧送到路由器那里。
情况四:ARP欺骗,就是A和B通信,中间有个黑客C,C冒充自己是A,A给B发信息时又冒充自己是B,这样A和B发送信息就完全收到C的控制,同理,A与外网访问时,中间插入一个黑客C,可以对上网数据进行控制。
2. ARP防御手段:(面试会问)
1.静态绑定。
2.ARP防火墙: 比如攻击网关,黑客会向网关发送伪造ARP报文,而ARP防火墙也会比黑客更快发送ARP报文,两个人就开始比谁发的多,这样做会对网关增加极大的负担,不建议公司内部使用!!
3.硬件防御(面试会问): 企业级交换机,内置ARP检查功能,DHCP给员工分配ip那一刻,也就是员工把网线插在交换机的那一刻,交换机在该端口就偷偷动态绑定了员工的MAC和ip,此后只要员工发送有关ARP的报文时,交换机都会先验证,当然了,就算一开始不是DHCP给员工绑定ip,员工手动绑定,那交换机也能从DHCP以外的数据包中获得该员工的MAC和ip。
下图是配交换机时的批量命令
目的是批量打开所有端口的DHCP监听功能。
---------------------------------------------------------------------------------------------------------------------------------
二、路由器相关内容(面试重点!!!!!!!!)。
路由器原理: 当一个数据帧到达路由器后,首先会把帧解封装,看看帧头中的目标MAC地址是不是自己,如果不是就丢弃返回错误信息,如果是,则去掉帧头帧尾,把ip数据包送往路由器内部进行判断。 进入内部后,查看目标ip与路由表条目是否匹配,如果不匹配,则丢弃数据并返回报错信息。如果匹配了,则重新封装帧头帧尾,帧头中源MAC地址变成路由器出接口的MAC地址,目标MAC地址要首先检查路由器中有没有ARP缓存,如果没有,则向下一跳的路由器发送ARP广播报文,从而得到目标MAC地址,最后把该帧发送出去。
边栏推荐
猜你喜欢
随机推荐
【面试准备】游戏开发中的几个岗位分别做什么&考察侧重点
增强光学系统设计 | Zemax 全新 22.2 版本产品现已发布!
VS2022 encapsulation under Windows dynamic library and dynamic library calls
ZEMAX | 在设计抬头显示器(HUD)时需要使用哪些工具?
2-php学习笔记之控制语句,函数
二分查找5 - 第一个错误的版本
零基础小白想往游戏建模方向发展,3D游戏建模好学嘛?
稳压二极管的工作原理及稳压二极管使用电路图
使用ZBrush制作恶魔模型
servlet learning (7) ServletContext
Typora
使用JSP实现简单的登录注册功能,并且使用Session跟踪用户登录信息
什么是参数化设计,通过实操了解一下? | SOLIDWORKS 操作视频
设备树(devicetree)-dts语法
剑指 Offer II 001. 整数除法
cb板上常用的电子元器件都有哪些?
VS2022 encapsulates static libraries and calls static libraries under window
ZBrush+Substance制作蜥蜴巫婆医生!
BurpSuite 进阶玩法
【第三周】ResNet+ResNeXt