140 votes

Quel est l'utilitaire de ligne de commande DNS inverse ?

Quelle est la commande permettant de trouver le nom d'un ordinateur à partir de son adresse IP ?

J'oublie toujours ce qu'est cette commande, mais je sais qu'elle existe sous Windows et je suppose qu'elle existe sur la ligne de commande *nix.

126voto

Marc-Andre R. Points 2089

creuser y hôte devrait correspondre à ce que vous recherchez ;)

http://www.unix.com/unix-dummies-questions-answers/9866-nslookup-linux.html

Sur un système *nix, vous pouvez utiliser cette commande : dig -x [address]

Vous pouvez également ajouter +short à la fin de la dig pour afficher uniquement le résultat dns.

Sur Windows utiliser nslookup

EDIT : nslookup fonctionne aussi sur les systèmes *nix. Plus d'infos sur la commande nslookup qui semble avoir été remplacée depuis un certain temps maintenant : http://linuxreviews.org/man/nslookup/

76voto

Pandincus Points 5785

Sur *nix, vous pouvez utiliser :

dig -x [address]

26voto

kolomer Points 31

Essayez "hôte".

  • Forward lookup avec host :

    $ host google-public-dns-b.google.com.
    google-public-dns-b.google.com has address 8.8.4.4
    google-public-dns-b.google.com has IPv6 address 2001:4860:4860::8844
  • Recherche inversée avec host :

    $ host 8.8.4.4
    4.4.8.8.in-addr.arpa domain name pointer google-public-dns-b.google.com.

Semblable à la fouille

  • Forward lookup avec dig :

    $ dig google-public-dns-b.google.com. +short
    8.8.4.4
  • Recherche inversée avec dig :

    $ dig -x 8.8.4.4 +short
    google-public-dns-b.google.com.

Essayez "rdt"

Il faut un peu plus de préparation. Mais si vous faites cela, alors vous pouvez exécuter ce "rdt" PHP script depuis la ligne de commande et c'est assez merveilleux. Il fait quelques allers-retours entre les recherches en avant et en arrière.

A télécharger ici : https://github.com/grawity/code/blob/master/net/rdt

Exemple. Voici à quoi ça ressemble quand ça marche :

$ rdt google-public-dns-b.google.com.
google-public-dns-b.google.com. = 2001:4860:4860::8844, 8.8.4.4
   2001:4860:4860::8844 = dns.google
      dns.google = 2001:4860:4860::8844, 2001:4860:4860::8888, 8.8.4.4, 8.8.8.8
         2001:4860:4860::8888 = dns.google
         8.8.8.8 = dns.google
   8.8.4.4 = dns.google

11voto

jeffreypriebe Points 1070

Sur la plupart des systèmes Linux que je connais, vous pouvez utiliser :

 nslookup <ip-number EX: 127.0.0.1>

fonctionnera sur la ligne de commande.

En y réfléchissant, nslookup n'est-il pas disponible sous Windows XP ?

4voto

Curt Hagenlocher Points 12432

Je suis bien conscient que dig/host/nslookup sont les outils standards pour cela, mais je les garde pour tester la résolution du système d'exploitation (essentiellement, pour tester que nsswitch.conf fonctionne correctement) :

gethostbyname :

#!/usr/bin/perl

use Socket;

my @t = gethostbyname($ARGV[0]);
print "\$name     = $t[0]\n"; shift(@t);
print "\$aliases  = $t[0]\n"; shift(@t);
print "\$addrtype = $t[0]\n"; shift(@t);
print "\$length   = $t[0]\n"; shift(@t);

foreach (@t) {
  print "          = ", inet_ntoa($_), "\n";
}

gethostbyaddr :

#!/usr/bin/perl

use Socket;

my @t = gethostbyaddr(inet_aton($ARGV[0]), AF_INET);
print "\$name     = $t[0]\n"; shift(@t);
print "\$aliases  = $t[0]\n"; shift(@t);
print "\$addrtype = $t[0]\n"; shift(@t);
print "\$length   = $t[0]\n"; shift(@t);

foreach (@t) {
  print "          = ", inet_ntoa($_), "\n";
}

exemple :

g3 0 /home/jj33/swap > gethostbyname www.google.com
$name     = www.l.google.com
$aliases  = www.google.com
$addrtype = 2
$length   = 4
          = 72.14.205.147
          = 72.14.205.103
          = 72.14.205.104
          = 72.14.205.99
g3 0 /home/jj33/swap > gethostbyaddr 72.14.205.147 
$name     = qb-in-f147.google.com
$aliases  = 
$addrtype = 2
$length   = 4
          = 72.14.205.147

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X