Update na 48 uur
Het veranderen van DHCP leases had geen invloed op de betrouwbaarheid van de arp-cache. Ik moest dus een andere manier verzinnen om aanwezigheid te detecteren. Nu blijkt dat iPhones, zodra het scherm uit gaat, in een soort slaapmodus terecht komen waarin WiFi niet beschikbaar is, BEHALVE op poort 62078. Deze poort blijkt helaas niet altijd bereikbaar. Het script werkt nu als volgt voor ieder te controleren IP-adres:
- Itereer maximaal 20 keer om via nmap verbinding te maken op poort 62078 met een interval van 250ms. Ik heb diverse intervals geprobeerd, maar met deze interval werd mijn iPhone (iPhone 7) tot nu toe altijd binnen 20 pogingen gedetecteerd.
- Na 20 iteraties wordt er een ping uitgevoerd, zodat andere apparaten dan iPhones gedetecteerd worden. Dit lijkt betrouwbaar te werken bij Android telefoons.
Testresultaten na 24 uur
E3 arp-cache uitlezen bleek niet betrouwbaar. Vooral iPhones bleven onnodig lang in de cache staan. Ik heb geprobeerd om de maximale DHCP-lease te verkorten naar 10 minuten, zodat de apparaten hopelijk ook na maximaal 10 minuten inactiviteit uit de cache verdwijnen.
Een toiletbezoek zonder verlichting is lastig ?. Ik dacht nog even te testen en WiFi uit te schakelen op mijn mobiel. Vrouwlief was uit huis en de mobiel van m’n zoon uitgeschakeld. Het script werkte prima! In het toilet, hallen en badkamer heb ik bewegingssensoren. Het script werkte in dit geval prima, echter was de configuratie niet juist. Deze lampen verwijderd uit het ‘lights’ bestand zodat de bewegingssensoren niet overruled worden.
Nu wederom testen. To be continued!