Member 13248497 Ответов: 2

Как я могу найти ip-адреса непосредственно подключенных устройств (DHCP)



Мне нужна помощь для этого.
Как я могу найти ip-адреса устройства, которое непосредственно подключено к моему ПК ethernet-адаптеру (DHCP)


Что я уже пробовал:

Небольшой DHCP-сервера с использованием протокола UDP с использованием асинхронных обратных вызовов и событий[^]

2 Ответов

Рейтинг:
2

Karthik_Mahalingam

Вы должны спросить Здесь Добавить комментарий или вопрос[^], так что автор книги статья [^] получает уведомление и отвечает на ваш пост.


Рейтинг:
1

Jochen Arndt

При использовании DHCP-сервера для сегмента сети он будет знать обо всех системах, которые действительно присутствуют или присутствовали некоторое время назад (он не будет проинформирован, когда клиент завершит работу).

Но у вас может быть только один DHCP-сервер. Если вы хотите узнать об IP-адресах, назначенных DHCP, вы должны добавить такую функциональность на сервер (например, реализовав метод запроса) или проверить файлы журналов, сгенерированные сервером.

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

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

Есть несколько методов, которые могут быть использованы:

ARP (Протокол Разрешения Адресов - Википедия[^]).

Вы можете использовать Арп утилита командной строки для отображения таблицы ARP (используйте arp -? для просмотра доступных вариантов):

arp -a
или
arp -av
Последний также будет показывать старые (недействительные) IP-адреса. Функциональность может быть реализована приложениями путем чтения таблицы ARP с помощью функций API, WMI или синтаксического анализа выходных данных утилиты.
Проблемы:
Находит только те системы, которые связались с системой, выполняющей Арп команда.

состояние сети
Это можно использовать для получения IP-адресов всех текущих подключений. Выходные данные должны быть отфильтрованы для локальных адресов. См. Команда netstat[^] утилита командной строки. Можно также использовать вызовы WMI или API для получения этой информации.
Проблемы:
Только активные соединения. Требуются системные привилегии для соединений, принадлежащих Системе или другим пользователям.

Сниффинг пакетов
Используйте анализатор пакетов для проверки всех пакетов в сетевом интерфейсе с использованием беспорядочного режима.
Проблемы:
Не будет видеть все пакеты при использовании сетевого коммутатора (пакеты в другие системы могут не передаваться на интерфейс коммутатором).

Сканирование портов
Попробуйте подключиться к определенным портам и / или пинговать по всем возможным IP-адресам.
Проблемы:
Не все системы могут отвечать (службы, работающие на используемых портах, не работают, запросы фильтруются).

DNS-запрос
Если у вас есть DNS-сервер, работающий для вашей локальной сети, вы можете запросить его для всех возможных IP-адресов. Это особенно полезно, когда DNS-сервер подается DHCP-сервером (как и в большинстве маршрутизаторов SOHO).
Проблемы:
Возвращает адреса для всех систем, даже для тех, которые не работают или больше не существуют.