web-dev-qa-db-ja.com

hostapd:新しい接続が確立されたときにコマンドを実行します

(クライアントからの)WiFiネットワーク接続が少なくとも1つ存在する場合、任意のデーモンを起動する必要があります。そして、このAPへの接続がなくなったら、任意のデーモンを停止します。それを効率的に行う方法は?今のところ、hostapd_cli all_staの結果をポーリングすることを検討していますが、奇妙に思えます。フックできるシステムイベントが必要だと確信しています。

3
beemaster

今のところ、私は次の解決策を見つけました:

hostapd_cli -a'some_script '

スクリプトがネットワークインターフェイス名とイベントタイプを引数として受け取る場所。これは、hostapdデーモンの後に開始する必要があります。また、ctrl_interfacehostapd.confに設定する必要があります。

1
beemaster

@beemasterが言ったようにこれを実行します:

hostapd_cli -a '/onHostapdChange.sh'

スクリプトを使用する場合:onHostapdChange.sh

#!/bin/bash
if [[ $2 == "AP-STA-CONNECTED" ]]
then
  echo "someone has connected with mac id $3 on $1"
fi

if [[ $2 == "AP-STA-DISCONNECTED" ]]
then
  echo "someone has disconnected with mac id $3 on $1"
fi
6
maxisme