Μετάβαση στο περιεχόμενο

Ρυθμίσεις cookies

Επιλέξτε ανά κατηγορία ποια cookies επιτρέπετε. Μπορείτε να αλλάξετε την επιλογή σας οποιαδήποτε στιγμή μέσω των Ρυθμίσεων cookies στο κάτω μέρος κάθε σελίδας. Δήλωση απορρήτου

Απαραίτητα

Πάντα ενεργά

Χρειάζονται για τη σύνδεση, για να διατηρείται το καλάθι σας και για να θυμόμαστε τις επιλογές σας. Είναι πάντα ενεργά.

Ποια cookies;
  • weboke_sessie, weboke_klant, weboke_remember: η συνεδρία σας και η παραμονή σε σύνδεση
  • weboke_basket: το καλάθι σας
  • wkBtwIncl: εμφάνιση τιμών με ή χωρίς ΦΠΑ
  • wok_cookies: η επιλογή σας για τα cookies, 12 μήνες

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

Ποια cookies;
  • Google Ads μέσω Google Tag Manager (_gcl_au, _gcl_aw), έως 90 ημέρες
  • OpenAI Ads, διαφημίσεις στο ChatGPT
  • wok_aff: μέσω ποιου συνεργάτη ήρθατε σε εμάς (πρόγραμμα συνεργατών), 60 ημέρες

4,6

Χώρα και γλώσσα

Κάθε χώρα έχει τη δική της ιστοσελίδα, με τιμές και ΦΠΑ της χώρας αυτής.

Προβολή

DNS opvragen met dig en nslookup

Ενότητα 8: Ασφάλεια και επίλυση προβλημάτων · Χρόνος ανάγνωσης: 10 λεπτά

Στόχος μαθήματος: Μετά από αυτό το μάθημα θα μπορείτε να αναζητάτε εγγραφές με dig και nslookup, να ρωτάτε έναν συγκεκριμένο nameserver και να διαβάζετε την έξοδο.

Βασικές έννοιες: dig, nslookup, Resolve-DnsName, +short, @server, +trace, τμήματα ANSWER και AUTHORITY, κατάσταση NOERROR, NXDOMAIN, SERVFAIL, dig -x

Γιατί να το ελέγξετε οι ίδιοι;

Ένα πίνακας ελέγχου δείχνει ό,τι έχετε συμπληρώσει εσείς. Αυτό που βλέπει ο υπόλοιπος κόσμος μπορεί να είναι διαφορετικό: ίσως το DNS το διαχειρίζεται άλλος φορέας, ίσως υπάρχει ακόμη μια παλιά απάντηση σε μια cache. Με ένα πρόγραμμα αναζήτησης θέτετε την ίδια ερώτηση που θα έθετε ένας browser ή ένας mailserver, και βλέπετε την πραγματική απάντηση.

Υπάρχουν τρία συνηθισμένα προγράμματα:

ΠρόγραμμαWhereComment
digmacOS, Linux (στα Windows μέσω WSL ή εγκαθίσταται ξεχωριστά)Το πιο ολοκληρωμένο, τυπική επιλογή για διαχειριστές
nslookupWindows, macOS, LinuxΔιαθέσιμο παντού, πιο συνοπτική έξοδος
Resolve-DnsNameWindows PowerShellΒολικό σε Windows χωρίς επιπλέον λογισμικό

Δεν έχετε κοντά σας παράθυρο εντολών; Τότε μπορείτε να κάνετε ακριβώς το ίδιο με ένα online εργαλείο dig (μάθημα 8.3).

Η πρώτη σας ερώτηση με dig

Ανοίξτε το Terminal (macOS/Linux) και πληκτρολογήστε:

$ dig example.com A

Η έξοδος, σε συντομευμένη μορφή, μοιάζει ως εξής:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41872
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
example.com.           2847    IN      A       192.0.2.10

;; Query time: 12 msec
;; SERVER: 192.168.1.1#53(192.168.1.1) (UDP)

Τι πρέπει να προσέξετε:

  • status: η σημαντικότερη λέξη. Δείτε τον παρακάτω πίνακα.
  • flags: το ad σημαίνει ότι ο resolver έχει ελέγξει την απάντηση με DNSSEC (μάθημα 8.1).
  • ANSWER SECTION: οι ίδιες οι εγγραφές. Οι στήλες είναι οι ίδιες όπως σε μια ζώνη: όνομα, TTL, κλάση, τύπος, τιμή.
  • TTL (εδώ 2847): πόσα δευτερόλεπτα θα παραμείνει ακόμη αυτή η απάντηση στην cache του resolver. Αν στη ζώνη είχε οριστεί 3600, τότε η απάντηση είναι ήδη 753 δευτερόλεπτα παλιά. Αν το ξαναζητήσετε, θα δείτε τον αριθμό να μειώνεται.
  • SERVER: ποιον resolver ρωτήσατε. Στο σπίτι, αυτό είναι συχνά ο router σας.

Οι τρεις καταστάσεις που πρέπει να γνωρίζετε

ΚατάστασηΣημασίαΤι να κάνετε
NOERROR με απάντησηΌλα εντάξει, αυτή είναι η απάντησηΗ τιμή δεν είναι σωστή; Τότε υπάρχει λανθασμένη εγγραφή, ή βλέπετε μια παλιά cache
NOERROR χωρίς απάντηση (ANSWER: 0)Το όνομα υπάρχει, αλλά δεν έχει εγγραφή αυτού του τύπουΣυχνά: ζητάτε λάθος τύπο (για παράδειγμα A σε ένα όνομα που έχει μόνο CNAME ή μόνο MX)
NXDOMAINΑυτό το όνομα δεν υπάρχει καθόλουΤυπογραφικό λάθος, ξεχασμένη εγγραφή, ή διπλό domain όπως mail.example.com.example.com
SERVFAILΟ resolver δεν μπόρεσε να λάβει αξιόπιστη απάντησηΜη προσβάσιμοι nameservers, ή σπασμένη αλυσίδα DNSSEC (δοκιμάστε +cd)

Χρήσιμες παραλλαγές

Μόνο η απάντηση με +short:

$ dig +short MX example.com
10 mail.example.com.
20 mail2.example.com.

Να ρωτήσετε έναν άλλο resolver ή απευθείας έναν nameserver με @. Αυτό είναι το σημαντικότερο κόλπο όταν υπάρχουν προβλήματα. Αν ρωτήσετε τον ίδιο τον εξουσιοδοτημένο nameserver, παίρνετε πάντα τη φρέσκια απάντηση, χωρίς cache:

$ dig +short NS example.com
ns1.hosting.example.
ns2.hosting.example.

$ dig +short A www.example.com @ns1.hosting.example
192.0.2.20

$ dig +short A www.example.com @9.9.9.9
192.0.2.10

Εδώ βλέπετε με μια ματιά τι συμβαίνει: ο nameserver δίνει ήδη τη νέα διεύθυνση (.20), ενώ ο δημόσιος resolver έχει ακόμη την παλιά στην cache (.10). Δεν χρειάζεται λοιπόν να κάνετε τίποτα, παρά μόνο να περιμένετε να περάσει το TTL (ενότητα 6).

Άλλοι τύποι: βάλτε τον τύπο μετά το όνομα.

$ dig +short TXT example.com
"v=spf1 a mx include:_spf.hosting.example ~all"
"google-site-verification=AbC123..."

$ dig +short TXT _dmarc.example.com
"v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"

$ dig +short CNAME shop.example.com
shops.platform.example.

Παρακολούθηση ολόκληρης της διαδρομής με +trace. Το dig κάνει τότε μόνο του ό,τι κάνει ένας resolver: πρώτα το root, μετά το TLD, μετά τον εξουσιοδοτημένο server (μάθημα 1.4):

$ dig +trace example.com A
.                 518400  IN  NS  a.root-servers.net.
;; Received 239 bytes from 192.168.1.1#53
com.              172800  IN  NS  a.gtld-servers.net.
;; Received 708 bytes from 198.41.0.4#53(a.root-servers.net)
example.com.      172800  IN  NS  ns1.hosting.example.
;; Received 412 bytes from 192.5.6.30#53(a.gtld-servers.net)
example.com.      3600    IN  A   192.0.2.10
;; Received 57 bytes from 198.51.100.53#53(ns1.hosting.example)

Με +trace βλέπετε ποιους nameservers δίνει πράγματι το μητρώο (registry). Αυτό είναι χρήσιμο όταν αμφιβάλλετε αν μια αλλαγή nameserver έχει ήδη εφαρμοστεί.

Να δείτε το DNSSEC με +dnssec: λαμβάνετε επιπλέον τις υπογραφές RRSIG. Με +cd απενεργοποιείτε τον έλεγχο, για να δείτε αν ένα SERVFAIL οφείλεται στο DNSSEC.

Reverse DNS με -x (μάθημα 4.6):

$ dig +short -x 192.0.2.25
mail.example.com.

Το ίδιο με nslookup

Το nslookup λειτουργεί σε κάθε υπολογιστή. Οι σημαντικότερες μορφές:

C:\> nslookup example.com
Server:  router.lan
Address:  192.168.1.1

Non-authoritative answer:
Name:    example.com
Address:  192.0.2.10

C:\> nslookup -type=mx example.com
example.com    MX preference = 10, mail exchanger = mail.example.com

C:\> nslookup -type=txt _dmarc.example.com 9.9.9.9

Μια δεύτερη διεύθυνση μετά το όνομα (εδώ 9.9.9.9) είναι ο server που ρωτάτε, ακριβώς όπως το @ στο dig. Η φράση "Non-authoritative answer" σημαίνει απλώς ότι η απάντηση προέρχεται από έναν resolver και όχι από τον εξουσιοδοτημένο nameserver: αυτό είναι φυσιολογικό. Αν το όνομα δεν υπάρχει, το nslookup εμφανίζει Non-existent domain, που είναι το ίδιο με NXDOMAIN.

Windows PowerShell: Resolve-DnsName

PS> Resolve-DnsName example.com -Type MX
PS> Resolve-DnsName _dmarc.example.com -Type TXT -Server 9.9.9.9
PS> Resolve-DnsName example.com -Type A -DnsOnly

Άδειασμα της δικής σας cache

Βλέπει ένα online εργαλείο ήδη τη νέα απάντηση, αλλά ο υπολογιστής σας ακόμη όχι; Τότε η παλιά απάντηση βρίσκεται στην cache του δικού σας υπολογιστή ή browser.

  • Windows: ipconfig /flushdns στο Opdrachtprompt.
  • macOS: sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder στο Terminal.
  • Linux με systemd-resolved: resolvectl flush-caches.
  • Browser: ένα παράθυρο ιδιωτικής περιήγησης, ή το κινητό σας μέσω 4G/5G με το wifi απενεργοποιημένο.

Την cache του πάροχού σας ή του router δεν μπορείτε να την αδειάσετε εσείς οι ίδιοι· εκεί περιμένετε να περάσει το TTL.

Στην πράξη: έτσι φαίνεται σε έναν πίνακα ελέγχου

Στους περισσότερους πίνακες ελέγχου δεν μπορείτε να εκτελέσετε dig. Χρησιμοποιήστε λοιπόν το dig παράλληλα με τον πίνακα ελέγχου σας: πρώτα ελέγξτε στον πίνακα τι έχετε συμπληρώσει, μετά με dig @<ο δικός σας nameserver> ελέγξτε αν ο nameserver δίνει πράγματι αυτό, και στη συνέχεια με dig @9.9.9.9 ελέγξτε αν το βλέπει ήδη ο έξω κόσμος. Το Το WebOké μου διαθέτει μια διάγνωση DNS που συγκρίνει τους nameservers μεταξύ τους· άλλοι φορείς έχουν παρόμοια κουμπιά "ελέγχου DNS".

Σύνοψη

  • Το dig <όνομα> <τύπος> θέτει την ίδια ερώτηση που θα έθετε ένας browser ή ένας mailserver· διαβάστε πρώτα την κατάσταση (status).
  • Το NOERROR με απάντηση είναι καλό, το NOERROR χωρίς απάντηση σημαίνει "το όνομα υπάρχει, ο τύπος όχι", το NXDOMAIN σημαίνει "το όνομα δεν υπάρχει", το SERVFAIL σημαίνει "καμία αξιόπιστη απάντηση".
  • Με το @server ρωτάτε έναν συγκεκριμένο resolver ή απευθείας τον εξουσιοδοτημένο nameserver· έτσι βλέπετε τη διαφορά ανάμεσα σε ένα σφάλμα και σε μια cache.
  • Τα +short, +trace, +dnssec, +cd και -x είναι οι παραλλαγές που θα χρειαστείτε πιο συχνά.
  • Τα nslookup και Resolve-DnsName κάνουν το ίδιο στα Windows.

Κουίζ

1. Το dig mail.example.com A επιστρέφει status: NXDOMAIN. Τι σημαίνει αυτό;



2. Αλλάξατε την εγγραφή A του www. Το dig +short www.example.com @ns1.hosting.example δίνει τη νέα διεύθυνση, ενώ το dig +short www.example.com @1.1.1.1 δίνει ακόμη την παλιά. Τι συμβαίνει;



3. Ποια εντολή δείχνει ολόκληρη τη διαδρομή από το root μέσω του TLD μέχρι τον εξουσιοδοτημένο nameserver;



4. Στην έξοδο του dig, μια εγγραφή A εμφανίζει TTL 412. Στη ζώνη έχει οριστεί 3600. Τι σημαίνει αυτό;



5. Τι κάνει το nslookup -type=mx example.com 9.9.9.9;



Άσκηση

Άσκηση Z8.2: dig και nslookup. Με dig, nslookup ή Resolve-DnsName (ή ένα online εργαλείο dig) αναζητήστε τρία πράγματα:

  1. την κατάσταση ενός ονόματος που δεν υπάρχει: bestaat-niet-dnscursus.sidn.nl·
  2. τις εγγραφές MX του wikipedia.org, απευθείας από έναν από τους nameservers του wikipedia.org (αναζητήστε τον πρώτα)·
  3. το TTL που επιστρέφει αυτή τη στιγμή ένας δημόσιος resolver για την εγγραφή A του sidn.nl (ζητήστε το δύο φορές, με ένα λεπτό διαφορά, και σημειώστε και τους δύο αριθμούς).

Συμπληρώστε τις απαντήσεις.

Άσκηση Z8.2: dig και nslookup





Ό,τι συμπληρώνετε και ό,τι βρίσκουμε ζωντανά δεν το αποθηκεύουμε. Ο browser σας θυμάται τις απαντήσεις σας και αν περάσατε την άσκηση. Αν έχετε συνδεθεί, αποθηκεύουμε μόνο ότι είχατε την άσκηση (σχεδόν) σωστή στα Τα μαθήματά μου· εκεί μπορείτε και να το διαγράψετε.

Περαιτέρω ανάγνωση

Αυτά τα άρθρα περιγράφουν τα βήματα στο WebOké· οι εντολές λειτουργούν παντού με τον ίδιο τρόπο.

Μια στιγμή…

Ρυθμίστε τα domains σας

Ρυθμίστε για κάθε domain τους nameservers, τη σύνδεση με το hosting σας και ποιος θα είναι ο κάτοχος.

Φόρτωση των domains σας…