[Настройка] Как сделать? Вытаскивать МАК адреса из DHCP пакетов

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Как сделать? Вытаскивать МАК адреса из DHCP пакетов

Сообщение Ivan » Вс фев 14, 2016 6:46 pm

В авто есть магнитофоны с андройдом. Либо дешовый мобильник с жпс положить в авто через зарядку
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
VIP_Graff
Сообщения: 8
Зарегистрирован: Пт фев 12, 2016 7:43 pm
Откуда: Уфа, временно краснодарский край
Благодарил (а): 6 раз
Поблагодарили: 0

Re: Как сделать? Вытаскивать МАК адреса из DHCP пакетов

Сообщение VIP_Graff » Вс фев 14, 2016 7:16 pm

olehs писал(а):Пинг... трафик? Шутите... :D
Только высказываю свои опасения, т.к. не могу спрогнозировать поведение такой конструкции в долгосрочном использовании. На каждый запрос пинга создаются пакеты размером 98 байт в каждую сторону. А еще знаете, что перед отправкой ICMP пакета, формируется пакеты ARP, где собственно и выясняется какой МАК адрес у запрашиваемого IP. А теперь вопрос, зачем тратить ресуры и время на написание этих не универсальных "костылей", если можно написать библиотеку "слушающюю" трафик и вылавливать МАК адреса?
Собственно с этим вопросом я и пришел.
olehs писал(а): А надеятся на то, что устройство будет запрашивать адрес всегда, и только при попадании в сеть - я бы не стал.
Хм... Может я отстал от жизни... Как устройства получают IP адреса при подключении в сеть? Я например сидел с Wireshark и смотрел пакеты. И если устройство хоть как-нибудь, но подает признаки в сети, то его МАК адрес всегда присутствует в пакетах. Собственно МАК адрес - это низкоуровневый идентификатор, ну а выше уровнем идут уже IP, TCP, UDP...
olehs писал(а):при больших расстояниях не поможет. Тут действительно лучше смотреть в сторону GPS.
Расстояние около 50 метров. GPS - это хорошо, когда телефон при использовании GPS - телефон не есть АКБ как не в себя, греется + относительно долго ищет спутники(даже при горячем включении).
В целом использование GPS накладывает больше издержек, чем получаемый профит.
Ivan писал(а):В авто есть магнитофоны с андройдом. Либо дешовый мобильник с жпс положить в авто через зарядку
Снова "костыль" подразумевающий использование интернета, GPS и ограничивающий круг "пользователей". А если у меня этих "пользователей" 5, каждому по "мобильнику в машину"? И добровольно добавлять доп.расходы на интернет. Пускай и будут там копейки. Но сам факт отсутствия универсальности предложенного варианта.

По поводу использования интернета. Дома используется 3G интернет, "снаружи" доступ отсутствует. Сервера дома - нету. Есть роутер с OpenWRT. Сервера с белым IP - нету.
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: Как сделать? Вытаскивать МАК адреса из DHCP пакетов

Сообщение ipz » Вс фев 14, 2016 7:39 pm

Я попытался выдергивать подключения из ARP таблицы роутера.
Вроде получилось.
Список IP (можно MAC, или и то и другое) в MJD получаю с помощью getURL('192.168.XXX.XXX:XXXX',0)

Пока не понятно как это работает. Где-то читал, что, например, в Windows таблица ARP сбрасывается раз в 10 минут. В моем случае, есть подозрение, что она живет значительно дольше. Не знаю, подойдет ли для оперативного отслеживания подключений и можно ли это настроить и стоит ли ее сбрасывать принудительно.

Завтра попробую последить за списком подключений в течении дня - будет понятно применимо ли в текущей конфигурации.
За это сообщение автора ipz поблагодарил:
VIP_Graff (Вс фев 14, 2016 8:15 pm)
Рейтинг: 1.16%
flair
Сообщения: 198
Зарегистрирован: Сб янв 16, 2016 12:18 am
Откуда: Минск
Благодарил (а): 16 раз
Поблагодарили: 15 раз

Re: Как сделать? Вытаскивать МАК адреса из DHCP пакетов

Сообщение flair » Вс фев 14, 2016 7:51 pm

а Вам точно 50 метров надо?
просто сам имею такую проблему.... думаю к блютуз свистку прикрутить антену...
и я пока не купил белый айпи( инет тоже 3г) пользовался синхронизациец через местный Коннект - работает сносно...
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Как сделать? Вытаскивать МАК адреса из DHCP пакетов

Сообщение Ivan » Вс фев 14, 2016 8:40 pm

Я не мучаюсь. Привязал действия на пульт ворот. И свет вклчаю во дворе и дома оповещение о приезде
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
flair
Сообщения: 198
Зарегистрирован: Сб янв 16, 2016 12:18 am
Откуда: Минск
Благодарил (а): 16 раз
Поблагодарили: 15 раз

Re: Как сделать? Вытаскивать МАК адреса из DHCP пакетов

Сообщение flair » Вс фев 14, 2016 8:41 pm

Ivan писал(а):Я не мучаюсь. Привязал действия на пульт ворот. И свет вклчаю во дворе и дома оповещение о приезде
у меня пока ворот нет)
VIP_Graff
Сообщения: 8
Зарегистрирован: Пт фев 12, 2016 7:43 pm
Откуда: Уфа, временно краснодарский край
Благодарил (а): 6 раз
Поблагодарили: 0

Re: Как сделать? Вытаскивать МАК адреса из DHCP пакетов

Сообщение VIP_Graff » Вс фев 14, 2016 8:42 pm

ipz писал(а):в Windows таблица ARP сбрасывается раз в 10 минут
Время жизни записи в кэше оставлено на усмотрение разработчика. По умолчанию может составлять от десятков секунд (например, 20 секунд) до четырёх часов.Информация из википедии
flair писал(а):а Вам точно 50 метров надо?
просто сам имею такую проблему.... думаю к блютуз свистку прикрутить антену...
Точное расстояние не замерял, но радиовыключатель уже не достает где телефон делает подключение к Wi-Fi. Это расстояния меня полностью удовлетворяет для включения света. От радиовыключателя расстояние не стабильно метров с 20 достает(толстые стены). Мне этого мало.
Ivan писал(а):Привязал действия на пульт ворот
Хорошо, когда есть пульт от ворот и сами ворота... Были бы ворота, сам бы так сделал, но увы, их нет.
zelevova
Сообщения: 291
Зарегистрирован: Вт ноя 18, 2014 11:43 pm
Откуда: Краснодарский край
Благодарил (а): 32 раза
Поблагодарили: 68 раз

Re: Как сделать? Вытаскивать МАК адреса из DHCP пакетов

Сообщение zelevova » Пн фев 15, 2016 2:37 pm

Сейчас кто в роли dhcp сервера выступает?
Где то тут мелькала тема про навешивание скриптов на dhcp сервер. Я даже одно время себе реализовывал. При запросе адреса проверялся флаг что это не обновление аренды и выполнялось действие "вызов мжд через урл", а мжд уже знал что включить, что выключить и куда повернуть.
Можно не перехватывать запросы, а попробовать аналогично сделать чтобы при первоначальной аренде адреса сервер дергал сервер или андурину или еще какое действие делал.
Тут пример такого взаимодействия.
За это сообщение автора zelevova поблагодарили (всего 2):
VIP_Graff (Пн фев 15, 2016 2:49 pm) • ipz (Пн фев 15, 2016 10:34 pm)
Рейтинг: 2.33%
Majordomo (GitHub) на cubietruck + MegaD + 1-wire
CONNECT: http://connect.smartliving.ru/profile/311
VIP_Graff
Сообщения: 8
Зарегистрирован: Пт фев 12, 2016 7:43 pm
Откуда: Уфа, временно краснодарский край
Благодарил (а): 6 раз
Поблагодарили: 0

Re: Как сделать? Вытаскивать МАК адреса из DHCP пакетов

Сообщение VIP_Graff » Пн фев 15, 2016 3:25 pm

zelevova писал(а):Сейчас кто в роли dhcp сервера выступает?
Сейчас в роли DHCP выступает роутер с OpenWRT.
zelevova писал(а):тема про навешивание скриптов на dhcp сервер
Когда я начал выискивать информацию, нашел вот такую тему с направлением "манулить netifd" . Дальше я продвинуться не смог.

Еще найдена тема https://cryptoworld.su/Отслеживание-уст ... ез-пассив/ с пакетами http://www.secdev.org/projects/scapy/ и https://bitbucket.org/edkeeble/wifi-scan . Но там Wi-Fi в режиме мониторинга и вылавливает все пакеты.
zelevova
Сообщения: 291
Зарегистрирован: Вт ноя 18, 2014 11:43 pm
Откуда: Краснодарский край
Благодарил (а): 32 раза
Поблагодарили: 68 раз

Re: Как сделать? Вытаскивать МАК адреса из DHCP пакетов

Сообщение zelevova » Пн фев 15, 2016 4:02 pm

Если это направление в принципе рассматривается то рекомендую погуглить по запросу "dhcpd events execute".
С помощью этого механизма запускаем скрипт, ну а дальше скрипт может сообщить "куда надо" что нужный объект появился в поле видимости.
В частности такие возможности как:Показать
У isc dhcpd есть возможность запускать скрипт при получении/освобождении адреса.

Код: Выделить всё

  on commit {
        set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        execute("/etc/dhcpd-event.sh", "commit", ClientIP, ClientMac);
  }
  on release {
        set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
        set ClientMac = binary-to-ascii(16, 8, ":", substring(hardware, 1, 6));
        execute("/etc/dhcpd-event.sh", "release", ClientIP, ClientMac);
  }
  on expiry {
        set ClientIP = binary-to-ascii(10, 8, ".", leased-address);
        execute("/etc/dhcpd-event.sh", "expiry",ClientIP);
  }
За это сообщение автора zelevova поблагодарил:
VIP_Graff (Пн фев 15, 2016 9:15 pm)
Рейтинг: 1.16%
Majordomo (GitHub) на cubietruck + MegaD + 1-wire
CONNECT: http://connect.smartliving.ru/profile/311
Ответить