运行时,dig
您可以指定“服务器”(您进行查询的 DNS 服务器)、“域”和“主机”。由于“主机”不是可选的,我猜这就是您想要解决的问题。但您也可以指定一个“域”。我认为如果我们以unix.stackexchange.com
为例,“主机”可能是unix
,“域”可能是stackexchange.com
,但dig stackexchange.com unix
似乎没有检索 的 dns 记录unix.stackexchange.com
。
我所指的“主机”和“域”是下面帮助行中列出的内容。
(澄清一下,我知道这是dig unix.stackexchange.com
可行的,我在挖掘帮助热线中询问“主机”和“域”的含义)
$ dig -v
DiG 9.16.44-Debian
$ dig -h
Usage: dig [@global-server] [domain] [q-type] [q-class] {q-opt}
{global-d-opt} host [@local-server] {local-d-opt}
[ host [@local-server] {local-d-opt} [...]]
Where: domain is in the Domain Name System
q-class is one of (in,hs,ch,...) [default: in]
q-type is one of (a,any,mx,ns,soa,hinfo,axfr,txt,...) [default:a]
(Use ixfr=version for type ixfr)
q-opt is one of:
-4 (use IPv4 query transport only)
-6 (use IPv6 query transport only)
-b address[#port] (bind to source address/port)
-c class (specify query class)
-f filename (batch mode)
-k keyfile (specify tsig key file)
-m (enable memory usage debugging)
-p port (specify port number)
-q name (specify query name)
-r (do not read ~/.digrc)
-t type (specify query type)
-u (display times in usec instead of msec)
-x dot-notation (shortcut for reverse lookups)
-y [hmac:]name:key (specify named base64 tsig key)
d-opt is of the form +keyword[=value], where keyword is:
+[no]aaflag (Set AA flag in query (+[no]aaflag))
+[no]aaonly (Set AA flag in query (+[no]aaflag))
...
global d-opts and servers (before host name) affect all queries.
local d-opts and servers (after host name) affect only that lookup.
-h (print help and exit)
-v (print version and exit)
我认为这只是23 年前重构引入的描述中的一个错误。帮助文本来自语法正确的内容:
对此(请注意它仍然说“在域名系统中”,但现在主语是单数“域”):
如果您检查这些更改,您会发现它们几乎完全是为了更改选项的分配方式(全局与每次查找),以及选择主机/域/名称/无论您调用它的代码被查找本身是不变的。它没有在解析本身中添加任何新的域与主机区别。我想提交的作者混淆了这些术语,因为他们似乎也在
host
大约同一时间进行工作(并host
使用了“主机名”)。此更改早于几个月后
dig(1)
发布的联机帮助页本身。联机帮助页避免使用“域”、“主机”和“主机名”标签,而是使用第四个标签“名称”,使用仍然可见的更简单的格式。[@server] ... [name] [type] [class] [queryopt...]
Dig 的可选
host
参数是要将查询发送到的本地计算机的名称。它不是完全限定域名的“主机”部分。(即,不是unix
来自unix.stackexchange.com
)。参数domain
是您要查找的名称。(IE,unix.stackexchange.com
)因此,如果您的本地 DNS 解析器计算机名为“mydns”,则
dig
对该名称的地址的查询unix.stackexchange.com
将是:虽然它通常更像是:
或者,如果您想
dig
询问计算机的默认解析程序(可能是同一台计算机上的进程),它可以简单如下:对我来说返回: