我有兴趣将 airodump-ng 作为后台任务运行,因为我只需要导出的结果,不需要与其交互。
但是,以下操作不起作用:
airodump-ng wlan0 &
我尝试深入研究代码,但我看到的唯一解决方案是删除所有输出操作,这似乎既效率低下又矫枉过正。你们有更好的方法来实现我的目标吗?
答案1
您可以使用 screen 在后台运行命令,同时仍保留其输出。使用类似的东西
screen -d -m airodump-ng wlan0
您可以稍后通过运行以下命令重新连接到屏幕:
screen -r
并停止你的命令或做任何你需要做的事情。
如果您有多个屏幕处于活动状态,您可以使用screen -ls
列出所有屏幕,然后将要恢复的屏幕的 PID 作为参数传递给screen -r
命令。
答案2
我终于能够通过使用 tmux 按以下方式在后台运行 airodump-ng:
tmux new -d -> creates a new tmux window in background
tmux send -Rt 0 airodump-ng SPACE wlan0 ENTER -> sends the given keys to the backgound terminal
这样,airodump-ng 就可以工作,并且不会像 screen 那样占用 100% CPU。
答案3
有一个隐藏选项通知 airodump-ng 在后台运行。交互线程不会启动:
airodump-ng -K 1 wlan0
在这里找到的信息:https://forum.aircrack-ng.org/index.php?topic=648.0
这应该可以修复 CPU 使用率高的错误。