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