我正在 PHP 中进行 DNS 记录查找,但遇到了一些令人困惑的事情。我查找了两个不同的域,每个域使用不同的主机和不同的权威名称服务器。我确信这两个域都有 CNAME。
我使用这个在线工具查找了 DNS 记录:http://network-tools.com/我还使用 PHP 的 dns_get_record 查找了它们。 A、NS、SOA、MX等都回来了。但没有 CNAME。我得到假/空数组。
在这两种情况下,我都可以登录这些域的 DNS 控制并查看 CNAME。
到底为什么会发生这种事?目标是允许在将客户的域更改为我公司的名称服务器之前查找并保存当时的所有 DNS 记录(这样我们就不会意外地使用外部托管的电子邮件设置)。像 pop.domain.com 这样的 CNAME 在这里相当重要,但我找不到的任何查找都不会承认它们存在。
真正的问题当然是 PHP 函数没有返回它们,因为这正是我需要它的地方。
但令我困惑的是我在其他地方找不到它们。特别是因为我在可以添加和删除 DNS 记录的地方直接查看它们。就在这里说:
pop.domain.com CNAME pop.secureserver.net 0 900
(PHP 版本 5.2.6
Linux 2.6.9-67.0.15.plus.c4smp)
我想我已经明白为什么了。我相信这与此线程的“区域传输”有关是否可以找到给定域名的所有 DNS 子域?.
我期望 CNAME 查找具有与 A、NS、MX 相同的功能 -其他一切。 (这几乎是一个不切实际的期望......)
dns_get_record("domain.com", DNS_CNAME, $authns_cname, $addtl_cname);
我希望得到一个数组,其中填充了为domain.com 设置的所有 CNAME。事实并非如此。
- I can取回单个 CNAME
条目“www.domain.com”(如果是)
我传入的域名,并且有一个 CNAME。
- I can得到
返回单个 CNAME 条目
“*.domain.com”(如果这是域名)
我传入并有一个 CNAME。
- I cannot回来
字面上的所有 CNAME 记录,以便保存所有 CNAMES/子域名/三级域名的记录
对于domain.com,通配符搜索或
不是。
我想我只需正确表述问题即可(第 15 次排列找到了有希望的答案)。我假设两个名称服务器(Dreamhost 和我公司的)都受到“保护”。尽管在我看来,与其他 DNS 记录相比,这并不是非常敏感的信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)