2014-05-16 8 views
18

Ich würde gerne wissen, ob es möglich ist, IPv4 und IPv6-Adresse mit nur einem Befehl Dig zu bekommen, und wie?Holen Sie IPv4 und IPv6 mit einem Befehl

Zum Beispiel: dig Hostname A - der Befehl oben geben die IPv4-

dig Hostnamen AAAA - und dieser Befehl gibt mir die IPv6-Adresse

Wie ich beide addres bekommen können, Ipv4 und IPv6 mit nur einem Befehl?

Ich steckte in diesem Problem, wie bekomme ich IPv4 und IPv6 mit einer autoritären Abfrage, aber mit nur einem Befehl?

Jeder kann mir helfen ???

Antwort

17

Wenn Sie einen autoritativen Server für die Domäne sind Abfragen, können Sie alle Datensätze für einen Namen bekommen mit einer ANY query:

dig hostname ANY @servername 

Dies wird jedoch nicht zuverlässig funktionieren, wenn Sie die Abfrage ein Caching-Server. Wenn ein Caching-Server auf eine ANY-Abfrage antwortet, gibt er die zu diesem Zeitpunkt im Cache befindlichen Datensätze zurück. Wenn der Name sowohl A als auch AAAA Datensätze enthält, aber der Server zuletzt nur die A Datensätze nachgeschlagen hat, werden die AAAA Einträge nicht im Cache gespeichert, sodass sie nicht zurückgegeben werden.

Darüber hinaus gibt es einen Vorschlag, DNS-Server zu erlauben, die Antwort zu verweigern ANY Abfragen: Providing Minimal-Sized Responses to DNS Queries that have QTYPE=ANY. Wenn Sie einen Server abfragen, der dies implementiert, sind Sie möglicherweise nicht in der Lage, beide Antworten mit einer einzigen Abfrage abzurufen (obwohl einer der Vorschläge in diesem Entwurf lautet, dass eine ANY Abfrage möglicherweise nur MX, A und AAAA zurückgibt, da dies der Fall ist oft was Kunden wollen). Für die beste Zuverlässigkeit sollten Sie nur zwei Abfragen durchführen.

+0

Es gibt noch einen Weg, um beide Adresse ohne Dig Befehl zu bekommen? – user3645265

+2

Sie können den Befehl 'host' verwenden. Standardmäßig werden 'A',' AAAA' und 'MX' Anfragen gestellt. – Barmar

+2

Beachten Sie, dass 'ANY' abgeraten wird. https://dataracker.ietf.org/doc/draft-ietf-dnsop-refuse-any/?include_text=1 und https://blog.cloudflare.com/deprecasting-dns-any-meta-query-type/ – the8472

26

Es kann sein, dass dies, da die Frage gestellt wurde, zu graben, wurde hinzugefügt, aber der Vollständigkeit halber kann dies durch die folgende Abfrage ausgeführt werden:

dig hostname A hostname AAAA +short 

Quelle: http://linux.die.net/man/1/dig - unter den ‚Multiple Queries‘ Abschnitt

+0

Genau das, was ich gesucht habe, danke. – MitchellK