我想知道是否可以通过一个命令挖掘来获取IPv4和IPv6地址,以及如何?
例如: 挖主机名A. - 上面的命令将给出IPv4
挖掘主机名AAAA - 此命令将为我提供IPv6地址
如何只使用一个命令获取地址,Ipv4和IPv6?
我遇到了这个问题,如何通过专制查询获得IPv4和IPv6,但只需要一个命令?
任何人都可以帮助我???
答案 0 :(得分:48)
自提出问题以来,可能已将此添加到挖掘中,但为了完整性,可以通过以下查询来完成:
dig hostname A hostname AAAA +short
来源:http://linux.die.net/man/1/dig - 在“多个查询”部分下
答案 1 :(得分:31)
如果您要查询域的权威服务器,则可以获取具有ANY
查询的名称的所有记录:
dig hostname ANY @servername
但是,如果您要查询缓存服务器,这将无法可靠地运行。当缓存服务器响应ANY
查询时,它会返回当时缓存中发生的任何记录。如果名称同时包含A
和AAAA
个记录,但服务器最近只查找了A
个记录,则AAAA
记录将不在缓存中,因此它不会归还它们。
此外,还有一项建议允许DNS服务器拒绝回答ANY
次问题:Providing Minimal-Sized Responses to DNS Queries that have QTYPE=ANY。如果您查询实现此目的的服务器,您可能无法通过单个查询获得这两个响应(尽管该草案中的一个建议是ANY
查询可能只返回所有MX
, A
和AAAA
,因为这通常是客户想要的)。因此,为了获得最佳可靠性,您应该进行两次查询。