Я хочу определить, подключен ли мой iPhone / подключен ли он к моей локальной сети, чтобы я мог включить свет. Это довольно близко к этому вопросу https://serverfault.com/questions/91369/how-to-detect-an-iphone-connecting-a-network

Я хочу определить, активен ли мой iPhone (с известным IP / MAC-адресом или без него) в локальной сети, путем опроса, сканирования журнала, запуска событий или чего-то еще.

Это будет сделано с маршрутизатора, на котором запущены Ubuntu, dhcpd и ufw.

Один из вариантов - заставить 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 ответ1

4

Лучшее решение, которое я мог бы придумать, - это nmap -p 62078 IP-ADDRESS | grep "62078/tcp open" . Если iPhone не виден в течение 60 минут, он помечается как отсутствующий.

См. Https://github.com/Znarkus/homie/blob/master/iphone.js.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .