RasPiでDebian Linuxを実行しています。ネットワークで他のシステムが利用可能になったときに(自分のWi-Fi APにログインしている場合でも)、スクリプトを実行する方法を探しています。 APはAVM Fritzboxなので、私が達成したい目標を達成することはできません。
だから私はネットワークで利用可能なRasPiの1つを使ってこれをやりたいと思います。常にオンになっており、年中無休でネットワークを監視します。特定のホストがネットワークにログインしたら、イベントを通知するスクリプトを実行したいと思います。
ベストアンサー1
dhcpdump
ネットワークインターフェイスを受信し、dhcpトラフィックをダンプするユーティリティがあり、ハードウェアアドレス(MAC)でフィルタリングすることもできます。
これをgrepと共に使用してジョブを実行できます。
私のラップトップは、イーサネット経由でIPアドレスに対する私の携帯電話の(Wi-Fi経由)要求を監視するために使用します。
dhcpdump -i eth0 -h cc:05:1b:1d:8f:6d |tee dhcp3.log
cat dhcp3.log
TIME: 2015-10-17 14:21:25.079
IP: 0.0.0.0 (cc:5:1b:1d:8f:6d) > 255.255.255.255 (ff:ff:ff:ff:ff:ff)
OP: 1 (BOOTPREQUEST)
HTYPE: 1 (Ethernet)
HLEN: 6
HOPS: 0
XID: 00000000
SECS: 65535
FLAGS: 0
CIADDR: 0.0.0.0
YIADDR: 0.0.0.0
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: cc:05:1b:1d:8f:6d:00:00:00:00:00:00:00:00:00:00
SNAME: .
FNAME: .
OPTION: 53 ( 1) DHCP message type 3 (DHCPREQUEST)
OPTION: 50 ( 4) Request IP address 192.168.1.75
OPTION: 54 ( 4) Server identifier 192.168.1.254
OPTION: 57 ( 2) Maximum DHCP message size 1500
OPTION: 60 ( 13) Vendor class identifier dhcpcd 4.0.15
OPTION: 55 ( 9) Parameter Request List 1 (Subnet mask)
121 (Classless Static Route)
33 (Static route)
3 (Routers)
6 (DNS server)
28 (Broadcast address)
51 (IP address leasetime)
58 (T1)
59 (T2)
---------------------------------------------------------------------------