Dig er ikke en modsætning til nslookup i funktion, men med meget flere muligheder, giver dig-kommandoen oplysninger, som navneservere administrerer og kan være meget nyttige til fejlfinding af problemer. Det er både let at bruge og har mange nyttige indstillinger.
Navnet “dig” står for “domain information groper”.
Mængden af information, den giver, afhænger af en række indstillinger, som du kan bruge til at skræddersy dens output til dine behov. dig kan give en masse detaljer eller være overraskende sparsom.
Giv mig bare ip adressen.
$ dig facebook.com +short 31.13.72.36
Som vist her.
$ dig networkworld.com +short 151.101.2.165 151.101.66.165 151.101.130.165 151.101.194.165
Du skal ikke blive forvirret over du få flere ip adresser vist. Det skyldes at der bruges flere ip adresser som load balancer.
$ dig networkworld.com ; <<>> DiG 9.10.3-P4-Ubuntu <<>> networkworld.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28653 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4000 ;; QUESTION SECTION: ;networkworld.com. IN A ;; ANSWER SECTION: networkworld.com. 129 IN A 151.101.66.165 networkworld.com. 129 IN A 151.101.130.165 networkworld.com. 129 IN A 151.101.194.165 networkworld.com. 129 IN A 151.101.2.165 ;; Query time: 0 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Tue Feb 18 09:38:45 CET 2020 ;; MSG SIZE rcvd: 109
Hvilken DNS server bruges.
Default bruger den de navne servere som du har beskrevet i /etc/resolv.conf filen.
Her bruger vi google dns server til at spørge.
dig @8.8.8.8 networkworld.com ; <<>> DiG 9.10.3-P4-Ubuntu <<>> @8.8.8.8 networkworld.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8109 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;networkworld.com. IN A ;; ANSWER SECTION: networkworld.com. 299 IN A 151.101.66.165 networkworld.com. 299 IN A 151.101.130.165 networkworld.com. 299 IN A 151.101.194.165 networkworld.com. 299 IN A 151.101.2.165 ;; Query time: 240 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: Tue Feb 18 09:42:56 CET 2020 ;; MSG SIZE rcvd: 109
For kun at få svar af dette svar, kan du udelade detaljer om navneserveren, men stadig få det svar, du leder efter, ved at bruge både en + noall (ikke vise alt) og et +answer (men vis svardelen ) sådan her:
$ dig @8.8.8.8 networkworld.com +noall +answer ; <<>> DiG 9.10.3-P4-Ubuntu <<>> @8.8.8.8 networkworld.com +noall +answer ; (1 server found) ;; global options: +cmd networkworld.com. 299 IN A 151.101.130.165 networkworld.com. 299 IN A 151.101.194.165 networkworld.com. 299 IN A 151.101.66.165 networkworld.com. 299 IN A 151.101.2.165
For at bruge dig med flere domæner, hvis du har en fil med navne kan du bruge -f parameteren.
$ dig +noall +answer -f domainfil.txt
networkworld.com. 300 IN A 151.101.66.165 networkworld.com. 300 IN A 151.101.2.165 networkworld.com. 300 IN A 151.101.130.165 networkworld.com. 300 IN A 151.101.194.165 world.std.com. 77972 IN A 192.74.137.5 uushenandoah.org. 1982 IN A 162.241.24.209 amazon.com. 18 IN A 176.32.103.205 amazon.com. 18 IN A 176.32.98.166 amazon.com. 18 IN A 205.251.242.103
Det kan ikke bruges til så meget. Men hvis du bruger awk til at få ip adresserne ud giver det mening.
$ dig +noall +answer -f domainfil.txt | awk '{print $1,$NF}' networkworld.com. 151.101.66.165 networkworld.com. 151.101.130.165 networkworld.com. 151.101.194.165 networkworld.com. 151.101.2.165 world.std.com. 192.74.137.5 amazon.com. 176.32.98.166 amazon.com. 205.251.242.103 amazon.com. 176.32.103.205