Форум: "Сети";
Текущий архив: 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.004 c