简记 ARP 和 ARP攻击
Posted lqlqlq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简记 ARP 和 ARP攻击相关的知识,希望对你有一定的参考价值。
1.
ARP = 询问局域网内的各个主机某 IP对应的机子的MAC是多少
ARP 请求帧的MAC会是FFFFFFFF,表示待寻找。
IP地址为A , 硬件地址为a 的主机,找IP地址为 B 的主机( 硬件地址为b ),但是A的缓存表中没有特定条目,即没有 B - b 的缓存条目。
于是A发送 一条ARP信息 : 源IP = A 源MAC = a ; 目的IP = B 目的MAC = FFFFFFFF 类型是ARP request
B收到之后 在本机的ARP缓存中存 A - a 记录。表示知道IP为A的主机的MAC地址是a。
并且发出 一条ARP信息: 源IP = B 源MAC = b;目的IP = A 目的MAC = a 类型是ARP reply
A收到之后 在本机的ARP缓存中存 B - b 记录。表示知道IP为B的主机的MAC地址是b。
以后向B通信就可以在 MAC帧中把 b 当作目标MAC地址包进去。
2.
ARP攻击
上述过程如果有一台黑客的机子 C 要冒充 B 的话
C打开网卡的混合模式(Linux 通过 ifconfig 网卡名 promisc 指令打开混合模式,还没试过能不能达到效果)
在A发送ARP request之后,即使C的IP不是 B,C也会对A的 ARP request 做出反应。
具体是回复一条ARP信息 : 源IP = B 源MAC = c(C的MAC地址) 目的IP = A 目的MAC = a
A接收到这条假的ARP信息,就会把 B - c 这条记录存在ARP缓存中
如果A,B,C 之间是通过一条交换机链接的话,交换机会记下MAC地址对应的端口。
C发送上述的这条伪装的ARP信息之后,交换机就会记录下c对应的端口是通向C的。
以后只要A访问IP地址B,就会根据A上的ARP缓存,指定MAC地址是 c,而交换机又记录了 c 的端口是通向 C的,所以信息都会发送给C。
B得不到A发送的信息。上述即ARP攻击,同理,对B也可以发起同样的攻击。这样的话,相当于C在A,B两者之间充当一位代理。
掌控A和B之间通信的内容。如果通信的内容没有加密的话,C可以根据内容,在A,B两者之间建立起看似正常的会话。
以上是关于简记 ARP 和 ARP攻击的主要内容,如果未能解决你的问题,请参考以下文章