delphi MAC欺骗


现在局域网里有2台主机
主机A mac: 08-10-17-25-ac-6d
主机B mac: 00- 04-61-5f-44-11


交换机的mac表如下
Destination Address Address Type VLAN Destination Port
cc00.0e04.0000 Self 1 Vlan1
0810.1725.ac6d Dynamic 1 FastEthernet0/2
0004.615f.4411 Dynamic 1 FastEthernet0/1



这里看到 mac地址是 08-10-17-25-ac-6d 的主机A接在交换机的2号接口上
mac地址是 00-04-61-5f-44-11 的主机B接在交换机的1号接口上


交换机的mac学习功能
交换机检查收到数据包的源MAC地址,并查找MAC地址表中与之相匹配的项。如果不匹配,交换机将重新录该MAC地址和接收该数据帧的端口,这个过程被称作地址学习。


利用这个学习功能就能实现mac欺骗 我们要让主机B收不到数据包

那就用主机A发送伪造的数据包 数据包的源mac地址是主机B的就行了。



正常的数据包头结构
目标mac地址+源mac地址 +协议+数据
A到B的正常数据包是这样的
B主机mac地址 +A主机mac地址+协议+数据
伪造的数据包是
B主机mac+B主机mac+协议+数据
00 04 61 5f 44 11 00 04 61 5f 44 11 08 00+数据



如delphi的

0: begin //全局欺骗
SendData.Destination:="FF:FF:FF:FF:FF:FF"; //广播MAC
SendData.Source:=GateMac; //网关的MAC
end;

1: begin //单单欺骗一个
SendData.Destination :=GateMac; //网关
SendData.Source := DesMac; //攻击的目标的mac
end;



发送成功后
交换机的mac表就变了
Destination Address Address Type VLAN Destination Port
cc00.0e04.0000 Self 1 Vlan1
0810.1725.ac6d Dynamic 1 FastEthernet0/2
0004.615f.4411 Dynamic 1 FastEthernet0/2


这时 交换机认为 主机B在 2号口了 其实主机B还是接在 1号口
这样我们成功实施了MAC欺骗 所有的发往主机B的数据 都发送到了2号端口,主机B收不到数据了

这时有个问题 主机B发送数据的时候 端口的对应,关系还是会变回正确的
这时就需要我们不停发送伪造的数据包来维持这个对应关系。


联系电话:
020-00000000
联系电话:
020-00000000
联系电话:
020-12345678