Entwickler-Ecke

Internet / Netzwerk - IP Adresse auslesen (ipconfig)


nightmare13 - So 08.02.04 01:48
Titel: IP Adresse auslesen (ipconfig)
Hallo,


ich möchte mit meinem Delphi Programm die IP Adressen auslesen und zwar alle die mit IPconfig angezeigt werden.

Ich benutze TTcpClient mit LocalHostAddr. Dieser Befehl gibt mir aber nur eine IP aus. Wie bekomme ich die anderen zur Anzeige z.B. bei einem PPP Adapter die aktive Verbindung?

Danke ....

Gruß Thomas


GruppeCN - Mo 09.02.04 18:40

Keine Ahnung wie genau das geht. Du könntest natürlich ipconfig ausführen lassen und das Ergebnis dursuchen. Ansonsten kannst du mit einem Perl oder PHP Script das ganze über das Internet herausfinden...


Nomak - Di 10.02.04 18:09

Aus dem EDH:

Diese Funktion ermittelt sämtliche lokalen IP-Adressen. Die einzelnen Adressen sind durch Zeilenwechsel getrennt.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
uses WinSock;

function GetLocalIPs: String;
type PPInAddr= ^PInAddr;
var
  wsaData: TWSAData;
  HostInfo: PHostEnt;
  HostName: Array[0..255of Char;
  Addr: PPInAddr;
begin
  Result:='';
  if WSAStartup($0102, wsaData)<>0 then exit;
  try
    if gethostname(HostName, SizeOf(HostName)) <> 0 then exit;
    HostInfo:= gethostbyname(HostName);
    if HostInfo=nil then Exit;
    Addr:=Pointer(HostInfo^.h_addr_list);
    if (Addr=nilor (Addr^=nilthen exit;
    Result:=StrPas(inet_ntoa(Addr^^));
    inc(Addr);
    while Addr^<>nil do begin
      Result:=Result+^M^J+StrPas(inet_ntoa(Addr^^));
      inc(Addr);
    end;
  finally
    WSACleanup;
  end;
end;


Moderiert von user profile iconPeter Lustig: Delphi-Tags hinzugefügt


Chatfix - Mi 11.02.04 11:16

GruppeCN hat folgendes geschrieben:
Keine Ahnung wie genau das geht. Du könntest natürlich ipconfig ausführen lassen und das Ergebnis dursuchen. Ansonsten kannst du mit einem Perl oder PHP Script das ganze über das Internet herausfinden...


Ich glaube nicht das du mit PHP die lokalen Adressen rausbekommst...


Delete - Mi 11.02.04 11:51

Die Rede war ja auch nicht von lokalen IPs. Das hat erst Nomak ins Spiel gebracht. Und die INet-IP erhält man schon mit einer simplen SSI-Anweisung in einer SHTML-Seite:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
<html>
<head>
<title>I know U</title>
</head>
<body>
Du kommst von <!--#echo var="REMOTE_ADDR"-->
</body>
</html>