Dig Show только ответ

49

Я хочу копать только, чтобы показать ответ на мой запрос.

Обычно он выводит много дополнительной информации, например:

;; <<>> DiG 9.7.3 <<>> google.de
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55839
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.de.                     IN      A

;; ANSWER SECTION:
google.de.              208     IN      A       173.194.69.94

;; Query time: 0 msec
;; SERVER: 213.133.99.99#53(213.133.99.99)
;; WHEN: Sun Sep 23 10:02:34 2012
;; MSG SIZE  rcvd: 43

Я хочу, чтобы это было сведено к разделу с ответами.

у dig есть много вариантов, хороший, который я нашел, был +noall +answer

; <<>> DiG 9.7.3 <<>> google.de +noall +answer
;; global options: +cmd
google.de.              145     IN      A       173.194.69.94

Он пропускает большую часть материала, но все же показывает эту опцию.

Любые идеи о том, как удалить его с помощью параметров копать? Я уверен, что можно вырезать его, используя другие инструменты, но вариант с самой копать будет самым чистым и хорошим.

Zulakis
источник
1
Что-нибудь в ${HOME}/.digrc?
ablackhat
Нет, хорошая идея, хотя
Zulakis

Ответы:

50

Я не уверен, почему вы получаете комментарии в выводе. Это правильный набор параметров для поведения, которое вы хотите. Вот те же опции с той же версией копания:

$ dig -version
DiG 9.7.3
$ dig +noall +answer google.de
google.de.      55  IN  A   173.194.44.216
google.de.      55  IN  A   173.194.44.223
google.de.      55  IN  A   173.194.44.215
$
Cakemox
источник
8
Это кажется довольно интересным. Использование dig +noall +answer google.deработает, dig google.de +noall +answerне работает, даже если оно поддерживается в соответствии с руководством.
Зулакис
4
Порядок флагов, очевидно, имеет значение.
generalnetworkerror
18

Используйте опцию "+ short"

[root@myhost ~]# dig +short google.com
216.58.194.142

[root@myhost ~]# dig +short -x 216.58.194.142
dfw06s49-in-f14.1e100.net.
dfw06s49-in-f142.1e100.net.

[root@myhost ~]# dig +short google.com soa
ns1.google.com. dns-admin.google.com. 181803313 900 900 1800 60
Альфонс Мюзетт
источник
Извините, мне пришлось отредактировать форматирование. Надеюсь, теперь это ясно.
Альфонс Мюзетт
1
Я до сих пор не понимаю, ПОЧЕМУ и КАК это ответ на вопрос?
Pierre.Vriens
5
Я полагаю, что сделал предположение о намерениях первоначального спрашивающего. Для меня полная строка ответа менее полезна. И я могу сделать "копать google.com | grep ^ google", если я не помню параметры копать. Но опция + short возвращает IP-адрес или имя хоста без дополнительного текста, который я могу (например) использовать в скрипте для создания правила брандмауэра. Это обычно та часть результатов раскопок, которая важна для меня. С опциями «+ noall + noanswer» я все еще должен применить некоторую обработку строк, если я хочу использовать результат в скрипте.
Альфонс Мюзетт
6

Используйте dig +param domain, нет dig domain +param.

% dig +noall +answer -t aaaa d.ns.zerigo.net
d.ns.zerigo.net.        37788   IN      AAAA    2607:fc88:1001:1::4
% dig -t aaaa d.ns.zerigo.net +noall +answer

; <<>> DiG 9.9.2-P2 <<>> -t aaaa d.ns.zerigo.net +noall +answer
;; global options: +cmd
d.ns.zerigo.net.        37797   IN      AAAA    2607:fc88:1001:1::4

+noall +answerПереключатель работает по-разному в зависимости от его положения в командной строке. Это, безусловно, ошибка, digтак как +shortработает хорошо с обеих сторон.

% dig +short -t aaaa d.ns.zerigo.net
2607:fc88:1001:1::4

% dig -t aaaa d.ns.zerigo.net +short
2607:fc88:1001:1::4
Nowaker
источник
Вы подали это как ошибку или почему вы добавили этот парафраз принятого ответа на этот вопрос, который был решен 2 года назад?
Зулакис
Принятый ответ говорит: «Я не уверен, почему вы получаете комментарии в выводе», тогда как я знаю, почему, и этот ответ является наиболее точным.
Новакер
1
скорее всего, потому что вы можете запросить более одного имени одновременно. Сравните "копать -t соа + noall + ответить yahoo.com google.com + вопрос" с "копать -t соа + noall + ответить yahoo.com + вопрос google.com"
simpleuser
1

Согласно справочной странице, вы можете попробовать:

dig google.de +noall +answer +nocomments

Если это не сработает, мне придется спросить, какой дистрибутив вы используете?

Редактировать: это самая странная вещь. Вы должны поставить параметры перед запросом.

[jglenn@lin02 ~]$ dig +noall +answer google.de
google.de.              35      IN      A       74.125.227.119
google.de.              35      IN      A       74.125.227.120
google.de.              35      IN      A       74.125.227.127
[jglenn@lin02 ~]$ dig +answer google.de +noall

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.3 <<>> +answer google.de +noall
;; global options: +cmd
[jglenn@lin02 ~]$ dig google.de +noall +answer

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.3 <<>> google.de +noall +answer
;; global options: +cmd
google.de.              203     IN      A       74.125.227.119
google.de.              203     IN      A       74.125.227.120
google.de.              203     IN      A       74.125.227.127
ablackhat
источник
4
Смотрите ниже, копать как-то портит, когда оно есть dig google.de +noall +answer, должно быть, dig +noall +answer google.deчтобы оно работало. nocommentsуже включен вnoall
Zulakis