getent hosts druckt IPv6, getent ahosts druckt IPv4


9

Ausführliche Ausgabe von meinem Terminal:

$ getent hosts example.org
2001:500:88:200::10 example.org
$ getent ahosts example.org
192.0.43.10     STREAM 43-10.any.icann.org
192.0.43.10     DGRAM  
192.0.43.10     RAW    

Ich dachte, sie sollten beide (zumindest Ahosts ) sowohl IPv4- als auch IPv6-Adressen drucken. Warum drucken diese unterschiedliche Adresstypen?

$ uname -srvmpio
Linux 3.2.0-31-generic #50-Ubuntu SMP Fri Sep 7 16:17:36 UTC 2012 i686 i686 i386 GNU/Linux

Bearbeiten : Sieht so aus, als ob es mit diesem Fehlerbericht zusammenhängt .


Der Titel ist falsch (das Gegenteil der Ausgabe)
whoan

Antworten:


8

Beide getent hostsund getent ahostskönnen möglicherweise sowohl IPv4- als auch IPv6-Adressen drucken, sie entscheiden jedoch, welche Adresse (n) unterschiedlich gedruckt werden soll (das ist der Punkt, an dem zwei verschiedene Befehle vorhanden sind).

hostsAufrufe gethostbyname2(die IPv6-unterstützende Variante von gethostbyname). Das Verhalten ist fest codiert : Suchen Sie nach einer IPv6-Adresse, und wenn keine vorhanden ist, suchen Sie nach einer IPv4-Adresse.

ahostsAnrufe getaddrinfo. Diese Funktion listet alle Protokolle für einen bestimmten Namen auf, sodass sowohl IPv4- als auch IPv6-Adressen im selben Aufruf zurückgegeben werden können. Was es zurückgibt, wird durch die Einstellungen in bestimmt /etc/gai.conf. Da viele Anwendungen immer noch Probleme mit IPv6 haben, bevorzugen die meisten Distributionen standardmäßig IPv4 und verwenden IPv6 nur auf ausdrückliche Anfrage.

Einige nützliche Informationen zu ahostsund gai.confum Stack Exchange:

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.