Слежения за регистрацией устройства в Wi-Fi сети c уведомлением на почту
Добавлено: 13 окт 2017, 11:20
Решения для слежения за появлением, отключением устройства от Wi-Fi сети c уведомлением на почту, например за уходом/приходом ребенка в/из школы.
Вариант №1 (изначальный)
1. MAK адрес устройства привязываем к IP
IP>DHCP Server>Leases, там находим нужное устройство, жмем правой кнопкой по нему и выбираем пункт "Make Static", теперь этот IP будет привязан к этому устройству
2. В Netwatch указал слежение за этим IP
Tools>Netwatch, нажимаем плюсик и в появившемся окне указываем в поле Host нужный нам IP адрес устройства
Во вкладке Up
/tool e-mail send to=xxxxx@xxxxx.xxx subject="Объект вернулся в периметр" body="Объект вернулся в периметр";
Во вкладке Down
/tool e-mail send to=xxxxx@xxxxx.xxx subject="Объект покинул периметр" body="Объект покину периметр";
P.S. Предварительно необходимо настроить отправку почты
Но так как, например iPhone перестает отвечать на ping, почти сразу как гаснет его экран и начинает сразу как берешь в руку, поэтому средствами Netwatch следить за устройством бессмысленно - Mikrotik завалит сообщениями.
Благодаря kt72ru был рожден второй вариант, который должен решить задачу.
Вариант №2
Для его реализации открываем Scheduler (System>Scheduler) и нажимаем плюсик.
В поле Name указываем "Out", в поле Start Time выбираем startup, в Interval указываем 1 минуту и берем следующий скрипт:
:local MAC XX:XX:XX:XX:XX:XX;
:local time [/system clock get time];
:local hour [: pick [/system clock get time] 0 2];
:if ($hour >= 8 and $hour <= 21) do={:local MACdetect [interface wireless registration-table find mac-address=$MAC];
:if ([:len $MACdetect]=0) do={/tool e-mail send to=xxxxx@xxxxx.xx subject="Объект покинул периметр" body="Объект покинул периметр";
:delay 30;
/system scheduler enable "In";
/system scheduler disable "Out";}}
Описание скрипта:
:local MAC XX:XX:XX:XX:XX:XX; - указываем нужный нам MAC
:if ($hour >= 8 and $hour <= 21) - указываем время, с которого по какое проверять наличие MAC в сети, в данном случае с 8:00 до 21:00.
:delay 30; - ждем 30 секунд, чтобы почта успела уйти
/system scheduler enable "In"; - включаем второе задание
/system scheduler disable "Out"; - отключаем текущее задание, чтобы не приходили сообщения при каждой проверке
Проделываем тоже самое, но только в поле Name указываем "In".
:local MAC XX:XX:XX:XX:XX:XX;
:local time [/system clock get time];
:local hour [: pick [/system clock get time] 0 2];
:if ($hour >= 8 and $hour <= 21) do={:local MACdetect [interface wireless registration-table find mac-address=$MAC];
:if ([:len $MACdetect]>0) do={/tool e-mail send to=xxxxx@xxxxx.xx subject="Объект вернулся в периметр" body="Объект вернулся в периметр";
:delay 30;
/system scheduler enable "Out";
/system scheduler disable "In";}}
Имена заданий можно изменить, они указываются в строках:
/system scheduler enable
/system scheduler disable
От себя, огромное человеческое спасибо kt72ru за проделанную работу и помощь в решении задачи, без него ничего не получилось.
Вариант №1 (изначальный)
1. MAK адрес устройства привязываем к IP
IP>DHCP Server>Leases, там находим нужное устройство, жмем правой кнопкой по нему и выбираем пункт "Make Static", теперь этот IP будет привязан к этому устройству
2. В Netwatch указал слежение за этим IP
Tools>Netwatch, нажимаем плюсик и в появившемся окне указываем в поле Host нужный нам IP адрес устройства
Во вкладке Up
/tool e-mail send to=xxxxx@xxxxx.xxx subject="Объект вернулся в периметр" body="Объект вернулся в периметр";
Во вкладке Down
/tool e-mail send to=xxxxx@xxxxx.xxx subject="Объект покинул периметр" body="Объект покину периметр";
P.S. Предварительно необходимо настроить отправку почты
Но так как, например iPhone перестает отвечать на ping, почти сразу как гаснет его экран и начинает сразу как берешь в руку, поэтому средствами Netwatch следить за устройством бессмысленно - Mikrotik завалит сообщениями.
Благодаря kt72ru был рожден второй вариант, который должен решить задачу.
Вариант №2
Для его реализации открываем Scheduler (System>Scheduler) и нажимаем плюсик.
В поле Name указываем "Out", в поле Start Time выбираем startup, в Interval указываем 1 минуту и берем следующий скрипт:
:local MAC XX:XX:XX:XX:XX:XX;
:local time [/system clock get time];
:local hour [: pick [/system clock get time] 0 2];
:if ($hour >= 8 and $hour <= 21) do={:local MACdetect [interface wireless registration-table find mac-address=$MAC];
:if ([:len $MACdetect]=0) do={/tool e-mail send to=xxxxx@xxxxx.xx subject="Объект покинул периметр" body="Объект покинул периметр";
:delay 30;
/system scheduler enable "In";
/system scheduler disable "Out";}}
Описание скрипта:
:local MAC XX:XX:XX:XX:XX:XX; - указываем нужный нам MAC
:if ($hour >= 8 and $hour <= 21) - указываем время, с которого по какое проверять наличие MAC в сети, в данном случае с 8:00 до 21:00.
:delay 30; - ждем 30 секунд, чтобы почта успела уйти
/system scheduler enable "In"; - включаем второе задание
/system scheduler disable "Out"; - отключаем текущее задание, чтобы не приходили сообщения при каждой проверке
Проделываем тоже самое, но только в поле Name указываем "In".
:local MAC XX:XX:XX:XX:XX:XX;
:local time [/system clock get time];
:local hour [: pick [/system clock get time] 0 2];
:if ($hour >= 8 and $hour <= 21) do={:local MACdetect [interface wireless registration-table find mac-address=$MAC];
:if ([:len $MACdetect]>0) do={/tool e-mail send to=xxxxx@xxxxx.xx subject="Объект вернулся в периметр" body="Объект вернулся в периметр";
:delay 30;
/system scheduler enable "Out";
/system scheduler disable "In";}}
Имена заданий можно изменить, они указываются в строках:
/system scheduler enable
/system scheduler disable
От себя, огромное человеческое спасибо kt72ru за проделанную работу и помощь в решении задачи, без него ничего не получилось.