Ağdaki IP'si verilen bilgisayarın adını bulmak?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Ağdaki IP'si verilen bilgisayarın adını bulmak?
Merhaba;
ağda IP'si verilen bir bilgisayarin adını bulmak için hangi bileşeni kullanmalıyız? Indy bileşenlerinin içinde varmı ?
ağda IP'si verilen bir bilgisayarin adını bulmak için hangi bileşeni kullanmalıyız? Indy bileşenlerinin içinde varmı ?
sana sunu hatırlatmak isterim command satırında zaten ip'si bilinen pc'ye ping atıldığında karşısında makine ismi çıkıyor ....
Eğer ortamda DNS yada WINS gibi isim ve ip cozumlemesi yapan bileşenler var ise bunların database'indende alabilirsin ama erişimi nasıl gerçekleştirbilirsin bilemiyorum kolay gelsin
Eğer ortamda DNS yada WINS gibi isim ve ip cozumlemesi yapan bileşenler var ise bunların database'indende alabilirsin ama erişimi nasıl gerçekleştirbilirsin bilemiyorum kolay gelsin
derviş
Aşağıdaki kod işini görecektirr... uses winsock;
Kod: Tümünü seç
function IPAddrToName(IPAddr : String): String;
var
SockAddrIn: TSockAddrIn;
HostEnt: PHostEnt;
WSAData: TWSAData;
begin
WSAStartup($101, WSAData);
SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr));
HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
if HostEnt<>nil then
begin
result:=StrPas(Hostent^.h_name)
end
else
begin
result:='';
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption:=IPAddrToName(edit1.text);
end;
http://www.bargem.info
Yaşıyorum..... İnadına değil yaptıklarım. Herşey istediğim için oluyor. İstediğim için türkü dinliyorum. İstediğim için çalışıyorum. İstediğim için yaşıyorum ve istediğim için seni seviyorum...
Yaşıyorum..... İnadına değil yaptıklarım. Herşey istediğim için oluyor. İstediğim için türkü dinliyorum. İstediğim için çalışıyorum. İstediğim için yaşıyorum ve istediğim için seni seviyorum...
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
F: TextFile;
K,S: string;
i:integer;
begin
RichEdit1.Lines.Clear;
if RadioButton3.Checked=True then begin
S:=Edit2.Text;
TcpClient1.RemoteHost:=S;
if RadioButton1.Checked=True then
K:=TcpClient1.LookupHostName(S)
else
K:=TcpClient1.LookupHostAddr(S);
RichEdit1.Lines.Add(K);
end
else begin
AssignFile(F, Edit1.Text); { File selected in dialog }
Reset(F);
while not(eof(F)) do begin
Readln(F, S); { Read first line of file }
TcpClient1.RemoteHost:=S;
if RadioButton1.Checked=True then
K:=TcpClient1.LookupHostName(S)
else
K:=TcpClient1.LookupHostAddr(S);
RichEdit1.Lines.Add(K);
end;
CloseFile(F);
end;
end;
burda yazılan yöntemlerin hepsiyle rahatlıkla yapılabiliyor. Ben "delhici" nin yöntemiyle yaptım.
Delhici yazdı: uses winsock;
Kod: Tümünü seç
function IPAddrToName(IPAddr : String): String; var SockAddrIn: TSockAddrIn; HostEnt: PHostEnt; WSAData: TWSAData; begin WSAStartup($101, WSAData); SockAddrIn.sin_addr.s_addr:= inet_addr(PChar(IPAddr)); HostEnt:= gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET); if HostEnt<>nil then begin result:=StrPas(Hostent^.h_name) end else begin result:=''; end; end; procedure TForm1.Button1Click(Sender: TObject); begin label1.Caption:=IPAddrToName(edit1.text); end;