【问题标题】:dig +short doesn't work when querying root DNS server?查询根 DNS 服务器时,dig +short 不起作用?
【发布时间】:2010-12-22 08:37:10
【问题描述】:

我发现,如果我直接查询英国根 DNS 服务器(例如 195.66.240.130),它会在 2-5 毫秒内提供结果,而查询常规 DNS 服务器需要 15-40 毫秒。

但是,由于某种原因,+short 选项在查询 195.66.240.130 时不起作用

作品: 挖@8.8.8.8 example.co.uk NS +short

不起作用: 挖@195.66.240.130 example.co.uk NS +short

有人知道为什么吗?

如果我删除 +short,则会显示所有相关信息,但我正在尝试清晰地获取输出。

【问题讨论】:

    标签: dns root nslookup dig zone


    【解决方案1】:

    +short 选项是从可能为空的响应中打印 ANSWER 部分(在推荐答案的情况下),如下例所示:

    [vitalie@silver ~]$ dig @195.66.240.130 bbc.co.uk NS
    
    ; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3 <<>> @195.66.240.130 bbc.co.uk NS
    ; (1 server found)
    ;; global options:  printcmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63811
    ;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 4
    
    ;; QUESTION SECTION:
    ;bbc.co.uk.                     IN      NS
    
    ;; AUTHORITY SECTION:
    bbc.co.uk.              172800  IN      NS      ns1.thdo.bbc.co.uk.
    bbc.co.uk.              172800  IN      NS      ns1.rbsov.bbc.co.uk.
    bbc.co.uk.              172800  IN      NS      ns1.thls.bbc.co.uk.
    bbc.co.uk.              172800  IN      NS      ns1.bbc.co.uk.
    
    ;; ADDITIONAL SECTION:
    ns1.bbc.co.uk.          172800  IN      A       132.185.132.21
    ns1.thdo.bbc.co.uk.     172800  IN      A       212.58.224.21
    ns1.thls.bbc.co.uk.     172800  IN      A       132.185.240.21
    ns1.rbsov.bbc.co.uk.    172800  IN      A       212.58.227.48
    
    ;; Query time: 57 msec
    ;; SERVER: 195.66.240.130#53(195.66.240.130)
    ;; WHEN: Wed Dec 22 15:12:29 2010
    ;; MSG SIZE  rcvd: 179
    

    【讨论】:

    • vitalie,谢谢。所以我想信息应该是存在的,但它的格式根本不适合 dig 将其导出为 +short。您知道像这样查询根 DNS 服务器是否有任何不利之处? (前提是域名当然都是 .uk)。我在想我可以做一些 grep 魔术或其他东西来导出 NS。
    • 挖掘@195.66.240.130 bbc.co.uk | grep -v '^;' | grep NS - 这很好用,我只需要改进它以仅拉取 NS 服务器而不是之前的 gumpth
    • 最后。因此,对于那些想要查询根 DNS 服务器并缺少 +short 功能的人来说。你可以使用这个:挖掘@195.66.240.130 bbc.co.uk | grep -v '^;' | grep NS | awk '{print $5}'
    • @Stevie 我认为您的最终版本需要一些改进,因为我没有得到任何结果。我添加了ns,然后它就可以工作了,所以我猜最终版本是dig @1.1.1.1 ns bbc.co.uk | grep -v '^;' | grep NS | awk '{print $5}'
    猜你喜欢
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    相关资源
    最近更新 更多