パイプとgrepを使った対話型コマンド

パイプとgrepを使った対話型コマンド

top、、などwatchのコマンドがありAirodump-ng、実行するたびにターミナル上のすべてが常に変化します。私がやりたいのは、これらの対話型コマンドの 1 つを実行し、パイプを使用して探しているものを grep することです。これを例に挙げます。

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

この例では、MAC アドレスを探しています。この MAC アドレスが見つかると、画面に表示されるので、grep で検索できます。

問題はそれが機能しないことです。私はたくさん検索しましたが、何も見つかりません。

答え1

まさにそれ、「対話型コマンドからの grep」を行うことは、不可能ではないにしても難しい可能性があり、解決策が見つかったとしても、かなり複雑になると思います。

これを行う方法は、各コマンドを学習することです。たとえば、airodump-ng ではフィルターを使用できます。

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

これにより、home_wifi という名前と正確な bssid を持つ AP のみが表示されます。

答え2

grepのオプションも参照してください--line-buffered。これにより、grepはstdinに改行が現れるたびにテストを実行します。

答え3

これにはコマンドを使用できますwatch

例えば:

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

関連情報