局域网内有人使用ARP欺骗的木马程序
【故障原理】
要了解故障原理, 我们先来了解一下ARP协议。
在局域网中, 通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。 ARP协议对网络安全
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。 在局域网中, 网络中实际传输的是“帧”, 帧里面是有目标主机的MAC地址的。 在以太网
每台安装有TCP/IP协议的电脑里都有一个ARP缓存表, 表里的IP地址与MAC地址是一一对应的, 如下表所示。
主机 IP地址 MAC地址
A 192.168.16.1 aa-aa-aa-aa-aa-aa
B 192.168.16.2 bb-bb-bb-bb-bb-bb
C 192.168.16.3 cc-cc-cc-cc-cc-cc
D 192.168.16.4 dd-dd-dd-dd-dd-dd
从上面可以看出, ARP协议的基础就是信任局域网内所有的人, 那么就很容易实现在以太网上的ARP欺骗。 对目标A进行欺骗, A去Ping主机C却发送到了DD-DD-DD-DD-DD-DD这个地址上。 如果进行欺骗的时候, 把C的MAC地址骗为DD-DD-DD-DD-DD-DD, 于是A发送到C上的数据包都变成发送给D的了。 这不正好是D能够接收到A发送的数据包了么, 嗅探成功。
A对这个变化一点都没有意识到, 但是接下来的事情就让A产生了怀疑。 因为A和C连接不上了。 D对接收到A发送给C的数据包可没有转交给C。
做“man in the middle”, 进行ARP重定向。 打开D的IP转发功能, A发送过来的数据包, 转发给C, 好比一个路由器一样。 不过, 假如D发送ICMP重定向的话就中断了整个计划。
D直接进行整个包的修改转发, 捕获到A发送给C的数据包, 全部进行修改后再转发给C, 而C接收到的数据包完全认为是从A发送来的。 不过, C发送的数据包又直接传递给A, 倘若再次进行对C的ARP欺骗。 现在D就完全成为A与C的中间桥梁了, 对于A和C之间的通讯就可以了如指掌了。
……