.Net IP Abfragen
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
adresse
bleiben
code
eingetragen beispiel
filter
funktioniert code
helfen
http
interface
internet
jemand
lokale netzwerk
nachzulesen
raten
rechner
router
schnittstelle
system
topologie
url
-
Hallo,
Gibt es eine Möglichkeit in .net[C#] die IP des Computers abzufragen ohne es, von einer Website abzulesen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
In VB geht das so:
Dim addr As System.Net.IPHostEntry = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName)
In C# nehm ich mal an dann so oder so ähnlich:
System.Net.IPHostEntry addr = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName () );
Das alles ist hier http://www.daniweb.com/forums/thread38368.html# nachzulesen.
Einmal in Google ".net get local IP" eingeben, hilft ungemein. -
Hab den Code etwas abgeändert und er funktioniert:
IPHostEntry ipa = Dns.GetHostByName(Dns.GetHostName()); ip = ipa.AddressList.GetValue(0).ToString();
Nur leider wird mir die Lokale Netzwerk IP angezeigt.
Ich möchte aber die externe IP(Gateway).
Kann mir jemand dabei helfen? -
Was meinst du mit externen IP?
Hat dein Rechner mehrere Ethernet-Schnittstellen und eine zeigt in ein WAN?
Oder meinst du die WAN-seitige-IP deines Routers?
Oder die LAN-seitige-IP deines Routers? (Diese Adresse wäre zwar nicht "extern", aber ist wohl bei deinem Rechner als Gateway eingetragen) -
OK, willst du also die IP-Adresse, die dein ISP (also Arcor) deinem Router zugewiesen hat?
Edit: Oder hat dein Rechner eine statische IP im Internet?
Mal doch bitte mal kurz deine Topologie auf, sonst ist es schwierig zu raten, wer welche IP hat.
Beitrag zuletzt geändert: 18.7.2009 9:45:49 von census -
ja die IP vom ISP.
Nein, keine Statische IP, eine Dynmaische.
Beitrag zuletzt geändert: 18.7.2009 19:15:19 von keksessen -
OK, da die ISP-IP direkt auf deinem Rechner konfiguriert ist und nicht auf einem anderen Gerät (z.B. Router) ist das ganze recht einfach:
Nutz die dot-net-Klassen Microsoft.Win32.Registry und Microsoft.Win32.RegistryKey um folgenden Schlüssel auszulesen:
HKLM\SYSTEM\CurrentControlSet\services\Tcpip
Darunter liegt die ganze IP-v4-Konfiguration.
Unter dem Schlüssel Interfaces findet sich eine Auflösung aller konfigurierten Interfaces, jedes Interfaces hat einen Wert "DhcpIPAddress" in dem die über DHCP zugewiesene IPv4 steht.
So kommst du an alle IPs deiner NICs ran. Filter alle raus, die lokal sind (i.d.R. 192.168.x.y) und übrig bleiben die externen.
Ich hoffe, ich konnte dir helfen.
cu -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage