Как получить список IP-адресов в сети

2

Как получить список IP-адресов/имен хостов в сети используя С#

  • 4
    спросите у администратора сети :)
Теги:

3 ответа

2

Я написал программу, которая делает именно это. У меня дома: (

Он использует Ping и NetworkInterface, чтобы найти его с помощью грубой силы.

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

Это просто, но не идеально. Если в сети есть интерфейсы, которые не отвечают на пинги, они не будут перечислены. Это может быть так, если активны брандмауэры (например, брандмауэр Windows, который блокирует пинг по умолчанию).

О, да, это ужасно исчерпывающе.

EDIT: Несмотря на то, что Митч Пшеничный ответ не то, что вы просили, он напомнил мне, что вы можете использовать Dns для разрешения имен хостов всех этих адресов.

  • 0
    +1 Мой работает точно так же.
1

Что-то примечание: По умолчанию современные системы Windows не реагируют на запросы (например, XP с включенным брандмауэром), поэтому предлагаемый подход не будет работать надежно.

Метод, который я использую (хотя и не для Windows или С#), - это ping всей подсети, а затем просмотрите кеш ARP (поскольку машины все равно будут реагировать на запросы ARP.)

Не знаю, как это сделать на С#.

  • 0
    +1. Очень хорошая идея. Отредактирую мой ответ, чтобы сделать брандмауэр Windows более понятным.
0

CodeProject имеет довольно грубый способ достижения этой цели с помощью команды DOS net view:

http://www.codeproject.com/KB/IP/ipaddresses.aspx

  • 0
    Уч. Это даже хуже, чем мое решение.
  • 0
    Да предложенное решение не работает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню