2013-07-21 48 views
3

當我執行命令airodump-ng mon0 >> output.txt時,output.txt爲空。我需要能夠運行airodump-ng mon0並在大約5秒鐘後停止命令,而不是訪問其輸出。我應該開始看什麼想法?我正在使用bash。從airodump-ng讀取實時輸出

+0

你總是可以使用iwlist的MAC名稱,Essids等,你也可以grep它。 – MindlessRanger

回答

5

作爲後臺進程啓動該命令,休眠5秒,然後終止後臺進程。您可能需要重定向不同於STDOUT的數據流以捕獲文件中的輸出。 This thread提到STDERR(這將是FD 2)。我無法在此驗證,但您可以使用strace檢查描述符編號。該命令應顯示是這樣的:

$ strace airodump-ng mon0 2>&1 | grep ^write 
... 
write(2, "...

write語句中的數字是文件描述符airodump-ng寫入。

腳本可能看起來有點像這樣(假設STDERR需要重定向):

airodump-ng [INTERFACE] -w [OUTPUT-PREFIX] --write-interval 30 -o csv 

這將給:

#!/bin/bash 

{ airodump-ng mon0 2>> output.txt; } & 
PID=$! 

sleep 5 

kill -TERM $PID 
cat output.txt 
1

您可以使用下面的輸出寫入到文件你是一個csv文件,其名稱前綴爲[OUTPUT-PREFIX]。該文件將在每30秒後更新一次。如果你給了/ var/log/test這樣的前綴,那麼這個文件就會進入/ var/log /並且看起來像test-XX.csv

然後,你應該可以通過以下方式來訪問輸出文件: airodump運行時的任何其他工具。

0

通過airodump-ng 1.2 rc4你應該使用下面的命令:

timeout 5 airodump-ng -w my --output-format csv --write-interval 1 wlan1mon 

之後這個命令compeleted你可以訪問它的輸出通過查看my-01.csv。請不要輸出文件是CSV格式。

您的命令不能正常工作,因爲airodump-ng輸出到stderr而不是stdout !!!你的所以下面的指令被修正版本:

airodump-ng mon0 &> output.txt 

第一種方法是使用其他程序/應用解析輸出更好。