Показать полную графическую версию : [решено] Поиск DNS имени по IP адрессу
Вопрос такой: Как найти DNS имена по IP адрессам?
В С++Builder`e 6 -ом есть компенент(TIdDNSResolver) который это и делает талоко я немогу с ним разобратся.
-------------------
Заранее спасибо
hasherfrog
16-04-2007, 09:59
Гугль (http://www.google.ru/search?hl=ru&newwindow=1&client=firefox-a&rls=org.mozilla%3Aru%3Aofficial&hs=T0J&q=gethostbyname+c%2B%2B&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=)
hasherfrog
Мне видимо не getHostByName нужен, а чтото вроде getHostName.
Вот только он не дает искать имена удаленных компютеров.
char hostname[255];
int lhnr_res = gethostname(hostname, 255); //Определение имени хоста
if(lhnr_res)
{//Определение всех адресов которые привязани к этому хосту
hostent *lh=gethostbyname(hostname); //ІР хоста
}
hasherfrog
16-04-2007, 15:11
Угу. В гугле всё есть.
#include <iostream>
#include <winsock.h>
int main()
{
using namespace std;
WSAData wData;
if (WSAStartup(MAKEWORD(2,2), &wData) == SOCKET_ERROR)
{
cout << "Winsock init error\n";
return 1;
}
hostent *h = NULL;
char ip[16];
cout << "Enter Ip: ";
cin >> ip;
unsigned int addr;
addr = inet_addr(ip);
h = gethostbyaddr(reinterpret_cast<char *>(&addr), 4, AF_INET);
if (h == NULL)
{
cout << "Could not resolve address" << endl;
return 1;
}
cout << "Host: " << h->h_name << endl;
return 0;
}
>> Вот только он не дает искать имена удаленных компютеров.
"Насколько" удалённых? :] Вы собираетесь искать в ЛВС, интернете или как?
В интернете, например, на один IP будет много имён, причём вы не все получите запросом (просто для информации).
hasherfrog
Спасиба работает.
"Насколько" удалённых? :] Вы собираетесь искать в ЛВС, интернете или как?
Мне нужно только в пределах ЛВС.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC