ARP tableを監視して部屋にいるか簡易通知する方法
行きたい先に目的の人がいるかどうか簡易的に知るにはどうすべきか考えたときに同じサブネットにラップトップやスマートフォンを接続しているならARP tableのMACアドレスを見て簡易的に判断できると思ったのでやってみる
以下そのスクリプト(PowerShell)
$mac_address_target="xx-xx-xx-xx-xx-xx" while($TRUE){ foreach ($i in @(2..254)){ Start-Process -WindowStyle hidden -FilePath ping -ArgumentList (" -n 1 xxx.xxx.xxx." + $i.ToString()) } sleep 5 $arp_data = -split ( arp -a | Select-String $mac_address_target ) if($arp_data.Length -gt 1){ echo "join" # 通知(ex slack, etc...) break } sleep 300 }
正直pingをブロードキャストアドレスに飛ばしてなぜ返ってこないのか分からない