Host mittels IP bekommen?

Status
Nicht offen für weitere Antworten.

thE_29

Top Contributor
Eigentlich gibts ja funktionien die das können, aber der dreckshund liefert mir immer die IP statt dem hostnamen zurück!

Ich will nämlich ein ping Programm schreiben wo man ip oder hostnamen eingeben kann und sich das gegenseitig ergänzt, wenn eines von den 2en eingetragen worden ist!


Weiß jemand wie das genau geht oder einen shell befehl (muss plattformunabhängig bleiben!)

MfG
 

thE_29

Top Contributor
komisch, hatte es vorher nicht mit getByAdress().getHostname

sondern, hatte den Aufruf nachher und zwar so

Code:
byte b [] = new byte[4];
//b zuordnen

    InetAddress localaddr = InetAddress.getByAdress(b);

    InetAddress[] localaddrs = InetAddress.getAllByName(localaddr.getHostName());
    for(int i = 0; i < localaddrs.length; i++)
    {
      System.out.println(i + ". IP: " + localaddrs[i].getHostAddress());
      System.out.println(i + ". Host: " + localaddrs[i].getHostName());
    }

und so gings halt net, dass es die Funktionen gab, wusste ich schon ;)

tja, komisch, wahrscheinlich haut da irgendeinbfehl was falsches zurück

Trotzdem danke!
 
S

stev.glasow

Gast
also bei mir klappt's:
Code:
byte[] addr = new byte[4];
addr[0] = 82;
addr[1] = (byte)149;
addr[2] = (byte)228;
addr[3] = 10;
			
String host = InetAddress.getByAddress(addr).getHostName();
System.out.println(host);
Ausgabe: server17.df-webhosting.de
PS: Einen Fehler in Suns-Standardbibliothek würde ich nicht gleich so schnell in Betracht ziehen.
[edit]
dein Code funktinoniert bei mir auch, habe es folgendermaßen getestet:
Code:
byte[] addr = new byte[4];
addr[0] = 82;
addr[1] = (byte)149;
addr[2] = (byte)228;
addr[3] = 10;

InetAddress localaddr = InetAddress.getByAddress(addr);
		
InetAddress[] localaddrs = InetAddress.getAllByName(localaddr.getHostName());
for(int i = 0; i < localaddrs.length; i++)
{
	  System.out.println(i + ". IP: " + localaddrs[i].getHostAddress());
          System.out.println(i + ". Host: " + localaddrs[i].getHostName());
}

Hast du vielleicht einen Fehler in deiner "byte-Zuordung"?
 

thE_29

Top Contributor
jo, ich glaub nämlich das es vorher auch ging, nur der server hatte was, weils mit deinem auch geht!

kann sein das nicht jeder das zurückschickt? zum beispiel PCs im netzwerk?
 
S

stev.glasow

Gast
k.A.
Wie lautet denn die IP mit der es nicht geht? Ich kann das ja mal von meinem Rechner aus testen, vielleicht bringt das ja einige Aufschlüsse. 'n Versuch ist es zu mindest Wert.
 

Grizzly

Top Contributor
thE hat gesagt.:
jo, ich glaub nämlich das es vorher auch ging, nur der server hatte was, weils mit deinem auch geht!

kann sein das nicht jeder das zurückschickt? zum beispiel PCs im netzwerk?
Wenn es keine Namensauflösung im Netz gibt, kann die IP oder der Hostname nicht ermittelt werden. Wenn also bspw. Du einen Windows-Rechner und einen Linux-Rechner hast. Nehmen wir also an, dass auf dem Linux-Rechner kein Samba läuft, sich im Netz kein DNS befindet und der Linux-Rechner auch nicht in der Host-Tabelle des Windows-Rechners eingetragen ist. In diesem Fall kann zwar der Windows-Rechner den Linux-Rechner pingen, aber Du kannst Dir nicht den Namen des Linux-Rechners anhand der IP-Adresse geben lassen. Und anhand des Hostnamens sich die IP-Adresse des Linux-Rechners geben zu lassen geht ja gleich zweimal nicht, da er gar keinen Namen besitzt.
 

thE_29

Top Contributor
jo genau so wars, weil 1 linux pcs konnte man auflösen und den anderen net ;)

na dann ist alles klar :p

dank
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Kann VM nicht ueber Host Name finden Netzwerkprogrammierung 0
E HTTP java.lang.IllegalArgumentException: protocol = http host = null Netzwerkprogrammierung 1
C SMTP-Host automatisch ermittlen Netzwerkprogrammierung 15
J Eclipse: Windows-Dienst auf fremden Host aktivieren Netzwerkprogrammierung 14
P Automatische Host suche im Netzwerk Netzwerkprogrammierung 3
A RMI java.rmi.ConnectException: Connection refused to host: 1 Netzwerkprogrammierung 4
R ConnectException: Connection refused to host: 192.168.1.4 ? Netzwerkprogrammierung 8
tfa RMI-Problem: Connection refused to host: 127.0.0.2 Netzwerkprogrammierung 4
B RMI & Connection refused to host Netzwerkprogrammierung 12
A TCP multiClientServer mit socket mittels ObjectOutputStream Netzwerkprogrammierung 12
windl AirPlay mittels Java Netzwerkprogrammierung 0
vandread Zugriff auf Soziales Netzwerk mittels Java? Netzwerkprogrammierung 4
M HTTP HTTPS-Verbindung mittels Java und Javascript Netzwerkprogrammierung 2
C SingleSignOn auf Client mittels Windows Credentials Netzwerkprogrammierung 11
M Dateiupload mittels HttpClient Netzwerkprogrammierung 3
S SSH-Connection - Auto-Vervollständigung mittels TAB Netzwerkprogrammierung 4
L Socket publicKey mittels DatagramPacket übertragen Netzwerkprogrammierung 8
R Sicherheit bei entferntem Methodenaufruf mittels RMI Netzwerkprogrammierung 4
M Bestimmung der Netzwerkklasse mittels IP-Adresse Netzwerkprogrammierung 3
P Textdateien aus Oracle-DB mittels Java auslesen und öffnen Netzwerkprogrammierung 7
S Mittels Java XML abfragen und nicht die Ausgabe-HTML-Datei Netzwerkprogrammierung 5
J Antwort eines Soaprequests parsen mittels org.apache.soap Netzwerkprogrammierung 2
R Mittels BufferedReader Objekte lesen? Netzwerkprogrammierung 5
I http:GET mittels Socket liefert selsame Zeichenfolgen. Netzwerkprogrammierung 4
D txt Datei auslesen mittels URL Netzwerkprogrammierung 7
E Socket Befehl senden und antowrt bekommen ! Netzwerkprogrammierung 1
0 Apache Commons File Object bekommen Netzwerkprogrammierung 4
U2nt Texte bzw. Attribute aus HTML etc. bekommen Netzwerkprogrammierung 2
M Falsche Instanz vom Class Loader zurück bekommen Netzwerkprogrammierung 8

Ähnliche Java Themen


Oben