Publié le 18/10/2010
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Trouver l'adresse IP d'un domaine ou d'un poste de travail

Toutes les communications réseaux utilisent l'adresse ip du périphérique pour communiquer. Voyons comment implémenter la recherche d'adresse ip avec JAVA de la même manière que la commande nslookup sous Windows et la commande dig sous UNIX.

Interroger un serveur DNS

La commande nslookup sous Windows et dig sous UNIX interroge un serveur DNS (Domain Name System). Dans l'exemple, la class NSLookup utilise la fonction InetAddress.getByName pour afficher :
- l'IP d'un serveur web à partir de son nom de domaine,
- l'IP du poste 'leserveur' sur un réseau local à partir de son alias.
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
 
/**
 * Trouver l'adresse IP à partir d'un domaine ou d'un nom de poste
 */
class NSLookup {
 
    public static String IPAddress(String hostname) {
        InetAddress inetHost = null;
        try {
            inetHost = InetAddress.getByName(hostname);
        } catch (UnknownHostException ex) {
            Logger.getLogger(NSLookup.class.getName()).log(Level.SEVERE, null, ex);
        }
        if (inetHost == null) {
            return "Invalid hostname: "+hostname;
        } else {
            return inetHost.getHostAddress();
        }
    }
 
    /**
     * Exemple 
     */
    public static void main(String[] args) {
        //Trouver l'IP du serveur web google.com
        System.out.println("IP du serveur 'www.google.com': " + NSLookup.IPAddress("google.com"));
        //Connaitre l'IP du poste 'leserveur' sur un réseau local
        System.out.println("IP du poste 'leserveur' sur le LAN: " + NSLookup.IPAddress("leserveur"));
    }
}

Résultats de la résolution DNS

L'execution du code JAVA ci-dessous produit le résultat suivant:
IP du serveur 'www.google.com': 173.194.45.67
IP du poste 'leserveur' sur le LAN: 192.168.2.150


A partir des adresses ip retournées par le serveur DNS, il est possible de lancer des tests par exemple avec un ping ou démarrarer une communication avec un serveur avec un socket.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
18/10/2010
Visualisation
vu 7325 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 265 articles
|BIO_PSEUDO|
Commentaires récents

Publié par fobec dans java

La boucle de lecture est corrigée et prend en compte l'état pause. Sympa d'avoir signaler l'erreur

Publié par Etiazam dans php5

Si je peux me permettre, il manque l'incrementation dans les deux boucles, telles qu'elles sont presentees elles font tourner le navigateur en rond, il faut donc ajouter
for ($x=0;$x<50;$x...

Publié par etoiliste010 dans java

BONSOIR le code compile mais
Grave: null
com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first. gd4sm1845967wib.6

at com.sun.mail.smtp.SMTPTransport.i...

Publié par Marcos dans java

Bon travail , mais il a quelque chose d'etrange ! Je devais faire l'interface publique de classe avec des variables de position separees Position NORMAL = null; Position RIGHT = null; et posit...

Publié par MasterMbg dans java

Salut! merci pour le code, si tu y ajoutais des commentaires avant chaque module ce serait encore plus facilitant! merci infiniment...