Πώς να χρησιμοποιήσετε την εντολή dig στο Linux

Ας αναλύσουμε αυτό το κομμάτι κομμάτι.

; > DiG 9.11.3-1ubuntu1.11-Ubuntu > wdzwdz.com ;; καθολικές επιλογές: +cmd ;; Πήρα απάντηση: ;; ->>ΚΕΦΑΛΙ

Τώρα, ορίστε τι σημαίνουν όλα αυτά:

Πρώτη γραμμή: Η έκδοση του dig και ο τομέας που υποβλήθηκε το ερώτημα.
Καθολικές επιλογές: Όπως θα δούμε, μπορείτε να χρησιμοποιήσετε το dig για να υποβάλετε ερωτήματα σε πολλούς τομείς ταυτόχρονα. Αυτή η γραμμή εμφανίζει τις επιλογές που έχουν εφαρμοστεί σε όλα τα ερωτήματα τομέα. Στο απλό μας παράδειγμα, ήταν απλώς η προεπιλεγμένη επιλογή +cmd (εντολή).
Opcode: Ερώτημα: Αυτός είναι ο τύπος λειτουργίας που ζητήθηκε και, σε αυτήν την περίπτωση, ήταν ένα ερώτημα. Αυτή η τιμή μπορεί επίσης να είναι ερώτημα για ένα αντίστροφο ερώτημα ή κατάσταση εάν απλώς δοκιμάζετε την κατάσταση του συστήματος DNS.
Κατάσταση: Χωρίς σφάλμα: Δεν υπήρχαν σφάλματα και το αίτημα επιλύθηκε σωστά.
ID: 12017: Αυτό το τυχαίο αναγνωριστικό συνδέει το αίτημα και την απάντηση μαζί.
Σημαίες: qr rd ra: Αυτά αντιπροσωπεύουν ερώτημα, επιθυμητή αναδρομή και διαθέσιμη αναδρομή. Η αναδρομή είναι μια μορφή αναζήτησης DNS (η άλλη είναι επαναληπτική). Μπορεί επίσης να δείτε το AA, το οποίο σημαίνει “Authoritative Answer”, που σημαίνει ότι ένας Εξουσιοδοτημένος διακομιστής ονομάτων παρείχε την απάντηση.
Ερώτημα: 1: Ο αριθμός των ερωτημάτων σε αυτήν την περίοδο λειτουργίας, που ήταν ένα.
Απάντηση: 4: Ο αριθμός των απαντήσεων σε αυτήν την απάντηση, που είναι τέσσερις.
Εξουσιοδότηση: 0: Ο αριθμός των απαντήσεων που προήλθαν από έναν έγκυρο διακομιστή ονομάτων, ο οποίος ήταν μηδέν σε αυτήν την περίπτωση. Η απόκριση επιστράφηκε από τη μνήμη cache ενός διακομιστή προδρόμου DNS. Δεν θα υπάρχει έγκυρη ενότητα στην απάντηση.
Επιπλέον: 1: Υπάρχει μία πρόσθετη πληροφορία. (Περίεργα, τίποτα δεν αναφέρεται εκτός εάν αυτή η τιμή είναι δύο ή μεγαλύτερη.)

Επιλογή ψευδοτομής

Στη συνέχεια, βλέπουμε τα εξής στην ενότητα Opt Pseudosection:

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494

Ας το αναλύσουμε:

EDNS: έκδοση 0: Η έκδοση του Σύστημα επέκτασης για DNS που χρησιμοποιείται. Το EDNS μεταδίδει εκτεταμένα δεδομένα και σημαίες επεκτείνοντας το μέγεθος του Πρωτόκολλο User Datagram (UDP) πακέτα. Αυτό υποδεικνύεται από μια σημαία μεταβλητού μεγέθους.
σημαίες: Δεν χρησιμοποιούνται σημαίες.
udp: 4096: Το μέγεθος πακέτου UDP.

Ενότητα ερωτήσεων

Στην ενότητα Ερώτηση, βλέπουμε τα εξής:

;; QUESTION SECTION:
;wdzwdz.com. IN A

Να τι σημαίνει αυτό:

wdzwdz.com: Το όνομα τομέα που ζητάμε.
IN: Κάνουμε ένα ερώτημα για το μάθημα του Διαδικτύου.
Α: Εκτός και αν ορίσουμε διαφορετικά, το dig θα ζητήσει μια εγγραφή A (διεύθυνσης) από τον διακομιστή DNS.

Ενότητα απαντήσεων

Η ενότητα Απάντηση περιέχει τις ακόλουθες τέσσερις απαντήσεις που λάβαμε από τον διακομιστή DNS:

wdzwdz.com. 3551 IN A 151.101.194.217
wdzwdz.com. 3551 IN A 151.101.130.217
wdzwdz.com. 3551 IN A 151.101.66.217
wdzwdz.com. 3551 IN A 151.101.2.217

Να τι σημαίνουν αυτές οι απαντήσεις:

  Πώς να εγγράψετε την επιφάνεια εργασίας Linux στο Wayland

3551: Αυτό είναι το Time to Live (TTL), ένας ακέραιος αριθμός 32-bit που διατηρεί το χρονικό διάστημα για το οποίο μπορεί να αποθηκευτεί μια εγγραφή στην κρυφή μνήμη. Όταν λήξει, τα δεδομένα πρέπει να χρησιμοποιηθούν ως απάντηση σε ένα αίτημα μέχρι να ανανεωθούν από τον διακομιστή DNS.
IN: Κάναμε μια ερώτηση για την τάξη Διαδικτύου.
Α: Ζητήσαμε μια εγγραφή A από τον διακομιστή DNS.

Τμήμα Στατιστικής

Τα στατιστικά είναι η τελευταία ενότητα και περιέχει τις ακόλουθες πληροφορίες:

;; Query time: 0 msec 
;; SERVER: 127.0.0.53#53(127.0.0.53) 
;; WHEN: Sun Mar 22 07:44:37 EDT 2020 
;; MSG SIZE rcvd: 106

Εδώ είναι τι έχουμε:

Χρόνος ερωτήματος: 0 msec: Ο χρόνος που χρειάστηκε για να ληφθεί η απάντηση.
SERVER: 127.0.0.53#53(127.0.0.53): Η διεύθυνση IP και ο αριθμός θύρας του διακομιστή DNS που απάντησε. Σε αυτήν την περίπτωση, δείχνει προς την τοπική λύση στελέχους προσωρινής αποθήκευσης. Αυτό προωθεί αιτήματα DNS σε όποιους διακομιστές DNS έχουν διαμορφωθεί. Στον δοκιμαστικό υπολογιστή Manajro, η διεύθυνση που αναφέρεται εδώ ήταν 8.8.8.8#53, η οποία είναι Η δημόσια υπηρεσία DNS της Google.
ΠΟΤΕ: Κυρ 22 Μαρτίου 07:44:37 EDT 2020: Πότε υποβλήθηκε το αίτημα.
MSG SIZE rcvd: 106: Το μέγεθος του μηνύματος που λαμβάνεται από τον διακομιστή DNS.

Όντας Επιλεκτικός

Δεν χρειάζεται να συμβιβαστείτε με τα δύο άκρα του στενοχωρημένου και του ξεκαρδιστικού. Η εντολή dig σας επιτρέπει να συμπεριλάβετε ή να εξαιρέσετε επιλεκτικά τμήματα από τα αποτελέσματα.

Οι ακόλουθες επιλογές ερωτήματος θα αφαιρέσουν αυτήν την ενότητα από τα αποτελέσματα:

+nocomments: Να μην εμφανίζονται γραμμές σχολίων.
+noauthority: Να μην εμφανίζεται η ενότητα εξουσιοδότησης.
+noadditional: Να μην εμφανίζεται η πρόσθετη ενότητα.
+nostats: Να μην εμφανίζεται η ενότητα στατιστικών στοιχείων.
+noanswer: Να μην εμφανίζεται η ενότητα απαντήσεων.
+noall: Μην δείχνεις τίποτα!

Η επιλογή ερωτήματος +noall συνήθως συνδυάζεται με ένα από τα παραπάνω για να συμπεριλάβει μια ενότητα στα αποτελέσματα. Έτσι, αντί να πληκτρολογείτε μια μεγάλη σειρά από επιλογές ερωτήματος για να απενεργοποιήσετε πολλές ενότητες, μπορείτε να χρησιμοποιήσετε το +noall για να τις απενεργοποιήσετε όλες.

Στη συνέχεια, μπορείτε να χρησιμοποιήσετε τις ακόλουθες συμπεριλαμβανόμενες επιλογές ερωτήματος για να ενεργοποιήσετε ξανά αυτές που θέλετε να δείτε:

+σχόλια: Εμφάνιση γραμμών σχολίων.
+authority: Εμφάνιση της ενότητας αρχής.
+additional: Εμφάνιση της πρόσθετης ενότητας.
+stats: Εμφάνιση της ενότητας στατιστικών.
+απάντηση: Εμφάνιση της ενότητας απαντήσεων.
+όλα: Δείξτε τα πάντα.

Πληκτρολογούμε τα εξής για να υποβάλουμε αίτημα και να εξαιρέσουμε τις γραμμές σχολίων:

dig wdzwdz.com +nocomments

ο

Εάν χρησιμοποιήσουμε την επιλογή ερωτήματος +noall από μόνη της, όπως φαίνεται παρακάτω, δεν θα λάβουμε χρήσιμο αποτέλεσμα:

dig wdzwdz.com +noall

ο

Μπορούμε να προσθέσουμε επιλεκτικά τις ενότητες που θέλουμε να δούμε. Για να προσθέσουμε την ενότητα απαντήσεων, πληκτρολογούμε τα εξής:

dig wdzwdz.com +noall +answer

ο

Αν πληκτρολογήσουμε τα ακόλουθα για να ενεργοποιήσουμε το +stats, θα δούμε επίσης την ενότητα στατιστικών στοιχείων:

dig wdzwdz.com +noall +answer +stats

ο

Ο συνδυασμός +noall +απάντηση χρησιμοποιείται συχνά. Μπορείτε να προσθέσετε άλλες ενότητες στη γραμμή εντολών όπως απαιτείται. Εάν θέλετε να αποφύγετε την πληκτρολόγηση +noall +answer στη γραμμή εντολών κάθε φορά που χρησιμοποιείτε το dig, μπορείτε να τα τοποθετήσετε σε ένα αρχείο διαμόρφωσης που ονομάζεται “.digrc”. Βρίσκεται στον αρχικό σας κατάλογο.

  Πώς να εγκαταστήσετε το JetBrains GoLand σε Linux

Πληκτρολογούμε τα εξής για να δημιουργήσουμε ένα με ηχώ:

echo "+noall +answer" > $HOME/.digrc

Στη συνέχεια, μπορούμε να πληκτρολογήσουμε τα εξής για να ελέγξουμε το περιεχόμενό του:

cat .digrc

ο Οι εντολές $HOME/.digrc” και “cat .digrc” σε ένα παράθυρο τερματικού.” width=”646″ height=”122″ >

Αυτές οι δύο επιλογές θα εφαρμοστούν τώρα σε όλες τις μελλοντικές χρήσεις του dig, όπως φαίνεται παρακάτω:

dig ubuntu.org
dig linux.org
dig github.com

Αυτό το αρχείο διαμόρφωσης dig θα χρησιμοποιηθεί για τα υπόλοιπα παραδείγματα σε αυτό το άρθρο.

Εγγραφές DNS

Οι πληροφορίες που επιστρέφονται στα αιτήματά σας ανασκαφής αντλούνται από διαφορετικούς τύπους εγγραφών που διατηρούνται στον διακομιστή DNS. Αν δεν ζητήσουμε κάτι διαφορετικό, αναζητήστε ερωτήματα στην εγγραφή A (διεύθυνση). Οι παρακάτω είναι οι τύποι εγγραφών που χρησιμοποιούνται συνήθως με το dig:

Μια εγγραφή: Συνδέει τον τομέα με μια διεύθυνση IP έκδοσης 4.
Εγγραφή MX: Η ανταλλαγή αλληλογραφίας καταγράφει απευθείας μηνύματα ηλεκτρονικού ταχυδρομείου που αποστέλλονται σε τομείς στον σωστό διακομιστή αλληλογραφίας.
Εγγραφή NS: Οι εγγραφές διακομιστή ονομάτων εκχωρούν έναν τομέα (ή υποτομέα) σε ένα σύνολο διακομιστών DNS.
Εγγραφή TXT: Οι εγγραφές κειμένου αποθηκεύουν πληροφορίες που βασίζονται σε κείμενο σχετικά με τον τομέα. Συνήθως, μπορεί να χρησιμοποιηθούν για την καταστολή πλαστών ή πλαστών email.
Εγγραφή SOA: Οι εγγραφές αρχής αρχής μπορούν να περιέχουν πολλές πληροφορίες σχετικά με τον τομέα. Εδώ, μπορείτε να βρείτε τον κύριο διακομιστή ονομάτων, το υπεύθυνο μέρος, μια χρονική σήμανση για αλλαγές, τη συχνότητα ανανέωσης ζώνης και μια σειρά χρονικών ορίων για επανάληψη και εγκατάλειψη.
TTL: Το Time to live είναι μια ρύθμιση για κάθε εγγραφή DNS που καθορίζει πόσο χρόνο επιτρέπεται σε έναν πρόδρομο διακομιστή DNS να αποθηκεύει προσωρινά κάθε ερώτημα DNS. Όταν λήξει αυτός ο χρόνος, τα δεδομένα πρέπει να ανανεωθούν για επόμενα αιτήματα.
ΟΠΟΙΑΔΗΠΟΤΕ: Αυτό λέει στο dig να επιστρέψει κάθε τύπο εγγραφής DNS που μπορεί.

Ο καθορισμός του τύπου εγγραφής A δεν αλλάζει την προεπιλεγμένη ενέργεια, η οποία είναι η υποβολή ερωτήματος στην εγγραφή διεύθυνσης και η λήψη της διεύθυνσης IP, όπως φαίνεται παρακάτω:

dig redhat.com A

ο

Για να ρωτήσουμε τις εγγραφές ανταλλαγής αλληλογραφίας, χρησιμοποιούμε την ακόλουθη σημαία MX:

dig yahoo.com MX

ο

Η σημαία διακομιστή ονομάτων επιστρέφει το ακόλουθο όνομα των ριζικών διακομιστών ονομάτων που σχετίζονται με τον τομέα ανώτατου επιπέδου:

dig fedora.com NS

ο

Για να υποβάλουμε ερώτημα για την έναρξη της εγγραφής αρχής, πληκτρολογούμε την ακόλουθη σημαία SOA:

dig manjaro.com SOA

ο

Η σημαία TTL θα μας δείξει τον χρόνο ζωής για τα δεδομένα στη μνήμη cache του διακομιστή DNS. Εάν κάνουμε μια σειρά από αιτήματα, βλέπουμε ότι ο χρόνος ζωής μειώνεται στο μηδέν και μετά μεταπηδάμε πίσω στην αρχική του τιμή.

  Πώς να εξάγετε αρχεία από ένα αρχείο .tar.gz ή .tar.bz2 στο Linux

Πληκτρολογούμε τα εξής:

dig usa.gov TTL

ο

Για να δούμε τις εγγραφές κειμένου, πληκτρολογούμε τη σημαία TX:

dig usa.gov TXT

ο

Καθορισμός του διακομιστή DNS

Εάν θέλετε να χρησιμοποιήσετε έναν συγκεκριμένο διακομιστή DNS για το αίτημά σας, μπορείτε να χρησιμοποιήσετε το σύμβολο στο (@) για να τον μεταβιβάσετε στο dig ως παράμετρος γραμμής εντολών.

Με τον προεπιλεγμένο διακομιστή DNS (δείτε παρακάτω), το dig αναφέρεται στον τοπικό επιλύτη στελέχους προσωρινής αποθήκευσης στην 127.0.0.53.

dig usa.gov +stats

Τώρα, πληκτρολογούμε τα εξής για να χρησιμοποιήσουμε τον δημόσιο διακομιστή DNS της Google στην 8.8.8.8:

dig @8.8.8.8 usa.gov +stats

ο

Χρήση του dig με πολλαπλούς τομείς

Μπορούμε να περάσουμε πολλαπλούς τομείς για σκάψιμο στη γραμμή εντολών, όπως φαίνεται παρακάτω:

dig ubuntu.org fedora.org manjaro.com

ο

Εάν ελέγχετε τακτικά ένα σύνολο τομέων, μπορείτε να τους αποθηκεύσετε σε ένα αρχείο κειμένου και να το περάσετε για σκάψιμο. Όλοι οι τομείς στο αρχείο θα ελεγχθούν με τη σειρά τους.

Το αρχείο μας ονομάζεται “domains.txt”. Θα χρησιμοποιήσουμε το cat για να δείξουμε το περιεχόμενό του και, στη συνέχεια, θα το περάσουμε για σκάψιμο με την επιλογή -f (αρχείο). Πληκτρολογούμε τα εξής:

cat domains.txt
dig -f domains.txt

ο

Αντίστροφες αναζητήσεις DNS

Εάν έχετε μια διεύθυνση IP και θέλετε να μάθετε πού πηγαίνει, μπορείτε να δοκιμάσετε μια αντίστροφη αναζήτηση DNS. Εάν επιλυθεί σε διακομιστή που είναι εγγεγραμμένος σε διακομιστή DNS, ίσως μπορείτε να μάθετε τον τομέα του.

Το αν μπορείτε εξαρτάται από την παρουσία ενός PTR (εγγραφή δείκτη). Τα PTR επιλύουν μια διεύθυνση IP σε a πλήρως πιστοποιημένο όνομα τομέα. Ωστόσο, επειδή αυτά δεν είναι υποχρεωτικά, δεν υπάρχουν πάντα σε έναν τομέα.

Ας δούμε αν μπορούμε να μάθουμε πού μας οδηγεί η διεύθυνση IP 209.51.188.148. Πληκτρολογούμε τα εξής, χρησιμοποιώντας την επιλογή -x (αντίστροφη αναζήτηση):

dig -x 209.51.188.148

ο

Γρήγορα! Η διεύθυνση IP επιστρέφει στο gnu.org.

Επειδή ένα PTR είναι μια εγγραφή DNS και γνωρίζουμε ότι το dig μπορεί να ζητήσει συγκεκριμένες εγγραφές DNS, δεν θα μπορούσαμε απλώς να ζητήσουμε από το dig να ανακτήσει το PTR για εμάς; Ναι, μπορούμε, αλλά χρειάζεται λίγο περισσότερη δουλειά.

Πρέπει να παρέχουμε τη διεύθυνση IP με αντίστροφη σειρά και να επισημάνουμε .in-addr.arpa στο τέλος, όπως φαίνεται παρακάτω:

dig ptr 148.188.51.209.in-addr.arpa

ο

Έχουμε το ίδιο αποτέλεσμα. απλά χρειάστηκε λίγο περισσότερη προσπάθεια.

Μπορείς να το σκάψεις?

Όλοι χρησιμοποιούμε το Διαδίκτυο καθημερινά και τα περίεργα μυαλά έχουν συχνά αναρωτηθεί πώς συμβαίνει το μαγικό όταν πληκτρολογούμε το όνομα ενός ιστότοπου σε ένα πρόγραμμα περιήγησης. Με το dig, μπορείτε να εξερευνήσετε τις διαδικασίες δημιουργίας δικτύων.