【问题标题】:How to stop airodump-ng with the Python subprocess module如何使用 Python 子进程模块停止 airodump-ng
【发布时间】:2016-02-01 02:48:14
【问题描述】:

我编写了一个程序(我在终端中运行它),它通过终端命令列表(Kali)。

import subprocess as sub
import time
sub.call(['airmon-ng', 'start', 'wlan0'])
p = sub.call(['airodump-ng','wlan0mon'])
time.sleep(10)
p.kill()

最后一个命令是airodump-ng wlan0mon。一切正常(一切都显示在终端中(信标、ESSID 等))。

在指定时间后,我希望终止进程 (airodump-ng wlan0mon)。

我不想用手按ctrl-c
p.kill()不起作用(可能使用不当)

我该怎么做?通过子进程模块发送什么命令?

【问题讨论】:

  • 虽然您的程序是关于 airodump 的,但我认为这个问题与安全性无关。

标签: python


【解决方案1】:

您可以使用子进程来运行“killall airodump-ng”。

但是,如果您这样做,您也可以将整个内容转换为 bash 脚本。

【讨论】:

    【解决方案2】:

    subprocess.call() 在 Python 程序执行下一条语句之前等待子进程完成。您需要使用subprocess.Popen() 来初始化一个单独的(“后台”)进程,然后继续您的 Python 程序。

    sub.call(['airmon-ng', 'start', 'wlan0'])
    p = sub.Popen(['airodump-ng','wlan0mon'])
    time.sleep(10)
    p.kill()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-31
      • 2012-10-12
      • 1970-01-01
      • 2018-08-02
      • 1970-01-01
      • 1970-01-01
      • 2018-11-08
      • 2020-09-19
      相关资源
      最近更新 更多