Utilise le mensonge Ping jamais cache DNS

J'ai quelques questions.

Tout d'abord, ce matin j'ai couru

ping

contre

google.com

Et il m'a retourné l'adresse

216.58.220.14

.

Ce qui s'est étrangement passé: à tout moment après le premier ping Toutes les tentatives ping conduit à la même adresse, c'est-à-dire

216.58.220.14

(Je m'attendais à une autre adresse, au moins un peu de temps, étant donné que Google Équilibrer sa charge)

Alors, je demande mon ami (Mon collègue), Assis à côté de moi (sur le même réseau),

ping google.com

Et, comme je m'y attendais, il a renvoyé d'autres adresses.

Question 1:

Utilise le mensonge Ping Cache de machine DNS.

Question 2:

Comment afficher DNS Cash Records Linux (Ubuntu).
Invité:

Babette

Confirmation de:

Quelle base de données sera utilisée par le système pour restaurer le nom d'hôte dans le système moderne Linux, Déterminé par B. nsswitch.conf.
http://www.oreilly.com/openboo ... .html

Bibliothèque de résolveur

Le terme convertisseur ne s'applique pas à une application spéciale, mais à la bibliothèque de transducteurs. Ceci est un ensemble de fonctions qui peuvent être trouvées dans la bibliothèque standard. C. Procédures centrales - c'est gethostbyname (2) et gethostbyaddr (2), Qui recherchent toutes les adresses IP associées au nom de l'hôte et inversement. Vous pouvez les configurer afin de simplement rechercher des informations dans des hôtes, demander un certain nombre de serveurs de noms. DNS ou utiliser la base de données d'hôte de service d'information réseau (NIS).

Les fonctionnalités de la reconnaissance ont lu les fichiers de configuration lors de leur appel. Dans ces fichiers de configuration, ils déterminent quelles bases de données à demander, dans quel ordre et autres détails sont liés à la manière dont vous avez configuré votre environnement. Ancienne bibliothèque standard Linux, libc, utilisé /etc/host.conf comme fichier de configuration principal, mais la version 2 Bibliothèque standard GNU, glibc, Les usages /etc/nsswitch.conf.

En supposant que dans google.com Pas d'article

/etc/hosts

Fichier, chaque fois que la commande est démarrée ping, Il contactera le serveur DNS pour résoudre le nom d'hôte. Donc, tout dépend de la manière dont le serveur DNS renvoie une demande. J'ai testé ici une machine virtuelle testée en cours d'exécution Ubuntu 14.04 et utiliser le serveur DNS Google (8.8.8.8), Et voici les résultats de l'équipe ping et la capture correspondante tcpdump:

Premier ping et approprié tcpdump:

root@testvm:/home/testuser# ping google.com
PING google.com (80.149.20.99) 56(84) bytes of data.
64 bytes from 80.149.20.99: icmp_seq=1 ttl=59 time=19.0 ms
64 bytes from 80.149.20.99: icmp_seq=2 ttl=59 time=18.7 ms
64 bytes from 80.149.20.99: icmp_seq=3 ttl=59 time=20.4 ms
64 bytes from 80.149.20.99: icmp_seq=4 ttl=59 time=18.7 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 18.733/19.261/20.467/0.715 ms

11:23:10.439152 IP 10.11.1.33.45008 > google-public-dns-a.google.com.domain: 48602+ A? google.com. (28)
11:23:10.482544 IP google-public-dns-a.google.com.domain > 10.11.1.33.45008: 48602 16/0/0 A 80.149.20.99, A 80.149.20.88, A 80.149.20.108, A 80.149.20.93, A 80.149.20.104, A 80.149.20.94, A 80.149.20.114, A 80.149.20.103, A 80.149.20.98, A 80.149.20.89, A 80.149.20.113, A 80.149.20.119, A 80.149.20.109, A 80.149.20.118, A 80.149.20.123, A 80.149.20.84 (284)
11:23:10.483370 IP 10.11.1.33 > 80.149.20.99: ICMP echo request, id 2397, seq 1, length 64
11:23:10.502433 IP 80.149.20.99 > 10.11.1.33: ICMP echo reply, id 2397, seq 1, length 64

2ème ping et approprié tcpdump:

root@testvm:/home/testuser# ping google.com
PING google.com (80.149.20.98) 56(84) bytes of data.
64 bytes from 80.149.20.98: icmp_seq=1 ttl=59 time=18.1 ms
64 bytes from 80.149.20.98: icmp_seq=2 ttl=59 time=18.4 ms
^C
--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 18.173/18.326/18.480/0.204 ms

11:25:34.118450 IP 10.11.1.33.51623 > google-public-dns-a.google.com.domain: 60862+ A? google.com. (28)
11:25:34.146881 IP google-public-dns-a.google.com.domain > 10.11.1.33.51623: 60862 16/0/0 A 80.149.20.98, A 80.149.20.84, A 80.149.20.89, A 80.149.20.118, A 80.149.20.109, A 80.149.20.114, A 80.149.20.103, A 80.149.20.113, A 80.149.20.93, A 80.149.20.119, A 80.149.20.104, A 80.149.20.108, A 80.149.20.123, A 80.149.20.88, A 80.149.20.99, A 80.149.20.94 (284)
11:25:34.147512 IP 10.11.1.33 > 80.149.20.98: ICMP echo request, id 2408, seq 1, length 64
11:25:34.165675 IP 80.149.20.98 > 10.11.1.33: ICMP echo reply, id 2408, seq 1, length 64

Voici des moments intéressants:

ping Donne la demande DNS (Record A) Au serveur DNS configuré (Puisque cet hôte n'écrit pas dans le fichier / etc / hosts) Chaque fois que vous démarrez la commande.

Serveur dns. Google Renvoie plusieurs adresses IP dans une autre commande.

Utilitaire ping Utilise la première adresse IP renvoyée par le serveur DNS et l'envoie une demande d'écho.

Ainsi, le processus lui-même ping Il ne cache pas, et tout dépend de la manière dont le serveur DNS est responsable. Il peut arriver que le serveur DNS demandé renvoie les valeurs mises en cache ou les mêmes résultats, puis ping Aussi utilisera la même adresse IP.

Un autre facteur important est (Comme mentionné ci-dessus)

/etc/nsswitch.conf

Le fichier qui indique à la station, quelle base de données est de rechercher et dans quel ordre. Voici le contenu approprié de la machine virtuelle testée:

hosts:          files dns

Le système précité dit le système d'utiliser le fichier

/etc/hosts

Premièrement, et si non trouvé, le serveur DNS est de résoudre le nom d'hôte. Dans ce cas, entrez dans le fichier / etc / hosts aura une priorité à enregistrer dns. Plus sur ce sujet ici:
http://www.oreilly.com/openboo ... .html
Une autre lecture intéressante pour l'environnement Windows:
http://blogs.msdn.com/b/nitins ... .aspx

Agathe

Confirmation de:

Non, mais en général cela dépend de la détermination. Lorsque vous entrez la commande, l'enregistrement DNS converti en adresse IP (Oui, cela dépend du cache), et puis le protocole de l'équipe ping (ICMP) Fonctionne avec une adresse IP, pas le nom. Cela signifie que s'il y a un changement DNS Au cours d'une demande d'écho de destination continue, ce changement n'affectera pas le résultat. Cash ici n'est pas non plus pertinent.

Ubuntu Par défaut ne supporte pas DNS. Cependant, le gestionnaire est un démon NSCD.

Pour répondre aux questions, connectez-vous ou registre