2016-11-03 9 views
1

Я хочу проанализировать вывод инструмента airodump-ng для поиска данных wps. Я знаю, что с airodump-ng 1.2 rc2 доступен аргумент --wps, который показывает еще один новый столбец для данных wps. Удивление заключается в использовании опции -w для записи результатов в файл, нет информации о wps в файлах !!! только показал экран ...Сложный Bash stdout (airodump)

Так что я подумал, может быть, может быть хорошей идеей захватить вывод экрана и разобрать все вручную с помощью awk и/или регулярных выражений. Первое, что я наблюдал, это не нормальное явление. Используя tee, как это airodump-ng wlan0mon | tee "/path/to/log", он создает пустой файл. Поиск Я нашел этот пост: How do I write stderr to a file while using "tee" with a pipe?

С этим решением я могу сделать airodump-ng wlan0mon > >(tee /path/to/log) 2> >(tee /path/to/log >&2) и файл заполнен всеми данными ... проблема в том, что много повторяющихся данных ... Я хочу только последнее состояние экрана перед тем, как остановить airodump ... как какой-то «скриншот» последнего состояния данных в файле, а затем я могу попытаться разобрать ... Любая идея о том, как это получить? Заранее спасибо.

+0

использование 'screen' ... –

+0

Я никогда не использовал, что команда. Не знаю, что есть. Я изучу его, чтобы знать, как это работает. Во всяком случае, могут быть полезнее некоторые указания. Спасибо. – OscarAkaElvis

ответ

0

Честно говоря, я думаю, что вам лучше просто захватить все выходные, но если вы хотите только последние N строк, попробуйте:

{ airodump-ng wlan0mon 2>&1 | tee /dev/tty; } | tail -$N > /path/to/log 
+0

Спасибо за ваш ответ. Захват всего выхода не является опцией ... 30 секунд сканирования (что очень нормально) могут создавать тысячи и тысячи строк, потому что все повторяется снова и снова ... С другой стороны, я пробовал ваше предложение, но это не работает ... Я пробовал, но без радости. Не уверен, что я делаю что-то неправильно ... Я так не думаю. В любом случае у нас есть дополнительная проблема с неизвестными N строками ... Я не знаю, прежде чем сканировать, если будет 8 строк или 30 строк ... – OscarAkaElvis

+0

«тысячи и тысячи» строк не очень много. Захватите вывод, а затем обработайте его хвостом. –