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 7525 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

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...

Publié par leflo dans php5

Bonjour
Sans parler du fait que l'IP peut ne pas vouloir dire grand chose, en cas de proxy/translation comment on fait? On voit pas et on interdit tout meme si l'utilisateur n'est pas responsa...

Publié par skud dans java

La methode getTextFile() etant statique, il faut donc l'appeler de maniere statique. Modifier l'exemple de la maniere suivante

System.out.print(HTTPLoader.getTextFile('http://fobec.com/CMS/ind...

Publié par sakhr dans tuto

merci b c pour les plusieurs tailles d'images

Publié par OmegaPlatypus dans java

Dans mon cas, plusieurs lettres etaient repetes plusieurs fois, dont la derniere a l'indfiniment. En ajoutant robot.keyReleaseKeyEvent.VK_A, robot.keyReleaseKeyEvent.VK_X, etc. apres chacune des frap...