发布网友 发布时间:2022-04-24 03:04
共1个回答
热心网友 时间:2023-10-23 16:22
ARP协议通过询问和应答的机制获得局域网内其他机器的MAC地址。ARP协议是一个将IP地址转换为MAC地址的协议;将MAC地址转化成IP的协议叫RARP,而且这个协议不常用,因为IP层在物理层之上,通常不需要向上转换。
例如192.168.1.110试图与网关192.168.1.1通信,但它不知道网关的MAC地址,于是它发出一个询问包:Who has 192.168.1.1? Tell 192.168.1.110.
这个包是个广播包,也就是目的地址为FF-FF-FF-FF-FF-FF的包,其中还包含了发送方的IP地址和MAC地址。局域网内所有的机器都会收到这个包,但只有IP为192.168.1.1的机器(网关)会响应这个包,并依据包内记录的发送方IP地址和MAC地址发送一个应答包,内容为:192.168.1.1 is at d8:15:0d:a5:29:e4,也就是自己的MAC地址,接收方是192.168.1.110。这样,两台机器就互相知道了彼此的IP地址和MAC地址,可以开始通信了。
也正是因为这个机制的缺陷,ARP协议不是一个可信协议,它的安全性完全依靠主机的互相信任。因此攻击方完全可以伪造一个IP地址和MAC地址,封装进应答包然后不停广播,伪装成网关欺*域网内所有的主机,造成断线和数据被窃,这就是ARP攻击。
一次典型的ARP询问和应答:
追问你帮我把MAC地址的换算公式写下,怎么变成192.168.0.16追答
我再强调一遍,ARP协议是把IP地址转换为MAC地址的协议,而不是反过来;
你没有认真看我的回答,ARP协议获得MAC地址是通过双方问答完成的,不是通过公式计算的,因为IP地址和MAC地址随时可以变化,不可能有公式可以计算。