web-dev-qa-db-ja.com

iPhoneがネットワーク上でアクティブかどうかを検出する

IPhoneがLANに接続されているかどうかを検出したいので、ライトをオンにできます。これはこの質問にかなり近いです https://serverfault.com/questions/91369/how-to-detect-an-iphone-connecting-a-network

ポーリング、ログスキャン、イベントトリガーなどによって、iPhone(既知のIP/MACの有無にかかわらず)がLAN上でアクティブであるかどうかを検出したいと思います。

これは、Ubuntu、dhcpd、ufwを実行しているルーターから実行されます。

1つのオプションは、dhcpdにスクリプトを実行させることですon commitですが、iPhoneがIPを変更することはめったにないので、それは機能しないと思います。

私はもう試した nmap -v -sP 10.0.0.73しかし、それは時々しか機能しません。実行すると、次のように出力されます。

Starting Nmap 6.47 ( http://nmap.org ) at 2015-02-12 22:54 CET
Initiating Ping Scan at 22:54
Scanning 10.0.0.73 [2 ports]
Completed Ping Scan at 22:54, 1.61s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 Host. at 22:54
Completed Parallel DNS resolution of 1 Host. at 22:54, 0.00s elapsed
Nmap scan report for 10.0.0.73
Host is up (0.10s latency).
Read data files from: /usr/local/bin/../share/nmap
Nmap done: 1 IP address (1 Host up) scanned in 1.62 seconds

Pingやarpなど、他のいくつかのオプションを試しましたが、いずれも確実に機能する必要はありません(おそらく何か間違ったことをしている可能性があります)。

ヘルプは大歓迎です!

1
Znarkus

私が思いつくことができる最善の解決策はnmap -p 62078 IP-ADDRESS | grep "62078/tcp open"。 iPhoneが60分以内に表示されない場合は、離れているとマークされます。

https://github.com/Znarkus/homie/blob/master/iphone.js を参照してください

5
Znarkus