
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-buffered
Option von grep; sie veranlasst grep, seinen Test jedes Mal auszuführen, wenn sein stdin einen Zeilenumbruch sieht
Antwort3
watch
Hierzu können Sie den Befehl verwenden .
Zum Beispiel:
sudo watch -n 1 "airodump-ng wlan0 | grep "QQ:AF:00:55:8C:DF"