Я могу использовать 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 -debug example.com
Похоже, что нет единой команды, которая будет запускаться в КАЖДОЙ операционной системе, но я могу разбить ее так:
в 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
Опять же, идея состоит в том, чтобы сделать единственную проверку, которую мог бы запустить нетехнический пользователь, и увидеть четкий ответ на вопрос.