dig show only answer

49

Ich möchte nur graben, um die Antwort auf meine Frage zu zeigen.

Normalerweise gibt es eine Menge zusätzlicher Informationen wie diese aus:

;; <<>> 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

Ich möchte, dass dies auf den Antwortbereich reduziert wird.

dig hat viele Möglichkeiten, eine gute, die ich gefunden habe, war +noall +answer

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

Es lässt die meisten Sachen weg, zeigt aber immer noch diese Option.

Irgendwelche Ideen, wie man es mit dig-Optionen entfernt? Ich könnte es sicher mit anderen Werkzeugen ausschneiden, aber eine Option mit dig selbst wäre die sauberste und schönste.

Zulakis
quelle
1
Irgendwas drin ${HOME}/.digrc?
ablackhat
Nein, aber eine gute Idee
Zulakis

Antworten:

50

Ich bin nicht sicher, warum Sie Kommentare in der Ausgabe erhalten. Das ist der richtige Satz von Optionen für das gewünschte Verhalten. Hier sind die gleichen Optionen mit der gleichen Version von dig:

$ 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
quelle
8
Das scheint ziemlich interessant zu sein. Mit dig +noall +answer google.deWerken, dig google.de +noall +answernicht der Fall, auch wenn es nach dem Handbuch unterstützt wird.
Zulakis
4
Die Reihenfolge der Flaggen ist anscheinend wichtig.
Generalnetworkerror
18

Verwenden Sie die Option "+ 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
Alphonse Musette
quelle
Entschuldigung, ich musste meine Formatierung ändern. Hoffentlich ist es jetzt klar.
Alphonse Musette,
1
Ich verstehe es immer noch nicht. WARUM und WIE ist das eine Antwort auf die Frage?
Pierre.Vriens
5
Ich nehme an, ich habe eine Vermutung über die Absicht des ursprünglichen Fragestellers angestellt. Für mich ist die vollständige Antwortzeile weniger nützlich. Und ich kann "dig google.com | grep ^ google" machen, wenn ich mich nicht an die Optionen von dig erinnere. Die Option + short gibt jedoch eine IP-Adresse oder einen Hostnamen ohne zusätzlichen Text zurück, den ich (zum Beispiel) in einem Skript zum Erstellen einer Firewall-Regel verwenden kann. Das ist normalerweise der Teil der Ausgabe von dig, der für mich von Bedeutung ist. Mit den Optionen "+ noall + noanswer" muss ich noch einige Zeichenfolgen verarbeiten, wenn ich das Ergebnis in einem Skript verwenden möchte.
Alphonse Musette
6

Verwenden Sie dig +param domainnicht 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 +answerDer Schalter funktioniert je nach Position in der Befehlszeile unterschiedlich. Dies ist sicherlich ein Fehler, digda +shortauf beiden Seiten alles in Ordnung ist.

% 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
quelle
Haben Sie es als Fehler gemeldet oder warum haben Sie diese Umschreibung der akzeptierten Antwort auf diese vor 2 Jahren gelöste Frage hinzugefügt?
Zulakis
Die akzeptierte Antwort lautet "Ich bin nicht sicher, warum Sie Kommentare in der Ausgabe erhalten.", Wohingegen ich weiß, warum und diese Antwort die genaueste ist.
Nowaker
1
wahrscheinlich, weil Sie mehr als einen Namen gleichzeitig abfragen können. vergleiche 'dig -t soa + noall + antwort yahoo.com google.com + frage' mit 'dig -t soa + noall + antwort yahoo.com + frage google.com'
simpleuser
1

Laut der Manpage möchten Sie vielleicht Folgendes versuchen:

dig google.de +noall +answer +nocomments

Wenn das nicht funktioniert, müsste ich fragen, welche Distribution Sie verwenden?

Edit: Das ist die seltsamste Sache. Sie müssen die Optionen vor die Abfrage stellen.

[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
verdammt
quelle
4
Siehe unten, grabe es irgendwie durcheinander, wenn es ist dig google.de +noall +answer, es muss sein dig +noall +answer google.de, dass es funktioniert. nocommentsist bereits enthalten innoall
Zulakis