gpt4 book ai didi

python - airodump-ng 输出与 python subprocess.Popen coummunicate 方法

转载 作者:太空宇宙 更新时间:2023-11-03 12:02:21 35 4
gpt4 key购买 nike

您好,我正在尝试从 airodump-ng mon0 获取连续输出

出于这个原因,我尝试在一段时间后使用 Popen.communicate 读取 airodump-ng mon0 的输出,但仍然无法读取任何内容。

import subprocess

airodump = subprocess.Popen(['airodump-ng', 'mon0'],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
try:
o_airodump, unused_stderr = airodump.communicate(timeout=15)
except subprocess.TimeoutExpired as e:
airodump.kill()
o_airodump, unused_stderr = airodump.communicate()
print(o_airodump)
print(unused_stderr)

当我运行它时,它卡在了:

o_airodump, unused_stderr = airodump.communicate()

我现在完全卡住了。并且找不到任何其他方法。请帮忙。

最佳答案

我使用以下代码在 60 秒后检索可用 wifi 网络列表:

def find_wifi(interface):
table = ''
stdout = []
timeout = 60
table_start = re.compile('\sCH')
start_time = time.time()

airodump = subprocess.Popen(['airodump-ng', interface], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True, bufsize=1)

while time.time() < start_time + timeout:
line = airodump.stdout.readline()
if table_start.match(line):
table = ''.join(stdout)
stdout = []
stdout.append(line)
airodump.terminate()
print(table)

关于python - airodump-ng 输出与 python subprocess.Popen coummunicate 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45074734/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com