![]() |
IP Adresse aus dem Hostnamen ermitteln
Hallo,
momentan nutze ich folgende Funktion um den Hostnamen einer IP-Adresse zu ermitteln:
Delphi-Quellcode:
function IPAddrToName(IPAddr: AnsiString): AnsiString;
var SockAddrIn: TSockAddrIn; HostEnt: PHostEnt; WSAData: TWSAData; begin WSAStartup($101, WSAData); SockAddrIn.sin_addr.s_addr:=inet_addr(PAnsiChar(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; gibt es auch die "umgekehrte" Möglichkeit, also anhand des Hostnamens die IP-Adresse zu erhalten? Danke im Voraus! |
Re: IP Adresse aus dem Hostnamen ermitteln
|
Re: IP Adresse aus dem Hostnamen ermitteln
Wenn man nach
![]()
Delphi-Quellcode:
Mist, er wollte es ja anders herum.
function GetComputerName(IPAddr: string): string;
var SockAddrIn: TSockAddrIn; HostEnt: PHostEnt; WSAData: TWSAData; begin WSAStartup($101, WSAData); SockAddrIn.sin_addr.s_addr := inet_addr(IPAddr); HostEnt := gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET); if HostEnt <> nil then Result := StrPas(Hostent^.h_name) else Result := ''; end; |
Re: IP Adresse aus dem Hostnamen ermitteln
Um das oben schon verlinkte Beispiel mal zu erklären:
GetHostByAddr - Quelle=IP GetHostByName - Quelle=URL/Domain Man kennt nun also schon GetHostByAddr und schaut einfach mal nach, was es dazu für Informationen gibt. In diesem Fall geht man also zum MSDN ![]() |
Re: IP Adresse aus dem Hostnamen ermitteln
Hallo Luckie,
erstmal danke, aber so habe ich das bei mir eingebaut:
Delphi-Quellcode:
bekomme aber immer nur einen leeren Wert zurück! Irgend eine Idee?
function NameToIPAddr(IPAddr: PAnsiChar): AnsiString;
var SockAddrIn: TSockAddrIn; HostEnt: PHostEnt; WSAData: TWSAData; begin WSAStartup($101, WSAData); SockAddrIn.sin_addr.s_addr := inet_addr(IPAddr); HostEnt := GetHostByName(@SockAddrIn.sin_addr.S_addr); if HostEnt <> nil then Result := StrPas(Hostent^.h_name) else Result := ''; end; |
Re: IP Adresse aus dem Hostnamen ermitteln
Zitat:
Du solltest IPAddr vielleicht vorher nicht durch ![]() Allerdings sagt Microsoft auch, dass man die ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz