ip-адреса
От: sensimon  
Дата: 19.03.02 08:47
Оценка:
Как узнать ip-адреса всех компьютеров локальной сети/рабочей группы/домена
Re: ip-адреса
От: Supervisor Беларусь  
Дата: 19.03.02 09:25
Оценка:
Здравствуйте sensimon, Вы писали:

S>Как узнать ip-адреса всех компьютеров локальной сети/рабочей группы/домена


А в чем проблема? Оперделяешь имена компьютеров, которые находятся в конкретной раб. группе или домене и символьное имя преобразуешь в IP, используя функцию gethostbyname ()? Уточни, если тебе надо более конкретная информация.
Re[2]: ip-адреса
От: sensimon  
Дата: 19.03.02 09:31
Оценка:
А как узнать имена компьютеров.
Re[3]: ip-адреса
От: Sergeant Украина www.photomirror.com.ua
Дата: 19.03.02 10:01
Оценка:
Здравствуйте sensimon, Вы писали:


S>А как узнать имена компьютеров.


NetServerEnum
Курить я буду, но пить не брошу.
Re[4]: ip-адреса
От: sensimon  
Дата: 19.03.02 10:36
Оценка:
Спасибо. Попытаюсь разобраться.
Re[5]: ip-адреса
От: Модуль Оверлеев  
Дата: 06.12.07 16:13
Оценка:
привет!
я получаю список имен компов с помошью NetServerEnum, далее пытаюсь получить список их айпишников. сначала пробовал getaddrinfo, работало не стабильно, но хоть как-то работало. потом какому-то гению приспичило назвать свой комп по русски. здесь getaddrinfo кончился, в силу невозможности сконвертить локализованное имя в char*. (NetServerEnum нормально обрабатывает это имя).
отсюда вопрос, можно ли каким-нить способом получить айпишник по имени?

думаю, что возможно всего 2 варианта распределения ip адресов — статический и динамический. в статическом случае, я могу средствами NetBios получить айпишник по имени. все будет хорошо, т.к все айпишники статические. динамический случай посложнее, там таблица соответствия имени и адреса во-первых лежит на каком-то сервере(наверное, какая-нить служба рассылает эту таблицу на машины?) и, наверняка, т.к. процесс динамический, существуют невалидные записи, т.е. одному айпи соотв. несколько имен. это так?

получается, что NetServerEnum либо юзает какой-то экземпляр таблицы, должна иметь доступ и к имени и к айпишнику... но у меня не получается найти способ, которым я мог бы получить айпишник для юникодного имени.
спасибо!
---
Re: ip-адреса
От: Pzz Россия https://github.com/alexpevzner
Дата: 06.12.07 23:29
Оценка:
Здравствуйте, sensimon, Вы писали:

S>Как узнать ip-адреса всех компьютеров локальной сети/рабочей группы/домена


Правильный ответ — никак. Для этого не существует никакого надежного механизма.

А зачем такое вообще может быть нужно?
Re[2]: ip-адреса
От: aloch Россия  
Дата: 07.12.07 21:24
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Правильный ответ — никак. Для этого не существует никакого надежного механизма.


Это действительно так. Мне хочется дать небольшое пояснение для sensimonu.

NetServerEnum использует "master browser" — компютер в сети, который через NetBIOS (т.е. через широковещательные запросы) собирает и раздает имена компютеров. При этом еше могут проходить "выборы", т.к. "прибить" master browser к конкретному серверу — невозможно.

За работу всего этого отвечает сервис "Обозреватель компьютеров" (в русском варианте, по английски, кажется, Computer Browser?). Этот сервис может быть отключен — при чем MS настоятельно рекомендует это делать на всех комютерах для повышения безопасности сети. Смысл в том, что никому, кроме администраторов, не нужно знать имена компютеров в сети, пользователм сообщаются имена только нужных им ресурсов (публичные ресурсы можно, например, публиковать в AD)

Кроме того, NetServerEnum (как я уже говорил) использует широковещательные запросы NetBios — и тут есть три момента:
1) NetBios может быть выключен
2) Широковещательные запросы влияют на производительность сети
3) Широковещательные запросы работают только в одном сегменте сети — если у нас две подсети и маршрутизатор, то мы будем "видеть" только соcедей

С другой стороны, в рабочей группе из 10 машин NetServerEnum будет в принципе нормально работать (а в большой сети с маршрутизаторами не будет работать никогда)


Re[6]: ip-адреса
От: aloch Россия  
Дата: 07.12.07 21:26
Оценка:
Здравствуйте, Модуль Оверлеев, Вы писали:

МО>привет!

МО>я получаю список имен компов с помошью NetServerEnum, далее пытаюсь получить список их айпишников. сначала пробовал getaddrinfo, работало не стабильно, но хоть как-то работало. потом какому-то гению приспичило назвать свой комп по русски. здесь getaddrinfo кончился, в силу невозможности сконвертить локализованное имя в char*. (NetServerEnum нормально обрабатывает это имя).
МО>отсюда вопрос, можно ли каким-нить способом получить айпишник по имени?

МО>думаю, что возможно всего 2 варианта распределения ip адресов — статический и динамический. в статическом случае, я могу средствами NetBios получить айпишник по имени. все будет хорошо, т.к все айпишники статические. динамический случай посложнее, там таблица соответствия имени и адреса во-первых лежит на каком-то сервере(наверное, какая-нить служба рассылает эту таблицу на машины?) и, наверняка, т.к. процесс динамический, существуют невалидные записи, т.е. одному айпи соотв. несколько имен. это так?


МО>получается, что NetServerEnum либо юзает какой-то экземпляр таблицы, должна иметь доступ и к имени и к айпишнику... но у меня не получается найти способ, которым я мог бы получить айпишник для юникодного имени.

МО>спасибо!


Re[6]: ip-адреса
От: aloch Россия  
Дата: 07.12.07 21:33
Оценка:
Здравствуйте, Модуль Оверлеев, Вы писали:

> там таблица соответствия имени и адреса во-первых лежит на каком-то сервере(наверное, какая-нить служба рассылает эту таблицу на машины?)


Эта служба называется DNS. В общем случае простой клиент не сможет получить _ВСЕ_ записи это таблицы, только информация ИМЯ-IP (или IP->ИМЯ)

> и, наверняка, т.к. процесс динамический, существуют невалидные записи, т.е. одному айпи соотв. несколько имен. это так?


Это не так — при динамической настроке клиетов (это делает DHCP-сервер) один IP не получит разные имена. Хотя разные имена для одного IP в DNS вполне допустимая вещь — это может настрить администратор (например, www.qq.com и ftp.qq.com насамом деле могут указывать на server1.qq.com)


Re[3]: ip-адреса
От: Michael Chelnokov Украина  
Дата: 07.12.07 21:55
Оценка:
Здравствуйте, aloch, Вы писали:

Pzz>>Правильный ответ — никак. Для этого не существует никакого надежного механизма.

A>Это действительно так. Мне хочется дать небольшое пояснение для sensimonu.

И еще 5 копеек. Совсем необязательно что компьютеры в сети имеют именно IP-адреса. Может быть IPv6. Раньше могли быть, например, NetBEUI или IPX. Завтра могут быть другие типы транспортных протоколов.
Re[4]: ip-адреса
От: aloch Россия  
Дата: 09.12.07 22:02
Оценка:
Здравствуйте, Michael Chelnokov, Вы писали:

> Завтра могут быть другие типы транспортных протоколов.


Боже упаси!


Re: ip-адреса
От: Аноним  
Дата: 13.12.07 09:55
Оценка:
Здравствуйте, sensimon, Вы писали:

S>Как узнать ip-адреса всех компьютеров локальной сети/


Пинг перебором подсети по ip адресу и маске текущего хоста

> рабочей группы/


Net...Enum

> домена


Найти все ПК в домене с помощью ADSI или другого API, затем разрешить имена.
Re[6]: ip-адреса
От: Модуль Оверлеев  
Дата: 27.12.07 18:31
Оценка:
Здравствуйте, Модуль Оверлеев, Вы писали:

МО>получить айпишник для юникодного имени.


рекомендуют использовать DnsQuery http://msdn2.microsoft.com/en-us/library/ms682016.aspx, которая прекрасно разрезолвливает имя, возвращая IP адрес. есть ли тут подводные камни? (типа не работает DNS)...
---
Re[5]: ip-адреса
От: oziro Нигерия  
Дата: 27.12.07 19:26
Оценка:
Здравствуйте, aloch, Вы писали:

A>Здравствуйте, Michael Chelnokov, Вы писали:


>> Завтра могут быть другие типы транспортных протоколов.


A>Боже упаси!


Вот из-за таких консерваторов уже 10 лет IPv6 не может победить!
Re[6]: ip-адреса
От: Модуль Оверлеев  
Дата: 27.12.07 21:02
Оценка:
Здравствуйте, oziro, Вы писали:

O>Вот из-за таких консерваторов уже 10 лет IPv6 не может победить!


безусловно то, что мои познания в TCP/IP поверхностны. но никак не могу понять, зачем вообще нужен этот адрес? имхо, на уже на этом этапе развития техники можно уйти от дуализма адреса и имени, извините за уход от темы.
---
Re[7]: ip-адреса
От: Michael Chelnokov Украина  
Дата: 28.12.07 11:07
Оценка:
Здравствуйте, Модуль Оверлеев, Вы писали:

МО>безусловно то, что мои познания в TCP/IP поверхностны. но никак не могу понять, зачем вообще нужен этот адрес? имхо, на уже на этом этапе развития техники можно уйти от дуализма адреса и имени, извините за уход от темы.


Каким образом? Оставив только имена? Или только адреса? Первое не подходит маршрутизаторам, второе — людям.
Re[7]: ip-адреса
От: aloch Россия  
Дата: 29.12.07 09:38
Оценка:
Здравствуйте, Модуль Оверлеев, Вы писали:

МО>безусловно то, что мои познания в TCP/IP поверхностны. но никак не могу понять, зачем вообще нужен этот адрес? имхо, на уже на этом этапе развития техники можно уйти от дуализма адреса и имени, извините за уход от темы.


Этот дуализм очень важен. Например, это позволяет за одним именем закрепить несколько адресов (ведь когда мы переходим, например, на www.google.com, мы ведь все вместе не к одному физическому компютеру подулючаемся), или наоборот, с разными именами связать один адрес (например, www.mycoolserver.com и ftp.mycoolserver.com)


 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.