AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Über IP den Hostname ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Über IP den Hostname ermitteln

Ein Thema von Jelly · begonnen am 5. Okt 2005 · letzter Beitrag vom 6. Okt 2005
Antwort Antwort
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#1

Über IP den Hostname ermitteln

  Alt 5. Okt 2005, 09:14
Ich muss über eine beliebige Internet IP Adresse dessen Hostname ermitteln. Irgendwie blick ich da nicht durch. Indy (v.10) sollte doch sowas können, aber ich hab keine Ahnung welche Componente ich dafür ranziehen muss.

Ist bestimmt ganz einfach
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#2

Re: Über IP den Hostname ermitteln

  Alt 5. Okt 2005, 09:48
Das geht über DNS Reverse Lookup.

Schau dir mal die Indy Beispiele an. Wenn ich mich recht erinnere gab es bei der 7er Version ein Beispiel dazu. Eventuell ist bei der 10er Version auch was dabei.

Alternativ kann ich heute Abend aus meinen Sourcen was für dich raussuchen ...
Ich verwende die V.7x Indys....


Schöne Grüße,
Jens



[edit]
Alternativ könntest du ja schon mal schauen, ob dir die Infos , die dir DNS Reverse-Lookup liefert überhaupt ausreichen ...
Hier ein kleines Tool dazu ..
Die Kommandozeile tuts natürlich auch (nslookup 212.68.72.92).

[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Über IP den Hostname ermitteln

  Alt 5. Okt 2005, 09:59
Zitat von jensw_2000:
Schau dir mal die Indy Beispiele an. Wenn ich mich recht erinnere gab es bei der 7er Version ein Beispiel dazu. Eventuell ist bei der 10er Version auch was dabei.
Mir fehlen diese ganzen Beispielanwendungen unter Indy 10. Hätte wirklich bei Indy 8 oder 9 bleiben sollen. Hat mir bis jetzt nur Ärger eingebracht.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Über IP den Hostname ermitteln

  Alt 5. Okt 2005, 10:31
Man kann auch direkt mit Winsock arbeiten.
Delphi-Quellcode:
unit WinSockTools;

interface

function ResolveIP(const ipadrstr:string):string;


procedure RaiseSocketError(const UserMsg:string);


implementation

uses WinSock, SysUtils;

function ResolveIP(const ipadrstr:string):string;
var
  InetAddr: u_long;
  HostEntPtr: PHostEnt;
  HostEnt: THostEnt;
  len, struct: Integer;
  i: Integer;
begin
  if ipadrstr = '255.255.255.255then
  begin
      Result := 'broadcast';
      Exit;
  end;


    // Convert textual IP address to binary format
    InetAddr := inet_addr( PChar(ipadrstr) );
    if InetAddr = SOCKET_ERROR then
      raise Exception.Create( 'Invalid address entered' );
    len := 4;

    // Get hist entry by IP
    HostEntPtr := GetHostByAddr( @InetAddr, len, AF_INET );
    if HostEntPtr = NIL then
       RaiseSocketError('GetHostByAddr');

    // Insert hostname into list
    Result := String( HostEntPtr^.h_name );
end;


procedure RaiseSocketError(const UserMsg:string);
begin
   raise Exception.Create('WinSSock error:'#13#10+UserMsg+#13#10+
      SysErrorMessage(WSAGetLastError()));
end;


end.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Über IP den Hostname ermitteln

  Alt 5. Okt 2005, 11:20
Danke shmia,

dein Code klappt einwandfrei.
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#6

Re: Über IP den Hostname ermitteln

  Alt 6. Okt 2005, 00:09
Bei mir funktioniert der Code leider nicht, egal, welche IP ich eingebe:

Zitat:
---------------------------
Project2
---------------------------
WinSSock error:

GetHostByAddr

Die Anwendung hat die Funktion WSAStartup nicht aufgerufen, oder bei dieser Funktion ist ein Fehler aufgetreten.
---------------------------
OK
---------------------------
Hat jemand eine Ahnung, woran das liegen könnte?

Ich arbeite mit Windows XP Home und SP2
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Über IP den Hostname ermitteln

  Alt 6. Okt 2005, 00:15
Zitat von Daniel G:
B
Hat jemand eine Ahnung, woran das liegen könnte?
Steht doch in der Fehlermeldung: Er hat vergessen MSDN-Library durchsuchenWSAStartup aufzurufen:
Zitat:
The WSAStartup function initiates use of WS2_32.DLL by a process.
Und entsprechend fehlt auch MSDN-Library durchsuchenWSACleanup.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#8

Re: Über IP den Hostname ermitteln

  Alt 6. Okt 2005, 00:18
Ähä...

Mönsch, hätt' ich ja von selbst drauf kommen können. Kümmer' ich mich aber erst im Laufe des Tages drum.

Vielen Dank
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz