Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Netzwerkprogrammierung
Thorsten73
myCSharp.de - Member



Dabei seit:
Beiträge: 3
Herkunft: Westfalen

Themenstarter:

Netzwerkprogrammierung

beantworten | zitieren | melden

Hallo zusammen,

ich habe ein Problem mit einem bereits vielfach besprochenen Thema. Es geht dabei um die Ermittlung des Hostnames über eine IP-Addresse. (Bitte keine "RTFM"- Hinweise, ich habe bereits alles gelesen, komme aber nicht zum Ergebnis!)


try
{
   IPAddress IPstring = IPAddress.Parse(IPAdresse);
   IPHostEntry he = Dns.GetHostByAddress(IPstring); 
   String[] Hostnamen = he.Aliases;

   MessageBox.Show ("Angeforderte IP    :     " + IPstring.ToString() +"\n"
                       +"Anzahl der Aliases :     " + he.Aliases.Length.ToString() +"\n");
   
   return Hostnamen;
}
Der Sourcecode ist nicht sonderlich schwierig zu verstehen, erstaunlicherweise bekomme ich aber keinen Hostnamen zurückgeliefert. Die Länge des Alias-Arrays ist immer "0". Dies gilt für Anfragen des Localhost (127.0.0.1), eines LAN-Clients (z.B. 192.168.0.1) und auch für IPs der Klasse A.

Die Auflösung der IP-Adresse über den Hostnamen (Dns.GetHostByName(string)) funktioniert einwandfrei.

Über Hilfe wäre ich extrem glücklich!

Thorsten Müller
private Nachricht | Beiträge des Benutzers
Cord Worthmann
myCSharp.de - Member



Dabei seit:
Beiträge: 1205

beantworten | zitieren | melden

versuche mal...


string address = "127.0.0.1";

try
{
    Console.WriteLine(System.Dns.GetHostByAddress(address).HostName);
}
catch (System.Net.SocketException ex)
{
    Console.WriteLine(ex.Message);
}




grtz
chief
private Nachricht | Beiträge des Benutzers
r00t
myCSharp.de - Member



Dabei seit:
Beiträge: 141
Herkunft: Schwäbisch Gmünd

beantworten | zitieren | melden

ne daran liegts nicht ;-)

dir fehlen sicher die hosteinträge in:

C:\WINDOWS\system32\drivers\etc -> host

einfach mit edit öffnen und ip plus name nach localhost hinzufügen also:


.
.
.

127.0.0.1 localhost

172.30.5.211 lala1
172.30.5.211 lala2
172.30.5.211 lala3
.
.
.



aliases.length = 0 heisst lediglich dass dein rechner kein alias hat und dir zusatzeinträge in der oben genannten datei fehlen.

good luck ;-)

EDIT:
hab dies anhand von dem von dir hinterlassen code ausprobiert -> positive/funktioniert
posted by the real prince of persia
private Nachricht | Beiträge des Benutzers
Thorsten73
myCSharp.de - Member



Dabei seit:
Beiträge: 3
Herkunft: Westfalen

Themenstarter:

beantworten | zitieren | melden

Vielen Dank für die Hilfe,

aber leider ist das noch immer nicht des Rätsels Lösung. Vielleicht habe ich mich unglücklich ausgedrückt. Ich möchte über den DNS-Server den Namen eines Rechners auflösen, von dem ich lediglich über die IP verfüge.

Bin ich vielleicht auf dem völlig falschen Weg?

Thorsten
private Nachricht | Beiträge des Benutzers
r00t
myCSharp.de - Member



Dabei seit:
Beiträge: 141
Herkunft: Schwäbisch Gmünd

beantworten | zitieren | melden

hier bitte schön...

IPHostEntry he = Dns.Resolve("172.30.5.211");
			MessageBox.Show("Hostname: "+he.HostName);
			string[] hostnamen = he.Aliases;
	
			for(int i=0; i<hostnamen.Length; i++)
			{
				MessageBox.Show("Und hier die Aliases: "+hostnamen[i]);
			}
posted by the real prince of persia
private Nachricht | Beiträge des Benutzers
Thorsten73
myCSharp.de - Member



Dabei seit:
Beiträge: 3
Herkunft: Westfalen

Themenstarter:

beantworten | zitieren | melden

Genau!

Es muss "Dns.Resolve" heissen und nicht "Dns.GetHostByAddress".

Vielen Dank!

Thorsten
private Nachricht | Beiträge des Benutzers
r00t
myCSharp.de - Member



Dabei seit:
Beiträge: 141
Herkunft: Schwäbisch Gmünd

beantworten | zitieren | melden

kein problem.
bin froh, dass ich weiterhelfen konnte.
posted by the real prince of persia
private Nachricht | Beiträge des Benutzers