Abfrage des Namensdes Remote PCs (nbtstat)
-
Hallo zusammen,
ich versuche ich vergeblich die Abfrage des DNS Namen des remote Computers abzufragen.
Auf die übliche Vorgehensweise wie:string name = ""; String ip = "192.168.3.201"; name = Dns.GetHostEntry(ip).HostName;
bekomme ich wieder die ip als Antwort zurück.Sollte doch der Rechnername erscheinen, oder?
Wenn ich so versuche:
String ip = "dc1"; //ist der Name des Rechners name = Dns.GetHostEntry(ip).HostName;
bekomme ich den full qualified Namen zurück : dc1.dom.de (dom.de ist meine Domäne)
Folgendes habe ich auch probiert:
String ip = "192.168.3.201"; IPAddress adr = IPAddress.Parse(ip); name = Dns.GetHostEntry(adr).HostName;
gleiche Wirkung.
Hat jemand Idee, was hier falsch ist oder wie es doch hinbekomme?Danke im Voraus
Roman
-
Vielleicht hilf dies (ungetestet):
public static void DoGetHostEntry(string hostname) { IPHostEntry host; host = Dns.GetHostEntry(hostname); Console.WriteLine("GetHostEntry({0}) returns:", hostname); foreach (IPAddress ip in host.AddressList) { Console.WriteLine(" {0}", ip); } }
-
Danke für den Ansatz. Leider liefert es auch nur die ip Adressen.
Hat jemand noch ne Idee?Wenn so nicht klappt, werde ich tatsächlich die Erbenisse des "nbtstat -a" parsen müssen. Nicht gerade eleganter Weg.
Hey Leute, lass mich nicht hängen und meldet euch
Grüße
-
Hi,
also bei mir funktioniert dein Beispiel, ich erhalte z.B. hier:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { try { Console.WriteLine(Dns.GetHostEntry("193.99.144.85").HostName); } catch(Exception e) { Console.WriteLine(e.Message); } } } }
den korrekten Namen von "Heise" zurück.
193.99.144.85 => www.heise.de 87.106.19.147 => s15222134.onlinehome-server.info (c-pusplus.de) 127.0.0.1 => mein lokaler Hostname
Einzig meine netzinterne IP hier wird nicht aufgelöst und schmeisst mir ne Exception.