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

Publié par Daxentuut dans java

Avec les imports c'est mieux :

import java.awt.AWTException
import java.awt.Robot
import java.awt.event.KeyEvent
import java.io.IOException
import java.util.logging.Level
import...

Publié par Laurent dans java

Merci :)
Teste sous Linux CentOS, fonctionne mais ne recouvre pas la barre des taches.

Publié par ben ali dans CMS

je veux bien céte jeux

Publié par dotnet dans php5

Cette interface est intéressant par le fait qu'elle soit universelle, donc son intérêt pour moi est qu'elle permet l'accès aux bases de données Microsoft SQL Server....

Publié par claude77 dans tuto

Super application, fonctionne bien
exemple sur une image