Newsgroup: it.comp.java
Titolo: Nome host da indirizzo IP

Salve,
č la prima volta che posto in questo gruppo quindi vogliate scusarmi
per qualche disattenzione.
Recentemente ho iniziato a programmare in Java (dopo due anni che non
toccavo il compilatore) e ho scoperto appieno l'utilizzo delle classi
Socket e SocketServer. In particolare ho scritto un piccolo server FTP
e un programma che dato il nome host di un server (es.
www.microsoft.com
) restituisce gli indirizzi IP di tutti i server che
fanno capo al nome host specificato. Vorrei sapere se e come č
possibile fare l'operazione inversa, ovvero ricevere il nome dell'host
dato un indirizzo IP.
Grazie anticipatamente!

 wrote in message 3a054ebf...@news.libero.it...


passando come argomento l'indirizzo IP nel formato "%d.%d.%d.%d".
Ho provato dal mio programma specificando come parametro un indirizzo
IP piuttosto che un'host:
java GetHostIP 192.168.0.1
che dovrebbe essere equivalente (nel caso del mio programma) a:
java GetHostIP -localhost
ma non mi risponde niente (non mi da nemmeno una
UnknownHostException)!

Faccio la domanda in maniera più semplice:
Come posso realizzare il ping in java su una macchina di cui conosco
solo l'IP e voglio conoscerne il nome (dovrò aprire un socket per
effettuare il ping e questo mi darà la possibilità di conoscere il
nome del computer remoto)?
Grazie!!!

Grazie anticipatamente!
Non credo che il ping ti dia la risposta che cerchi... forse č piů
indicato un tracert o traceroute...
ciao
Andrea

 indicato un tracert o traceroute...
Mi sembra più appropriato un programmino che interroghi un name server
tipo nslookup. Il funzionamento dovrebbe essere descritto dagli RFC
1034-1035.
Ciao, Cris
-- 
Cristian Veronesi ><((((º> 
http://www.crpa.it
Haleway sheyaamod! ("Speriamo che tenga", pare che abbia
esclamato l'Eterno contemplando il mondo appena creato)

 
se non ho capito male la richiesta, secondo me fa prima con due righe
del tipo:
// file ShowName.java
import java.net.*;
public class ShowName {
   public static void main( String[] args )
      throws UnknownHostException
   {
      String ipaddr = ( args.length < 1 )? "127.0.0.1" : args[0];
      InetAddress host = InetAddress.getByName( ipaddr );
      String hostName = host.getHostName();
      System.out.println( "IP: "+ipaddr+" HostName: "+hostName );
   }
}
// :~
se il sistema e` configurato correttamente per interrogare un DNS
dovrebbe funzionare. Almeno, sul mio PC funziona:
[matteo@luke ~]$ java ShowName
IP: 127.0.0.1 HostName: localhost.localdomain
[matteo@luke ~]$ java ShowName 192.168.1.1
IP: 192.168.1.1 HostName: luke.casa.mattia
[matteo@luke ~]$ java ShowName 207.46.230.218
IP: 207.46.230.218 HostName: 
microsoft.com
Da notare che l'ultimo restituisce '
microsoft.com
' e non
'
www.microsoft.com
' xche` controllando risulta:
[matteo@luke ~]$ host 
www.microsoft.com
www.microsoft.com
 is a nickname for 
microsoft.com
microsoft.com
 has address 207.46.130.45
microsoft.com
 has address 207.46.230.218
microsoft.com
 has address 207.46.230.219
microsoft.com
 has address 207.46.230.229
microsoft.com
 has address 207.46.130.45
microsoft.com
 has address 207.46.230.218
microsoft.com
 has address 207.46.230.219
microsoft.com
 has address 207.46.230.229
quindi il risultato e` corretto (credo... :)
-- 
Ciao,  |  I play Russian roulette everyday, a man's sport,
Matteo |  With a bullet called life, yeah called life (SUGAR)

... e volendo conoscere il nome di rete di un computer dato il suo IP?