我可以使用 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 记录显示“need.to.know.only.”,这就是我的确认。
我如何在 Windows 中执行此操作(或者实际上,一个可以在任何操作系统上运行的命令)?
编辑:
- 我意识到我可以使用 nslookup 的交互模式并设置调试选项,但对于非技术人员来说,这些信息太多了。
- 我也愿意使用网页进行查找,但该网页使用我的 DNS 服务器至关重要,因为这是发生阻塞的地方。
根据您的编辑,听起来您可以使用“调试”选项查看您要查找的内容,但您不想使用交互模式。你仍然可以通过一个命令来获得它:
看起来没有一个命令可以在每个操作系统上运行,但我可以像这样分解它:
但既然我那时已经知道我在 *nix 盒子上,我只能说:
同样,这个想法是进行一次检查,非技术用户可以运行并看到问题的清晰答案。