使用 Windows 获取 DNS“附加部分”(nslookup 选项?)

使用 Windows 获取 DNS“附加部分”(nslookup 选项?)

我可以使用 dig 来获取 DNS 信息的完整主文件输出,对于我的问题,我对“附加”部分中的信息感兴趣:

$ dig example.com

; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7_5.1 <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 36588
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com. IN A

;; ADDITIONAL SECTION:
example.server.com. 60     IN      SOA     need.to.know.only. hostmaster.spamhaus.org. 1542300481 60 60 432000 60

;; Query time: 1 msec
;; SERVER: xxx.xxx.xxx.xxx#53(xxx.xxx.xxx.xxx)
;; WHEN: Thu Nov 15 11:53:41 EST 2018
;; MSG SIZE  rcvd: 161

这是一种简单的方法,我可以知道我的 RPZ 是否通过 Spamhaus 阻止了该域。我想为任何操作系统上的任何人提供一种获取此信息的简单方法。不幸的是,似乎无处不在的唯一工具是 nslookup,我似乎无法给它一个选项,让它在单个命令行运行中返回该信息。在 *nix 中,我会这样做:

dig +noall +additional example.com

如果 SOA 记录显示“只需要知道”,那就是我的确认。

我怎样才能在 Windows 中做到这一点(或者实际上,一个可以在任何操作系统上运行的命令)?

编辑:

  • 我意识到我可以使用 nslookup 的交互模式并设置调试选项,但对于非技术人员来说,这信息太多了。
  • 我也愿意使用网页进行查找,但至关重要的是该网页必须使用我的 DNS 服务器,因为那是发生阻止的地方。

答案1

根据您的编辑,听起来您可以使用“调试”选项查看您要查找的内容,但您不想使用交互模式。您仍然可以使用单个命令获得它:

nslookup -debug example.com

答案2

看起来没有可以在每个操作系统上运行的单个命令,但我可以将其分解如下:

在 Windows 上,从命令提示符:nslookup -debug example.com | FINDSTR need.to.know.only

在 Unix、Mac 等上,从命令行:nslookup -debug example.com | grep need.to.know.only

但是因为我已经知道我在 *nix 机器上,所以我可以说:

在 Unix、Mac 等上,从命令行:dig example.com | grep need.to.know.only

再次强调,我们的想法是让非技术用户进行一次检查,就能看到问题的明确答案。

相关内容