Сканировать сеть и искать устройство

Я хотел бы иметь возможность сканировать свою локальную сеть, используя существующий инструмент командной строки или написав свой собственный, который будет искать определенный тип встроенного устройства, а затем распечатывать список всех найденных устройств.

Во встроенном устройстве, которое я ищу, реализован стек lwIP TCP/IP, и мы можем добавить к нему функциональные возможности, которые помогут нам найти его.

Использование MAC-адреса устройства не является вариантом, поскольку пользователь может настроить его по своему усмотрению, и он может быть установлен неправильно.

Как я могу сделать свои устройства «сканируемыми» в локальной сети и как я могу выполнить сканирование с помощью своего ПК?


person Q-bertsuit    schedule 26.09.2018    source источник


Ответы (1)


позвольте мне попытаться ответить на это: ваше устройство будет добавлено в локальную сеть, поэтому оно получит IP-адрес. Это действительно то, что важно, чтобы найти его. IP-адрес может быть:

  • фиксированный, как определено вашим устройством (что-то вроде 192.168.0.1), но это рискованный вариант, потому что он может столкнуться. В этом случае вы можете просто сказать пользователю, чтобы он достиг этого IP-адреса.
  • динамический, определяемый DHCP. Таким образом, ваше устройство получит IP-адрес в вашей локальной сети, например 192.168.3.178.

В случае с DHCP проблема заключается в поиске вашего устройства. Там вы найдете подробные ответы Как получить список всех действительных IP-адресов в локальной сети?, но есть в основном 2 варианта:

  • nmap, настоящий сканер. Это может быть долго, но супер мощно. Это также может быть расценено как агрессивное, поэтому, если вы находитесь в контролируемой среде (например, в локальной сети предприятия), обратитесь к системному администратору, прежде чем делать это.
  • arp, который не такой исчерпывающий
person Pixou    schedule 27.09.2018