Hur man använder gräva Kommandot i Linux

0
209
Fatmawati Achmad Zaenuri/Shutterstock

Linux gräva kommandot tillåter dig att fråga DNS-servrar och utför DNS-uppslagningar. Du kan också hitta domänen en IP-adress leder tillbaka till. Vi visar dig hur!

Hur gräva Kommando Fungerar

Människor som använder Linux gräva kommando för att fråga Domain Name System (DNS) – servrar. gräva är en förkortning för Domain Information Groper. Med dig, du kan fråga DNS-servrar för information om olika DNS-journaler, inklusive värd adresser, e-post utbyte, namnservrar, och relaterad information. Det var avsett att vara ett verktyg för att diagnostisera DNS-frågor. Du kan dock använda det till att rota runt och lära sig mer om DNS, som är en av de centrala systemen att hålla internet routing-trafik.

Internet använder internet protocol (IP) adresser för att identifiera platser runt om på nätet, men människor använder domännamn. När du skriver in ett domännamn i en ansökan, som en webbläsare eller SSH-klient, något som har att översätta domännamn till IP-adress. Det är där Domain Name System kommer in.

När du använder ett domännamn med alla internet-anslutna program, din lokala router inte kan lösa det (om det inte är cachelagrade från en tidigare begäran). Så, din router frågor antingen från din Internet-Leverantör (ISP) för DNS-servern, eller andra som du har konfigurerat ditt system att använda. Dessa kallas DNS föregångare servrar.

Om DNS-servern nyligen fått samma förfrågan från någon annan på samma dator, kan svaret vara i sin cache. Om så är fallet, det skickar helt enkelt att samma information tillbaka till ditt program.

Om DNS-föregångare-server kan inte hitta domänen i sin cache, den kommer i kontakt med en DNS-namnserver. Ett root-server kommer inte att hålla information som krävs för att lösa domännamn till IP-adresser, men det kommer att hålla listor av servrar som kan hjälpa dig med din begäran.

Root-server ser på top-level domain som ditt domännamn tillhör, till exempel .KOM, .ORG .CO.STORBRITANNIEN, och så vidare. Den skickar sedan en lista på de top-level domain servrar som hanterar dessa typer av domäner tillbaka till DNS föregångare server. DNS-föregångare-servern kan sedan göra sin begäran en gång till, en top-level domain server.

Top-level domain servern skickar information om den auktoritativa namnservern (där information om domänen är lagrad) tillbaka till DNS föregångare server. Den DNS-server och sedan frågar auktoritativa namn-server som är värd för zonen av den domän som du ursprungligen angav i ditt program. Den auktoritativa namnservern skickar IP-adress tillbaka till DNS-servern, som i sin tur skickar tillbaka det till dig.

Installera gräva

gräva redan var installerat på vårt Ubuntu 18.04 och Fedora 30 datorer. Dock var vi tvungna att installera om Manjaro 18.04 dator med följande kommando:

sudo pacman -Sy-bind-verktyg

Komma Igång med att gräva

I vårt första exempel, vi kommer tillbaka IP-adresser som är associerade med ett domännamn. Ofta, flera IP-adresser som är associerade med ett enda domännamn. Detta händer ofta om lastbalansering används, till exempel.

Vi använder +kort fråga alternativet, som visas nedan, som ger oss ett fåordigt svar:

gräva howtogeek.com +kort

Alla IP-adresser som är associerade med howtogeek.com domän anges för oss. I andra änden av spektrumet, om vi inte använder +kort fråga alternativet, produktionen är ganska detaljerad.

Så, vi skriver följande till rör det genom mindre:

gräva howtogeek.com | mindre

Utdata visas i mindre, så som visas nedan.

Här är den fullständiga listan:

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> howtogeek.com
;; globala alternativ: +cmd
;; Fick svar:
;; ->>RUBRIK<<- operationskod: FRÅGA, status: NOERROR, id: 12017
;; flaggor: qr rd ra, FRÅGA: 1, SVAR: 4, MYNDIGHET: 0, EXTRA: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flaggor:; udp: 65494
;; FRÅGA AVSNITT:
;howtogeek.com. I EN

;; SVAR AVSNITT:
howtogeek.com. 3551 I EN 151.101.194.217
howtogeek.com. 3551 I EN 151.101.130.217
howtogeek.com. 3551 I EN 151.101.66.217
howtogeek.com. 3551 I EN 151.101.2.217

;; Fråga tid: 0 msek
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; NÄR: Sön Mar 22 07:44:37 EDT 2020
;; MSG STORLEK rcvd: 106

Låt oss dissekera att bit för bit.

Rubrik

Låt oss först ta en titt på det vi har i Huvudet:

; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> howtogeek.com
;; globala alternativ: +cmd
;; Fick svar:
;; ->>RUBRIK<<- operationskod: FRÅGA, status: NOERROR, id: 12017
;; flaggor: qr rd ra, FRÅGA: 1, SVAR: 4, MYNDIGHET: 0, EXTRA: 1

Nu, här är vad allt det innebär:

  • Första raden: Den version av gräv och den domän som var efterfrågade.
  • Globala alternativ: Så vi får se, kan du använda gräva för att fråga flera domäner samtidigt. Den här raden visar de alternativ som har installerats på alla domän-frågor. I vårt enkla exempel, det var bara standard +cmd (kommandotolken) alternativ.
  • Opcode: Fråga: Detta är den typ av åtgärd som har begärts, vilket i detta fall var en fråga. Detta värde kan också vara iquery för en omvänd fråga, eller hämta status om du är bara att testa tillståndet i DNS-systemet.
  • Status: Noerror: Det var inget fel och att begäran lösas korrekt.
  • ID: 12017: Detta slumpmässiga ID-band begäran och svaret tillsammans.
  • Flaggor: qr rd ra: Dessa står för en fråga, rekursion önskade, och rekursion tillgängliga. Rekursion är en form av DNS lookup (den andra är iterativ). Du kan också se AA, som står för Auktoritativt Svar, vilket innebär en Auktoritativ namnserver gav svar.
  • Fråga: 1: antalet frågor i denna session, som var och en.
  • Svar: 4: antalet svar i detta svar, vilket är fyra.
  • Myndighet: 0: antalet svar som kom från en Auktoritativ namnserver, som var noll i detta fall. Svaret var tillbaka från cache-minnet av en DNS-föregångare server. Det kommer att finnas någon officiell sektion i svaret.
  • Ytterligare: 1: Det är en bit av ytterligare information. (Märkligt, inget annat anges, om inte detta värde är två eller högre.)

Välja Pseudosection

Nästa, ser vi följande i Opt Pseudosection:

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

Låt oss bryta ner det:

  • EDNS: version 0: Den version av Extension System för DNS som används. EDNS sänder extended data och flaggorna genom att utvidga storleken av UDP (User Datagram Protocol) paket. Det här indikeras av en variabel storlek flagga.
  • flaggor: Inga flaggor är i bruk.
  • udp: 4096: UDP-paket storlek.

Frågan Avsnitt

I Fråga avsnitt, ser vi följande:

;; FRÅGA AVSNITT:
;howtogeek.com. I EN

Här är vad detta innebär:

  • howtogeek.com: domännamnet vi att fråga.
  • I: Vi gör en internet-klass-fråga.
  • A: Om vi inte anger annat, gräva kommer att begära en En (adressen) spela in från DNS-servern.

Svar Avsnitt

Svar avsnitt innehåller följande fyra svar vi fått från DNS-server:

howtogeek.com. 3551 I EN 151.101.194.217
howtogeek.com. 3551 I EN 151.101.130.217
howtogeek.com. 3551 I EN 151.101.66.217
howtogeek.com. 3551 I EN 151.101.2.217

Här är vad dessa svar menar:

  • 3551: Detta är Time to Live (TTL), en 32-bitars heltal som innehåller det tidsintervall för vilket en post kan cachas. När det löper ut, data skall användas i ett svar på en begäran förrän det varit uppdateras av DNS-servern.
  • I: Vi gjorde en Internet-klass-fråga.
  • A: Vi frågade för En a-post från DNS-servern.

Statistik Avsnitt

Statistik är den sista delen, och den innehåller följande information:

;; Fråga tid: 0 msek
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; NÄR: Sön Mar 22 07:44:37 EDT 2020
;; MSG STORLEK rcvd: 106

Här är vad vi har:

  • Fråga Tid: 0 ms: Den tid det tog att få svar.
  • SERVER: 127.0.0.53#53(127.0.0.53): IP-Adress och portnummer för den DNS-server som svarat. I det här fallet, det är som pekar till den lokala caching stub resolver. Denna vidarebefordrar DNS-förfrågningar till den uppströms DNS-servrar är konfigurerade. På Manajro testa datorn, den adress som anges här var 8.8.8.8#53, som är Google public DNS-tjänst.
  • NÄR: Sön Mar 22 07:44:37 EDT 2020: När ansökan gjordes.
  • MSG STORLEK rcvd: 106: storleken av det mottagna meddelandet från DNS-servern.

Att Vara Selektiv

Du behöver inte nöja sig med de två ytterligheterna av tystlåtna och pratsamma. Gräva kommandot tillåter dig att selektivt ta med eller utelämna delar av resultaten.

Följande fråga alternativ kommer att ta bort det avsnittet från resultaten:

  • +nocomments: visa inte kommentera rader.
  • +noauthority: visa inte den myndighet avsnitt.
  • +noadditional: visa inte den ytterligare avsnitt.
  • +nostats: inte visar statistik avsnitt.
  • +noanswer: inte svara avsnitt.
  • +noall: inte visa något!

Den +noall fråga alternativet är oftast kombinerad med någon av de ovan angivna till att omfatta ett avsnitt i resultaten. Så, istället för att skriva en lång sträng av frågan alternativ för att stänga av flera delar, kan du använda +noall att vända dem alla ut.

Du kan då använda följande inclusive frågan alternativ för att stänga av dem du vill se tillbaka på:

  • +kommentarer: Visa kommentar linjer.
  • +myndighet: Visa myndigheten avsnitt.
  • +extra: Visa ytterligare avsnitt.
  • +statistik: Visa statistik avsnitt.
  • +svara: svara avsnitt.
  • +allt: att Visa allt.

Vi skriver följande för att göra en förfrågan och utesluta kommentera rader:

gräva howtogeek.com +nocomments

Om vi använder +noall fråga alternativet på sin egen, som visas nedan, vi kommer inte att få någon användbar effekt:

gräva howtogeek.com +noall

Vi kan välja att lägga till de sektioner som vi vill se. För att lägga till svaret avsnitt kommer vi att skriva följande:

gräva howtogeek.com +noall +svara

Om vi skriva följande för att slå på +statistik, vi ska också se statistik avsnitt:

gräva howtogeek.com +noall +svara på +statistik

Den +noall +svara kombination används ofta. Du kan lägga till andra avsnitt för att kommandoraden som krävs. Om du vill undvika att skriva +noall +svara på kommandoraden varje gång du använder dig, kan du lägga dem i en konfigurationsfil kallad “.digrc.” Det ligger i din hemkatalog.

Vi skriver följande för att skapa en med echo:

echo “+noall +svara” > $HOME/.digrc

Vi kan sedan skriva följande för att kontrollera dess innehåll:

katt .digrc

Dessa två alternativ kommer nu att tillämpas på alla nya användningsområden för dig, som visas nedan:

gräva ubuntu.org
gräva linux.org
gräva github.com

Detta gräva konfigurationsfilen kommer att vara i användning för de återstående exemplen i den här artikeln.

DNS-Poster

Den information som returneras till din gräva önskemål är hämtade från olika typer av poster som hölls på DNS-servern. Om vi inte ber om något annat, gräva frågor A (adress) rekord. Följande är de typer av register som oftast används med dig:

  • En Post: Länkar domännamnet till en IP version 4-adress.
  • MX-Post: e-Post pekare direkt e-post som skickas till domäner till rätt e-postserver.
  • NS-Post: namnserverposter delegera en domän eller underdomän) till en uppsättning av DNS-servrar.
  • TXT-Post: Sms: a poster lagra text-baserad information om den domän. Normalt, de kan användas för att undertrycka falska eller förfalskade e-post.
  • SOA-Post: Start of authority records kan hålla en hel del information om domänen. Här kan du hitta den primära namnservern, ansvarig part, en tidsstämpel för förändringar, frekvensen av zonen uppdateras, och en serie av tidsfrister för försök och överger.
  • TTL: Tid att leva är det en inställning för varje DNS-post som anger hur lång tid en DNS-föregångare server är tillåtet att cache varje DNS-fråga. När tiden löper ut aktiveras den data måste uppdateras för efterföljande begäranden.
  • ALLA: Detta säger gräva tillbaka varje typ av DNS-post som det kan.

Ange En posttyp inte ändra standardinställningen, som är att söka på adressen post och få IP-adressen, som visas nedan:

gräva redhat.com En

För att söka i e-post pekare använder vi följande MX-flaggan:

gräva yahoo.com MX

Namnet server flagga returnerar följande namn av rot-namnservrar är förknippade med top-level domain:

gräva fedora.com IK

Att fråga start of authority record, vi typ följande SOA flagg:

gräva manjaro.com SOA

TTL-flaggan kommer att visa oss tid att leva för data i DNS-serverns cache. Om vi gör en rad önskemål, ser vi tid att leva minska till ingenting, och sedan hoppa tillbaka till sitt startvärde.

Vi skriver följande:

gräva usa.gov TTL

För att se text-register, vi typ TX flagg:

gräva usa.gov TXT

Ange DNS-Server

Om du vill använda en viss DNS-server för din begäran, kan du använda tecknet (@) för att passera den för att gräva som ett kommando parameter.

Med standard-DNS-server (se nedan), gräva referenser lokala caching stub resolver på 127.0.0.53.

gräva usa.gov +statistik

Nu kan vi skriva följande för att kunna använda Google public DNS-server på 8.8.8.8:

gräva @8.8.8.8 usa.gov +statistik

Med gräva med Flera Domäner

Vi kan skicka flera domäner för att gräva på kommandoraden, som visas nedan:

gräva ubuntu.org fedora.org manjaro.com

Om du regelbundet kontrollera en uppsättning domäner kan du lagra dem i en text-fil och skicka den till dig. Alla domäner i den filen kommer att kontrolleras i sin tur.

Våra filen heter “domains.txt.” Vi kommer att använda cat för att visa dess innehåll, och sedan skicka det till att gräva med -f (fil) alternativet. Vi skriver följande:

katt domains.txt
gräv-f domains.txt

Omvänd DNS-Uppslagningar

Om du har en IP-adress och vill veta om det går, kan du prova en omvänd DNS-sökning. Om den beslutar att en server är registrerade med en DNS-server, som du skulle kunna ta reda på sin domän.

Om du kan beror på närvaron av en PTR (pekare post). PTRs lösa en IP-adress till ett fullständigt kvalificerat domännamn. Men eftersom dessa inte är obligatoriska, de är inte alltid finns på en domän.

Låt oss se om vi kan hitta ut där IP-adress 209.51.188.148 tar oss. Vi skriver följande, med-x (reverse lookup) alternativ:

gräv-x 209.51.188.148

Presto! IP-adressen beslutar gnu.org.

Eftersom en PTR är en DNS-post, och vi vet att gräva kan begära angivna DNS-poster, kan vi inte bara be gräva för att hämta PTR för oss? Ja, vi kan, men det tar lite mer arbete.

Vi har för att tillhandahålla IP-adress i omvänd ordning och tack .i-postadress.arpa på slutet, som visas nedan:

gräva ptr 148.188.51.209.i-postadress.arpa

Vi får samma resultat, det tog bara lite mer ansträngning.

Kan Du gräva?

Vi alla använder internet dagligen, och vetgiriga har ofta undrat hur det magiska som händer när vi skriver namnet på en webbplats i en webbläsare. Med dig, kan du utforska de processer av nätverk trolleri.

LÄS NÄSTA

  • “Hur att Spela Lokal Multiplayer Spel Online med Ånga Avlägsna Spela Tillsammans
  • “Hur man Skriver en Apple II BASIC-Program i Din Webbläsare
  • “Varför Ska Du Köpa 2020 MacBook Air
  • “Hur Fixar Tangentbordet för att Skriva Siffror Istället för Bokstäver
  • “Hur man Bygger en Egen Cloud File Sync med Nextcloud