当一台电脑需要发送数据给另一台电脑,比如192.168.0.2 MAC地址是:00-19-e0-29-7f-47要发送数据给192.168.0.3,MAC地址是00-11-5b-7e-08-ae,这个时候,192.168.0.2就会在网络上发送一个ARP广播,这个ARP广播包的数据结构就是
源地址:192.168.0.2 MAC地址:00-19-e0-29-7f-47
目标地址:192.168.0.3
数据包:“谁是192.168.0.3,请返回你的MAC地址”
当192.168.0.3收到后,就会回应一个数据包
源地址:
IP地址:192.168.0.3
MAC地址:00-11-5b-7e-08-ae
数据包:“我的MAC地址是00-11-5b-7e-08-ae”
当192.168.0.2接收到这个数据包后,就会在本地缓存记下192.168.0.3的MAC地址。
我们可以通过ARP -a 命令看到这个缓存:
C:\>arp -a
Interface: 192.168.0.2 --- 0x2
Internet Address Physical Address Type
192.168.0.3 00-11-5b-7e-08-ae dynamic
这其中的Internet Address就是IP地址,Physical Address就是物地址,Type 下面是dynamic,表示是动态更新。
默认情况下ARP缓存的超时时限是两分钟,也就是2分钟以后,又会发起一次ARP询问,而ARP欺骗正是利用这个特点。
一般ARP欺骗都是进行网关欺骗,也就是大家上网都要通过的一个节点,如一般网络中192.168.0.1是网关地址,假设他的MAC地址是00-90-7f-2e-47-bf,
我们看192.168.0.2如何进行ARP欺骗
首先192.168.0.2会在网络中不断地发送数据包,格式如下:
源地址:
IP:192.168.0.2 MAC:00-19-e0-29-7f-47
目标地址:192.168.0.255 [广播,意思是所有网络上的电脑都能接收到]
数据包:“我是192.168.0.1,我的MAC是00-19-e0-29-7f-47”
[其实真正的192.168.0.1的MAC地址应该是00-90-7f-2e-47-bf]
网络中所有的电脑在接收到这个ARP欺骗数据包后,就会更新本地的ARP缓存,
将192.168.0.1对应的MAC地址由正确的00-90-7f-2e-47-bf改成192.168.0.2电脑的MAC地址:00-19-e0-29-7f-47
这样,以后所有发往网关的数据,都会发到192.168.0.2这台电脑上。但是发送的电脑并不知道自已发错了。
192.168.0.2这台电脑就可以对捕获的数据包进行分析,获得自已想要的数据,如帐号和密码。这一般是一些病毒最终想要的东西。
通过上面的了解,我们知道,一个电脑如果进行ARP欺骗,必然要发送大量的ARP回应,而不是ARP询问,我们只要查看我们捕获的数据包里,谁发送了大量的ARP回应,就可以很快找到这台电脑。
通过专业网络嗅探工具,大大方便了日常的网络管理工作。
这样我们再也不用一个个交换机断电,一根根网络去拔下来,再接上去。
网络管理,从此变得轻松!
责任编辑:封小明