我正在为一个大学项目工作,该项目是围绕aircrack-ng套件的GUI包装,我们正在Python 3中实现该项目
我似乎在脚本上遇到了问题,当我手动运行命令时(如在airodump-ng中写入.cap文件并使用aireaply-ng进行deauth攻击以帮助捕获握手) ,然后针对.cap文件运行一个单词表以成功获取我的wifi密码,但是当我在python脚本中实现此密码时,此密码不起作用,
我有两个线程,每个进程同时运行一个线程,一个线程用于运行airodump-ng来写入捕获文件,第二个线程用于执行eaaply 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")
答案 0 :(得分:1)
为了避免出现线程问题,我可能会完全在一个单独的进程中编写数据包。阻力最小的路径:)然后只要您愿意
答案 1 :(得分:0)
我有同样的问题。
更改以下内容
process = Popen(command,stdout=PIPE,stderr = PIPE)
到
process = Popen(command,stdout=PIPE,stderr = PIPE, shell=False)
为我解决了这个问题。