Kako koristiti naredbu dig na Linuxu

Stilizirani prozor terminala na Linux sustavu.

Fatmawati Achmad Zaenuri/Shutterstock



Linux |_+_| naredba vam omogućuje postavljanje upita DNS poslužiteljima i izvođenje DNS pretraživanja. Također možete pronaći domenu na koju IP adresa vodi. Pokazat ćemo vam kako!

Kako radi naredba dig

Ljudi koriste Linux |_+_| naredba za upit Sustav naziva domene (DNS) poslužitelji. |_+_| je akronim za Groper informacija o domeni . Pomoću |_+_| možete tražiti od DNS poslužitelja informacije o različitim DNS zapisima, uključujući adrese domaćina, razmjenu pošte, poslužitelje imena i povezane informacije. Bio je namijenjen da bude alat za dijagnosticiranje DNS problema. Međutim, možete ga upotrijebiti za probiranje i učenje više o DNS-u, koji je jedan od središnjih sustava koji održava internetski usmjeravajući promet.





Internet koristi adrese internetskog protokola (IP). identificirati lokacije diljem weba, ali ljudi koriste nazive domena. Kada upišete naziv domene u aplikaciju, kao što je web preglednik ili SSH klijent , nešto se mora prevesti s naziva domene na stvarnu IP adresu. Ovdje se pojavljuje sustav naziva domena.

Kada koristite naziv domene s bilo kojim programom spojenim na internet, vaš ga lokalni usmjerivač ne može riješiti (osim ako nije predmemoran iz prethodnog zahtjeva). Dakle, vaš usmjerivač pita ili DNS poslužitelj vašeg davatelja internetskih usluga (ISP) ili bilo koji drugi za koji ste konfigurirali svoj sustav. Oni se nazivaju DNS prekursorski poslužitelji.



Ako je DNS poslužitelj nedavno primio isti zahtjev od nekoga drugog na istom računalu, odgovor bi mogao biti u svoje cache. Ako je to slučaj, on jednostavno šalje te iste informacije natrag u vaš program.

Ako DNS prethodnik poslužitelja ne može locirati domenu u svojoj predmemoriji, kontaktira DNS korijenski poslužitelj imena . Korijenski poslužitelj neće sadržavati informacije potrebne za razrješavanje naziva domena u IP adrese, ali će sadržavati popise poslužitelja koji mogu pomoći s vašim zahtjevom.

Oglas

Korijenski poslužitelj gleda na domena najviše razine kojoj pripada naziv vaše domene, kao što su .COM, .ORG, .CO.UK i tako dalje. Zatim šalje popis poslužitelja domene najviše razine koji rukuju tim vrstama domena natrag na DNS prethodnik poslužitelja. Poslužitelj prekursora DNS-a tada može još jednom uputiti svoj zahtjev, poslužitelju domene najviše razine.



Poslužitelj domene najviše razine šalje pojedinosti o autoritativni poslužitelj imena (gdje su pohranjeni detalji domene) natrag na DNS prethodnik poslužitelja. DNS poslužitelj zatim postavlja upit ovlaštenom poslužitelju imena koji hostira zonu domene koju ste izvorno unijeli u svoj program. Autoritativni poslužitelj imena šalje IP adresu natrag DNS poslužitelju, a on je opet šalje vama.

Instaliranje vas

|_+_| je već instaliran na našim Ubuntu 18.04 i Fedora 30 računalima. Međutim, morali smo ga instalirati na računalo Manjaro 18.04 sa sljedećom naredbom:

dig

Početak rada s dig

U našem prvom primjeru vratit ćemo IP adrese povezane s imenom domene. Često je više IP adresa povezano s jednim imenom domene. To se često događa ako se, na primjer, koristi balansiranje opterećenja.

Koristimo |_+_| opcija upita, kao što je prikazano u nastavku, što nam daje sažet odgovor:

dig

Sve IP adrese povezane s domenom howtogeek.com navedene su za nas. Na drugom kraju spektra, ako smo nemoj koristite |_+_| opcija upita, izlaz je prilično opsežan.

Oglas

Dakle, upisujemo sljedeće da ga vodimo kroz |_+_|:

dig

Izlaz je prikazan u |_+_|, kao što je prikazano u nastavku.

Ovdje je cijeli popis:

dig

Secirajmo taj dio po dio.

Zaglavlje

Prvo, pogledajmo što imamo u zaglavlju:

dig

Evo što sve to znači:

    Prvi red:Verzija |_+_| i domenu koja je bila upitana. Globalne opcije:Kao što ćemo vidjeti, možete koristiti |_+_| za upit više domena istovremeno. Ovaj redak prikazuje opcije koje su primijenjene na sve upite domene. U našem jednostavnom primjeru, to je bio samo zadani |_+_| (naredba) opcija. Opcode: Upit:Ovo je vrsta operacije koja je zatražena, a u ovom slučaju je bila |_+_|. Ova vrijednost također može biti |_+_| za inverzni upit, ili |_+_| ako samo testirate stanje DNS sustava. Status: Noerror:Nije bilo grešaka i zahtjev je ispravno riješen. ID: 12017: Ovaj nasumični ID povezuje zahtjev i odgovor. Zastave: qr rd ra:Oni označavaju |_+_|, |_+_| i |_+_|. Rekurzija je jedan oblik DNS traženja (drugi je iterativan). Možda ćete vidjeti i |_+_|, što znači autoritativni odgovor, što znači da je autoritativni poslužitelj imena dao odgovor. Upit: 1:Broj upita u ovoj sesiji, koji je bio jedan. Odgovor: 4:Broj odgovora u ovom odgovoru, koji je četiri. Ovlaštenje: 0:Broj odgovora koji su došli s ovlaštenog poslužitelja imena, koji je u ovom slučaju bio nula. Odgovor je vraćen iz predmemorije DNS prekursorskog poslužitelja. U odgovoru neće biti mjerodavnog odjeljka. Dodatno: 1:Postoji jedna dodatna informacija. (Čudno, ništa nije navedeno osim ako je ova vrijednost dva ili veća.)

Opt Pseudosection

Dalje, vidimo sljedeće u Opt Pseudosection:

+short

Rastavimo to:

    EDNS: verzija 0:Verzija od Sustav proširenja za DNS koji se koristi. EDNS prenosi proširene podatke i oznake proširujući veličinu Protokol korisničkih datagrama (UDP) pakete. To je označeno zastavicom promjenjive veličine. zastave:Zastavice se ne koriste. udp: 4096: Veličina UDP paketa.

Odjeljak za pitanja

U odjeljku Pitanja vidimo sljedeće:

+short

Evo što to znači:

    howtogeek.com:Naziv domene koji tražimo. U:Izrađujemo upit za internetsku klasu. DO:Osim ako ne odredimo drugačije, |_+_| će zatražiti A (adresni) zapis od DNS poslužitelja.

Odjeljak za odgovore

Odjeljak Odgovori sadrži sljedeća četiri odgovora koje smo dobili od DNS poslužitelja:

less

Evo što znače ovi odgovori:

    3551:Ovo je vrijeme života (TTL), 32-bitni predpisani cijeli broj koji sadrži vremenski interval za koji se zapis može spremiti u predmemoriju. Kada istekne, podaci se moraju koristiti u odgovoru na zahtjev dok ih DNS poslužitelj ne osvježi. U:Napravili smo upit za internetsku klasu. DO:Zatražili smo A zapis od DNS poslužitelja.

Odsjek za statistiku

Statistika je posljednji odjeljak i sadrži sljedeće informacije:

less

Evo što imamo:

    Vrijeme upita: 0 ms:Vrijeme koje je bilo potrebno da se dobije odgovor. POSLUŽITELJ: 127.0.0.53#53(127.0.0.53):IP adresa i broj porta DNS poslužitelja koji je odgovorio. U ovom slučaju, ukazuje na lokalni razrješavač stubića za predmemoriju. Ovo prosljeđuje DNS zahtjeve na bilo koji uzvodni DNS poslužitelj koji je konfiguriran. Na testnom računalu Manajro ovdje navedena adresa bila je 8.8.8.8#53, što je Googleova javna DNS usluga . KADA: ned, 22. ožujka 07:44:37 EDT 2020:Kada je zahtjev postavljen. MSG VELIČINA rcvd: 106:Veličina poruke primljene od DNS poslužitelja.

Biti selektivan

Ne morate se zadovoljiti dvjema krajnostima, stisnutim usnama i brbljavim. The |_+_| naredba vam omogućuje da selektivno uključite ili isključite odjeljke iz rezultata.

Sljedeće opcije upita će ukloniti taj odjeljak iz rezultata:

    +bez komentara:Ne prikazuj retke komentara. +bez autoriteta:Ne prikazuj odjeljak ovlasti. +noadditional:Ne prikazuj dodatni odjeljak. + nostati:Ne prikazuj odjeljak statistike. +bez odgovora:Ne prikazuj odjeljak za odgovore. + noall:Ne pokazuj ništa!
Oglas

The |_+_| opcija upita obično se kombinira s jednom od gore navedenih radi uključivanja odjeljka u rezultate. Dakle, umjesto da upišete dugi niz opcija upita za isključivanje više odjeljaka, možete koristiti |_+_| da ih sve ugasi.

Zatim možete koristiti sljedeće inkluzivne opcije upita kako biste ponovno uključili one koje želite vidjeti:

    +komentari:Prikaži retke komentara. +vlast:Prikaži odjeljak ovlaštenja. +dodatno:Prikaži dodatni odjeljak. +statistika:Prikaži odjeljak statistike. +odgovor:Prikaži odjeljak za odgovore. +sve:Pokažite sve.

Upisujemo sljedeće da bismo postavili zahtjev i isključili retke komentara:

dig

Ako koristimo |_+_| opciju upita samostalno, kao što je prikazano u nastavku, nećemo dobiti nikakav koristan izlaz:

dig

Možemo selektivno dodati odjeljke koje želimo vidjeti. Da bismo dodali odjeljak za odgovore, upisujemo sljedeće:

+cmd

Ako upišemo sljedeće da bismo uključili |_+_|, također ćemo vidjeti odjeljak statistike:

query

Oglas

The |_+_| kombinacija se često koristi. Po potrebi možete dodati druge odjeljke u naredbeni redak. Ako želite izbjeći upisivanje |_+_| u naredbenom retku svaki put kada koristite |_+_|, možete ih staviti u konfiguracijsku datoteku pod nazivom .digrc. Nalazi se u vašem početnom imeniku.

Upisujemo sljedeće da bismo ga stvorili sa |_+_| :

iquery

Zatim možemo upisati sljedeće da provjerimo njegov sadržaj:

status

Te dvije opcije sada će se primijeniti na sve buduće upotrebe |_+_|, kao što je prikazano u nastavku:

query recursion desired recursion available

Ovo |_+_| konfiguracijska datoteka će se koristiti za preostale primjere u ovom članku.

DNS zapisi

Informacije vraćene na vaš |_+_| zahtjevi se izvlače iz različitih vrsta zapisa koji se drže na DNS poslužitelju. Osim ako ne tražimo nešto drugačije, |_+_| traži A (adresni) zapis. Sljedeće su vrste zapisa koji se obično koriste s |_+_|:

    Zapis:Povezuje domenu s IP adresom verzije 4. MX zapis:Razmjena pošte bilježi izravne e-poruke poslane na domene na ispravan poslužitelj pošte. NS zapis:Zapisi poslužitelja imena delegiraju domenu (ili poddomenu) na skup DNS poslužitelja. TXT zapis:Tekstualni zapisi pohranjuju tekstualne informacije o domeni. Obično se mogu koristiti za suzbijanje lažne ili krivotvorene e-pošte. SOA zapis:Početak ovlaštenih zapisa može sadržavati mnogo informacija o domeni. Ovdje možete pronaći primarni poslužitelj imena, odgovornu stranu, vremensku oznaku za promjene, učestalost osvježavanja zone i niz vremenskih ograničenja za ponovne pokušaje i napuštanja. TTL:Vrijeme života je postavka za svaki DNS zapis koja određuje koliko dugo DNS prekursorski poslužitelj smije keširati svaki DNS upit. Kada to vrijeme istekne, podaci se moraju osvježiti za sljedeće zahtjeve. BILO KOJI:Ovo govori |_+_| da vrati sve vrste DNS zapisa koje može.
Oglas

Određivanje vrste zapisa A ne mijenja zadanu radnju, a to je upit za zapis adrese i dobivanje IP adrese, kao što je prikazano u nastavku:

AA

Za upite o zapisima razmjene pošte koristimo sljedeću MX zastavicu:

dig

Oznaka poslužitelja imena vraća sljedeće ime korijenskih poslužitelja imena povezanih s domenom najviše razine:

dig

Da bismo postavili upit za početak ovlaštenog zapisa, upisujemo sljedeću SOA zastavicu:

+noall

Oznaka TTL pokazat će nam vrijeme za život za podatke u predmemoriji DNS poslužitelja. Ako postavimo niz zahtjeva, vidimo da se vrijeme života smanjuje na ništa, a zatim se vraća na početnu vrijednost.

Upisujemo sljedeće:

+noall

Da bismo vidjeli tekstualne zapise, upisujemo TX zastavicu:

+noall

Određivanje DNS poslužitelja

Ako želite koristiti određeni DNS poslužitelj za svoj zahtjev, možete koristiti at znak (|_+_|) da ga proslijedite na |_+_| kao parametar naredbenog retka.

Oglas

Sa zadanim DNS poslužiteljem (vidi dolje), |_+_| upućuje na lokalni razrješavač stubića za predmemoriju na 127.0.0.53.

+stats

Sada upisujemo sljedeće da bismo koristili Googleov javni DNS poslužitelj na 8.8.8.8:

+noall +answer

Korištenje dig s više domena

Možemo proslijediti više domena na |_+_| na naredbenoj liniji, kao što je prikazano u nastavku:

+noall +answer

Ako redovito provjeravate skup domena, možete ih pohraniti u tekstualnu datoteku i proslijediti je |_+_|. Sve domene u datoteci će se redom provjeravati.

Naša datoteka se zove domains.txt. Koristit ćemo |_+_| da prikažete njegov sadržaj, a zatim ga proslijedite na |_+_| sa |_+_| (datoteka) opcija. Upisujemo sljedeće:

dig echo

Obrnuti DNS pretraživanja

Ako imate IP adresu i želite znati kamo ide, možete pokušati obrnutim DNS traženjem. Ako se riješi na poslužitelj registriran na DNS poslužitelju, možda ćete moći saznati njegovu domenu.

Oglas

Možete li ovisi o prisutnosti PTR (pokazivač zapisa). PTR-ovi rješavaju IP adresu u a potpuno kvalificirani naziv domene . Međutim, budući da oni nisu obvezni, nisu uvijek prisutni na domeni.

Pogledajmo možemo li saznati kamo nas vodi IP adresa 209.51.188.148. Upisujemo sljedeće, koristeći |_+_| (obrnuto traženje) opcija:

dig

Presto! IP adresa se rješava u gnu.org.

Zato što je PTR DNS zapis, a mi znamo |_+_| može zatražiti određene DNS zapise, zar ne bismo mogli samo pitati |_+_| dohvatiti PTR za nas? Da, možemo, ali treba malo više rada.

Moramo dati IP adresu obrnutim redoslijedom i zalijepiti |_+_| na kraju, kao što je prikazano u nastavku:

dig

Oglas

Dobivamo isti rezultat; samo je trebalo malo više truda.

Možeš li iskopati?

Svi mi svakodnevno koristimo internet, a znatiželjni umovi često su se pitali kako se čarolija događa kada upišemo naziv web stranice u preglednik. Pomoću |_+_| možete istražiti procese mrežnog čaranja.

Linux naredbe
Datoteke katran · pv · mačka · tac · chmod · zahvat · razl · sed · S · čovjek · pushd · popd · fsck · testdisk · sljed · F D · pandok · CD · $PATH · awk · pridružiti · jq · preklopiti · jedinstven · journalctl · rep · država · ls · fstab · izbaciti · manje · chgrp · chown · rev · izgled · žice · tip · preimenovati · patentni zatvarač · otvoriti rajsfešlus · montirati · razmontirati · instalirati · fdisk · mkfs · rm · rmdir · rsync · df · gpg · mi · nano · mkdir · iz · ln · zakrpa · Pretvoriti · rclone · usitniti · SRM
Procesi alias · zaslon · vrh · Lijepo · renice · napredak · strace · sustav · tmux · chsh · povijesti · na · serija · besplatno · koji · dmesg · usermod · p.s · chroot · xargs · tty · ružičasti · lsof · vmstat · pauza · zid · Da · ubiti · spavati · sudo · njegov · vrijeme · groupadd · usermod · grupe · lshw · ugasiti · ponovno podizanje sustava · Stop · isključenje · passwd · lscpu · crontab · datum · bg · fg
Umrežavanje netstat · ping · traceroute · ip · ss · tko je · fail2ban · bmon · vas · prst · nmap · ftp · kovrča · wget · tko · tko sam ja · U · iptables · ssh-keygen · ufw

POVEZANO: Najbolja prijenosna računala s Linuxom za programere i entuzijaste

PROČITAJTE SLJEDEĆE Fotografija profila Davea McKaya Dave McKay
Dave McKay je prvi put koristio računala kada je bušena papirna traka bila u modi i od tada se bavi programiranjem. Nakon više od 30 godina u IT industriji, sada je stalni tehnološki novinar. Tijekom svoje karijere radio je kao freelance programer, voditelj međunarodnog tima za razvoj softvera, voditelj projekta IT usluga, a nedavno i kao službenik za zaštitu podataka. Njegovo pisanje objavili su howtogeek.com, cloudsavvyit.com, tenterpriser.com i opensource.com. Dave je Linux evanđelist i zagovornik otvorenog koda.
Pročitajte cijelu biografiju

Zanimljivi Članci