Interaktive Befehle mit Pipe und Grep

Interaktive Befehle mit Pipe und Grep

Es gibt Befehle wie top, watch, Airodump-ng, usw., bei deren Ausführung sich ständig alles auf dem Terminal ändert. Ich möchte einen dieser interaktiven Befehle ausführen und dann mit Pipe nach etwas suchen, wonach ich gesucht habe. Nehmen wir zum Beispiel Folgendes:

   airodump-ng wlan0 | grep "QQ:AF:00:55:8C:DF"

In diesem Beispiel suche ich nach einer MAC-Adresse. Wenn diese MAC auftaucht, wird sie auf dem Bildschirm angezeigt, sodass ich sie greifen kann.

Das Problem ist, dass es nicht funktioniert. Ich habe lange gesucht, aber nichts gefunden.

Antwort1

genau das zu tun, also „greping von einem interaktiven Befehl aus“, könnte schwierig, wenn nicht unmöglich sein, und wenn Sie eine Lösung finden würden, wäre sie meiner Meinung nach ziemlich umständlich.

Dies geschieht, indem Sie die einzelnen Befehle lernen. In airodump-ng können Sie beispielsweise Filter verwenden.

airodump-ng wlan0 --bssid QQ:AF:00:55:8C:DF --essid home_wifi

Dadurch werden nur APs mit dem Namen home_wifi und mit genau dieser BSSID angezeigt.

Antwort2

siehe auch die --line-bufferedOption von grep; sie veranlasst grep, seinen Test jedes Mal auszuführen, wenn sein stdin einen Zeilenumbruch sieht

Antwort3

watchHierzu können Sie den Befehl verwenden .

Zum Beispiel:

sudo watch -n 1 "airodump-ng wlan0 | grep "QQ:AF:00:55:8C:DF"

verwandte Informationen