dig pokaż tylko odpowiedź

49

Chcę tylko, aby kopać, aby pokazać odpowiedź na moje zapytanie.

Zwykle drukuje wiele dodatkowych informacji, takich jak to:

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

Chcę to sprowadzić do samej sekcji odpowiedzi.

dig ma wiele opcji, dobrą jaką znalazłem +noall +answer

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

Pomija większość rzeczy, ale wciąż pokazuje tę opcję.

Wszelkie pomysły na to, jak usunąć go za pomocą opcji kopania? Z pewnością mógłbym to wyciąć za pomocą innych narzędzi, ale opcja z kopaniem byłaby najczystsza i najładniejsza.

Zulakis
źródło
1
Wszystko w ${HOME}/.digrc?
ablackhat
Nie, dobry pomysł
Zulakis,

Odpowiedzi:

49

Nie jestem pewien, dlaczego otrzymujesz komentarze w wynikach. To jest właściwy zestaw opcji dla pożądanego zachowania. Oto te same opcje z tą samą wersją 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
źródło
8
To wydaje się dość interesujące. Używanie dig +noall +answer google.dedziała, dig google.de +noall +answernie działa, mimo że jest obsługiwane zgodnie z instrukcją.
Zulakis,
4
Kolejność flag najwyraźniej ma znaczenie.
generalnetworkerror
18

Użyj opcji „+ krótkie”

[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
źródło
Przepraszam, musiałem edytować moje formatowanie. Mam nadzieję, że teraz jest jasne.
Alphonse Musette
1
wciąż nie rozumiem, DLACZEGO i JAK to jest odpowiedź na pytanie?
Pierre.Vriens
5
Przypuszczam, że założyłem intencję pierwotnego pytającego. Dla mnie pełna linia odpowiedzi jest mniej przydatna. I mogę zrobić „dig google.com | grep ^ google”, jeśli nie pamiętam opcji dig. Ale opcja + short zwraca adres IP lub nazwę hosta bez dodatkowego tekstu, którego mogę (na przykład) użyć w skrypcie do utworzenia reguły zapory. Zwykle jest to część wyników kopania, która jest dla mnie ważna. Z opcjami „+ noall + noanswer” nadal muszę zastosować przetwarzanie ciągów znaków, jeśli chcę użyć wyniku w skrypcie.
Alphonse Musette,
6

Użyj dig +param domain, nie 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 +answerprzełącznik działa inaczej w zależności od jego pozycji w wierszu poleceń. To z pewnością błąd, digponieważ +shortdziała OK po obu stronach.

% 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
źródło
Czy zgłosiłeś go jako błąd lub dlaczego dodałeś parafrazę zaakceptowanej odpowiedzi na to pytanie, które zostało rozwiązane 2 lata temu?
Zulakis,
Przyjęta odpowiedź brzmi: „Nie jestem pewien, dlaczego otrzymujesz komentarze w danych wyjściowych.”, Podczas gdy wiem, dlaczego, i ta odpowiedź jest najbardziej dokładna.
Nowaker
1
prawdopodobnie dlatego, że możesz zapytać o więcej niż jedną nazwę na raz. porównaj 'dig -t soa + noall + odpowiedz yahoo.com google.com + pytanie' do 'dig -t soa + noall + odpowiedz yahoo.com + pytanie google.com'
simpleuser
1

Według strony podręcznika możesz spróbować:

dig google.de +noall +answer +nocomments

Jeśli to nie zadziała, musiałbym zapytać, jakiej dystrybucji używasz?

Edycja: To najdziwniejsza rzecz. Musisz podać opcje przed zapytaniem.

[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
źródło
4
Zobacz poniżej, wykop jakoś to popsuć, kiedy jest dig google.de +noall +answer, musi być dig +noall +answer google.desprawne. nocommentsjest już uwzględniony wnoall
Zulakis,