EK_*_*Day 6 bash file-io redirect
当我执行命令airodump-ng mon0 >> output.txt时,output.txt为空.我需要能够运行airodump-ng mon0并在大约5秒后停止命令,而不是访问其输出.有什么想法我应该开始看?我正在使用bash.
以后台进程启动命令,休眠5秒,然后终止后台进程.您可能需要重定向与STDOUT不同的流以捕获文件中的输出.这个帖子提到了STDERR(它将是FD 2).我在这里无法验证,但你可以检查描述符号strace.该命令应该显示如下:
$ strace airodump-ng mon0 2>&1 | grep ^write
...
write(2, "...Run Code Online (Sandbox Code Playgroud)
write语句中的数字是文件描述符airodump-ng写入的.
该脚本可能看起来有点像这样(假设需要重定向STDERR):
#!/bin/bash
{ airodump-ng mon0 2>> output.txt; } &
PID=$!
sleep 5
kill -TERM $PID
cat output.txt
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令将输出写入文件:
airodump-ng [INTERFACE] -w [OUTPUT-PREFIX] --write-interval 30 -o csv
Run Code Online (Sandbox Code Playgroud)
这将为您提供一个 csv 文件,其名称将以[OUTPUT-PREFIX]. 此文件将每 30 秒更新一次。如果您提供像 /var/log/test 这样的前缀,那么该文件将进入 /var/log/ 并且看起来像 test-XX.csv
然后,您应该能够在 airodump 运行时通过任何其他工具访问输出文件。