Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.05.13;
Скачать: [xml.tar.bz2];

Вниз

Как получить IP зная имя компьютера?   Найти похожие ветки 

 
fixxxer   (2002-02-20 12:36) [0]

Подскажите пожалуйсто, как можно получить IP компьютера, зная его имя. Или, хотябы, наоборот зная имя получить IP.


 
fixxxer   (2002-02-20 12:39) [1]

Совсем запутался. Наоборот - имею в виду зная IP получить имя.


 
Digitman   (2002-02-20 12:41) [2]

Имя компьютера никак не связано с неким IP-адресом.
С IP-адресом связано имя хоста (см. все что связано с DNS). Имя же хоста и имя компьтера - понятия совершенно разные.


 
McSimm   (2002-02-20 12:42) [3]

gethostbyaddr
gethostbyname


 
Ghost.   (2002-02-20 13:16) [4]

ну по IP попробуй так

uses winsock;

type
TAPInAddr = Array[0..100] of PInAddr;
PAPInAddr = ^TAPInAddr;

function IPaddrByHost(wnd : THandle; host : string; var addresses : string) : integer;
var
WSAData: TWSAData;
HostEntPtr: PHostEnt;
pptr: PAPInAddr;
i: Integer;
s, s1 : string;
begin
WSAStartUp( $101, WSAData );//init winsock
try
if Host = "" then
MessageBox(wnd, "Host not entered", "Error!", mb_ok or mb_iconerror);

// Get host entry by hostname
HostEntPtr := GetHostByName(@Host[1]);
if HostEntPtr = NIL then begin
addresses := "No_hosts";
exit;
end;
// Make list of host IPs
pptr := PAPInAddr( HostEntPtr^.h_addr_list );

i := 0;
while pptr^[i] <> NIL do begin
//AddressListBox.Items.Add( inet_ntoa( pptr^[i]^ ) );
s1 :=inet_ntoa( pptr^[i]^) + #13#10;
s := s + s1;
Inc( i );
end;
//MessageBox(0,@ss[1],"dfa",mb_ok);
addresses := s;

finally
end;

WSACleanUp(); // uninitialise WinSock
end;


 
fixxxer   (2002-02-20 14:18) [5]

Если получаешь список компьютеров в сети, то это список хостов или имён компьютеров? (что-то я совсем не соображу)
И если это хосты то IP из них каким образом выяснить?


 
Digitman   (2002-02-20 14:27) [6]

LanManager, к которому ты, скорее всего, обращаешься для получения списка компьютеров, возвращает список имен компьютеров (так, как они определены в закладках "Идентификация" в сетевых настройках "Клиента Microsoft Network" каждого из перечисленных компьютеров), а не список хостов.


 
fixxxer   (2002-02-20 15:02) [7]

Список компов я получаю таким образом:

procedure TNetworkNeighborhood.ListComputers(Strings: TStrings);
var
i, j: integer;
L: TNetworkWorkgroup;
S: TString;
begin
Strings.BeginUpdate;
try
Strings.Clear;
for i:=0 to Count - 1 do begin
L:=Objects[i] as TNetworkWorkgroup;
for j:=0 to L.Count - 1 do begin
S:=L[j];
CleanUp(S);
Strings.Add(S);
end;
end;
finally
Strings.EndUpdate;
end;
end;

Это хосты или имена компов?


 
Digitman   (2002-02-20 16:30) [8]

судя по Neighborhood - имена компьютеров.
а что это за класс TNetworkNeighborhood ? где в Д5 VCL он декларирован ?


 
fixxxer   (2002-02-20 17:21) [9]

TNetworckNeighborhood декларирован в файле Networcks.pas, который я где-то скачал. Там много чего полезного. К стати я только что там получил IP-адреса. Если хочешь вышлю его тебе на мыло.


 
cypher   (2002-02-20 22:22) [10]

Вышли и мне ! cypher@land.ru


 
fishka   (2002-02-28 15:20) [11]

Если нетрудно, то вышлите, пожалуйста, и мне. Заранее спасибо.
flatfish@mailru.com


 
Dimka Maslov   (2002-02-28 16:20) [12]

Networks.pas можно закачать у меня на сайте (это моё произведение) http://dims.gpsm.ru/files/downloads/findcomp.zip на данный момент он может получать список компьтеров в сети, их IP-адреса и расшаренные ресурсы. Если что обращайтесь непосредственно ко мне.

>fixxxer
Функция, приведённая тобой лишь создаёт линейный список имён компьютеров (определённых у них в свойствах сетевого окружения) на основе имеющегося древовидного (по рабочим группам), хотя это и не имена хостов, но функция gethostbyaddr для них вернёт их локальные IP-адреса, однако если на DNS сервере прописано имя хоста совпадающее с именем какого-либо компьтера, то функция естественным образом вернёи имя хоста. Такое происходит на моём компьютере. В локальной сети он имет имя DIM и адрес 192.168..., однако на DNS сервере провайдера прописан хост dim.wplus.net (для внутренних нужд провайдера) и функция gethostbyname для имени DIM возращает его адрес 195.131...



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2002.05.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.005 c
1-39766
AndreyS
2002-04-28 11:22
2002.05.13
Как принудительно сделать рефреш окна.


1-39696
Riko
2002-04-29 15:00
2002.05.13
Как программно включить Отображение всех файлов?


1-39748
Vovchik
2002-04-27 19:51
2002.05.13
Копирование файлов с помощью SHFileOperation


1-39768
Sewix
2002-04-28 15:05
2002.05.13
ListBox


3-39650
Сержжж
2002-04-17 12:12
2002.05.13
Создание вычисляемого поля





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский