Member 13097185 Ответов: 1

Как получить IP-адреса систем, подключенных к локальной сети


Я пытаюсь разработать веб-приложение и хотел бы получить IP-адреса всех систем, подключенных в локальной сети, динамически в выпадающем списке.Но что я сделал, так это добавил каждый IP-адрес в dropdonlist. Как мне получить IP-адреса динамически? Кто-нибудь может помочь, пожалуйста.

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

if (drpDownListUserName.SelectedItem.Text == "IPAddress")
           {
               drpDownListUserIP.Items.Add("UserName");
           }
           else if (drpDownListUserName.SelectedItem.Text == "IPAddress")
           {
               drpDownListUserIP.Items.Add("UserName");
           }

CHill60

А вы пробовали Гугл[^]

Member 13097185

Спасибо, я все понял.

Jochen Arndt

Это зависит от того, что вы подразумеваете под "подключенным".

Если вы имеете в виду подключение в смысле наличия активного соединения, то самым простым решением может быть фильтрация выходных данных команды оболочки netstat.

Jochen Arndt

Для этого нет надежного способа.

Возможное решение уже было опубликовано Дейвом Кресковяком.

Другие решения требуют выполнения в системе, которая может иметь такую информацию, как DHCP-серверы, где вы можете прочитать информацию об аренде.

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

Member 13097185

Я имею в виду все системы, подключенные(активное соединение) к локальной сети или системам внутри локальной сети

Richard Deeming

Ваш код работает на сервере В лучшем случае вы сможете перечислить IP-адреса компьютеров, подключенных к той же локальной сети, что и вы. ваш сервер.

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

PIEBALDconsult

Что это за среда?
Если это корпоративное предприятие, можете ли вы получить доступ к Active Directory или DNS-серверу?

1 Ответов

Рейтинг:
2

Dave Kreskowiak

Тебе бы хотелось, чтобы все было так просто. Вы должны сгенерировать список IP-адресов для отправки пакетов Ping (ICMP) и ждать ответа. Если вы получаете ответ, там есть машина, хотя вы понятия не имеете, что это такое. Это также может быть сетевой принтер или другое сетевое устройство. Вам придется пропинговать весь диапазон IP-адресов, возможных в вашей сети. Это займет много времени.

Как только у вас есть список возможных IP-адресов, которые ответили, Вы можете поместить этот список в свой список.

Тут есть одна проблема. Брандмауэры, работающие на машинах, могут блокировать ответы ICMP, поэтому похоже, что на этом IP-адресе нет машины. Машины также могут быть выключены, предотвращая ответную реакцию.

Не существует 100% надежного метода получения списка машин, подключенных в данный момент к сети.