ネットワークトラフィックを検出し、コマンドを実行する

ネットワークトラフィックを検出し、コマンドを実行する

さて、ダイヤルアップ接続のようなものを使用して、Linux (ルーターとしての Raspberry Pi) を使用してインターフェイス wlan0 (およびおそらく特定のデバイス) 上の着信トラフィックを検出し、コマンドを実行できるオプションがあるかどうか疑問に思っていました。

私の Pi には 2 つのネットワーク インターフェイスがあります。1 つはすべてのデバイスがアクセスするローカル WiFi ネットワークに使用され、トラフィックは外部ゲートウェイへの 2 番目のインターフェイスにルーティングされます。これで問題なく動作します。問題は、ときどきログインが必要になることです。これは Alexa デバイスの問題であり、一般的に私を悩ませています。したがって、クライアント (wlan0) がインターネットを使用するときにスクリプトを実行する必要があります。何か提案はありますか?

答え1

tcpdumpを使うことができます。

tcpdump -i wlan0

そして、特定のパターンを探しているスクリプトに出力をスプールします。パターンが見つかると、コマンドを実行できます。

tcpdump で基本的なフィルタリングを指定して、出力を有用なトリガーに絞り込むことができます。これにより、負荷をかなり低く抑えることができます。

関連情報