1

我正在为大学做一个项目,该项目是 aircrack-ng 套件的 GUI 包装器,我们正在 Python 3 中实现该项目

我似乎遇到了脚本问题,当我手动运行命令时,就像我运行 airodump-ng 写入 .cap 文件并使用 aireaply-ng 运行 deauth 攻击以帮助捕获握手它工作正常,然后我对 .cap 文件运行一个单词表以成功获取我的 wifi 密码,但是当我在 python 脚本中实现它时它不起作用,

我有两个线程,一个用于同时运行的每个进程,一个用于运行 airodump-ng 以写入捕获文件,第二个线程用于 aireaply deauth 攻击,也许是我的线程有问题?但对我来说,我的线程看起来不错,它们似乎都有些同步。

(MAC 地址不是我真正的 MAC 地址,只是用于该线程的随机地址,但当我运行它时,使用的是真正的 MAC)

def execute_command_terminate(self,command,count):
    process = Popen(command,stdout =PIPE,stderr = PIPE)
    time.sleep(count) 
    process.terminate()


def crack_network(self):
    handshake_file = 'files/wpa_handshake'

    #run airodump-ng
    command = ['airodump-ng', "wlan0", '--write', handshake_file, '--bssid','70:55:21:24:6B:A3'
    ,'--channel','11']
    thread =threading.Thread(target=self.execute_command_terminate,args=(command, 60))
    thread.start()
    thread.join(20)
    # run deauth
    cmd = (['aireplay-ng','--deauth','4',
    '-a','70:55:21:24:6B:A3','-c','C0:75:02:72:6A:BA','wlan0'])
    deauth_thread = threading.Thread(target=self.execute_command_terminate,args=(command,10))
    deauth_thread.start()
    deauth_thread.join()
    print("cracking over")
4

2 回答 2

1

我可能会让数据包的写入完全在一个单独的进程中运行,以避免任何线程问题。阻力最小的路径 :) 然后随时验证

于 2019-04-04T21:15:42.053 回答
0

我遇到过同样的问题。

更改以下内容

process = Popen(command,stdout=PIPE,stderr = PIPE)

process = Popen(command,stdout=PIPE,stderr = PIPE, shell=False)

为我解决了这个问题。

于 2020-10-13T10:51:14.830 回答