Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.05.2012, 04:00   #1
Афанасий[vedma]
Вечнодумающий
Форумчанин
 
Аватар для Афанасий[vedma]
 
Регистрация: 14.07.2011
Сообщений: 161
Радость получение ip адресов из сервера

Привет)
Как получить все ip-адреса из DNS серверов? Например вводишь DNS сервер и появляется список ip адресов...все
Из лоскутов Добра, шьется полотно Зла
Афанасий[vedma] вне форума Ответить с цитированием
Старый 03.05.2012, 07:43   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Все IP которые он домену раздал?
Думаю такое под силу только WMI... Попробуй поинтересуйся есть ли класс WMI. отвечающий за получение списка ИПшек рабочих станций зарегеных в домене.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.05.2012, 13:24   #3
Афанасий[vedma]
Вечнодумающий
Форумчанин
 
Аватар для Афанасий[vedma]
 
Регистрация: 14.07.2011
Сообщений: 161
По умолчанию

а можно поточнее...просто я не программировал DNS
Из лоскутов Добра, шьется полотно Зла
Афанасий[vedma] вне форума Ответить с цитированием
Старый 06.05.2012, 13:40   #4
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

зочем wmi, gethostbyname() всё сам умеет:

Код:
type
  pPointer = ^pointer;
  pLongWord = ^longword;

// --  --
function lookupHost(const host: string; out ip: string; list: TStringList): integer;
var
  addr: longword;
  phost: pHostEnt;
  ar: pPointer;
  added: boolean;
begin
  ip := '';
  //
  if (length(trim(host)) >= 0) then begin
    //
    result := 0;
    //
      added := false;
      addr := longword(inet_addr(PAnsiChar(AnsiString(host))));
      if ((addr = DWORD(INADDR_NONE)) or (addr = INADDR_ANY)) then begin
	//
	// try to resolve the name
	phost := gethostbyname(PAnsiChar(AnsiString(host)));
	//
	if (phost = nil) then
	  result := WSAGetLastError()
	else begin
	  //
	  move(phost.h_addr^[0], addr, sizeof(longword));
	  if (nil <> list) then begin
	    //
	    ar := pointer(phost.h_addr_list);
	    while (nil <> ar^) do begin
	      //
	      list.add(string(inet_ntoa(in_addr(pLongWord(ar^)^))));
	      inc(ar);
	    end;
	    //
	    added := true;
	  end;
	end;
      end;
      //
      if (0 = result) then begin
	// return IP address
	ip := string(inet_ntoa(in_addr(addr)));
	//
	if ((nil <> list) and not added) then
	  list.add(ip);
      end;
      //
  end
  else
    result := -1;
end;
(если я правильно понял вопрос).
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."

Последний раз редактировалось veniside; 06.05.2012 в 13:42.
veniside вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
получение точного времени с NTP сервера Mandrivnyk Общие вопросы C/C++ 2 08.04.2011 15:32
Delphi:Получение IP DNS-сервера используя GetNetworkParams из iphlpapi.dll zibman Помощь студентам 2 09.03.2011 15:20
Исчерпание IPv4 адресов. Alex Cones Свободное общение 7 14.01.2011 14:48
перебор ip адресов??? Redeemer_09 Общие вопросы C/C++ 0 25.12.2010 22:06
Получение адресов всех страниц с сайта Vikenty Работа с сетью в Delphi 10 12.06.2010 02:41