Het gebruik van de graven Opdracht op Linux

0
55
Fatmawati Achmad Zaenuri/Shutterstock

De Linux-dig commando stelt u in staat om DNS-servers en het uitvoeren van zoekopdrachten met DNS. U kunt ook het domein van een IP-adres gaat terug op. Wij laten u zien hoe!

Hoe het dig Commando Werkt

Mensen maken gebruik van de Linux-dig opdracht query Domain Name System (DNS) – servers. graven is een acroniem voor het Domein Informatie Groper. Met graven, kunt u de DNS-servers voor meer informatie over de verschillende DNS records, met inbegrip van adressen, e-mail uitwisseling, naam-servers en gerelateerde informatie. Het was bedoeld als een hulpmiddel voor de diagnose DNS-problemen. Echter, je kunt het gebruiken om rond te porren en leer meer over de DNS is een van de centrale systemen die ervoor zorgen dat het internet het routeren van het verkeer.

Het internet maakt gebruik van internet protocol (IP) – adressen te identificeren “locaties” rond het web, maar de mensen die gebruik maken van domeinnamen. Wanneer u typt een domeinnaam in een applicatie, zoals een webbrowser of een SSH-client, iets heeft om te vertalen van de domeinnaam aan het IP-adres. Dit is waar het Domein Naam Systeem in komt.

Wanneer u een domeinnaam met elk internet-verbonden-programma, lokale router niet kunt oplossen (tenzij het in de cache van een vorige aanvraag). Dus, is uw router query ‘ s uw Internet Service Provider (ISP) DNS-server, of een andere die u hebt geconfigureerd in uw systeem te gebruiken. Dit zijn de zogenaamde DNS-voorloper-servers.

Als de DNS-server onlangs kreeg hetzelfde verzoek van iemand anders op dezelfde computer, het antwoord zou kunnen worden in de cache. Als dat het geval is, dan stuurt de informatie terug naar uw programma.

Als de DNS-voorloper van de server niet kan vinden het domein in zijn cache, contacten een DNS-root name server. Een root server zal niet houden van de informatie die nodig is om domeinnamen naar IP-adressen, maar het houdt lijsten van servers die u kunnen helpen met uw aanvraag.

De root-server ziet er op het top-niveau domein waarvan de naam van uw domein behoort, zoals .COM, .ORG .CO.Verenigd koninkrijk, enzovoort. Deze stuurt vervolgens een lijst van de top-level domain servers die ingang van die soorten domeinen terug naar de DNS-voorloper van de server. De DNS-voorloper van de server kan dan zijn maken verzoek om nog een keer een top-level domain server.

De top-level domain server stuurt de gegevens van de authoritative name server (waar de details van het domein worden opgeslagen) terug naar de DNS-voorloper van de server. De DNS server-query ‘ s de gezaghebbende naam van de server die als host van de zone van het domein dat u oorspronkelijk hebt ingevoerd in het programma. De authoritative name server stuurt het IP-adres terug naar de DNS-server, die op zijn beurt stuurt het naar u terug.

Het installeren van graven

graven reeds geïnstalleerd was op onze Ubuntu 18.04 en Fedora 30 computers. Echter, we hadden om het te installeren op de Manjaro 18.04 computer met de volgende opdracht:

sudo pacman -Sy bind-tools

Aan de Slag met graven

In ons eerste voorbeeld, zullen we de terugkeer van de IP-adressen gekoppeld aan een domeinnaam. Vaak zijn er meerdere IP-adressen worden gekoppeld aan een enkele domeinnaam. Dit gebeurt vaak als load balancing wordt gebruikt, bijvoorbeeld.

We maken gebruik van de +korte query-optie, zoals hieronder weergegeven, geeft ons een korte reactie:

graven howtogeek.com +kort

Alle IP-adressen worden geassocieerd met de howtogeek.com domein worden weergegeven voor ons. Aan de andere kant van het spectrum, als we geen gebruik maken van de +korte query-optie, de output is vrij uitgebreid.

Dus, wij typ de volgende pijp door minder:

graven howtogeek.com | minder

De output is weergegeven in minder, zoals hieronder weergegeven.

Hier is de volledige lijst:

; <<>> Graven 9.11.3-1ubuntu1.11-Ubuntu <<>> howtogeek.com
;; globale opties: +cmd
;; Kreeg antwoord:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12017
;; flags: qr rd ra; QUERY: 1, ANTWOORD: 4, AUTHORITY: 0, EXTRA: 1

;; OPT PSEUDOSECTION:
; EDNS: versie: 0, vlaggen:; udp: 65494
;; VRAAG SECTIE:
;howtogeek.com. IN EEN

;; ANTWOORD SECTIE:
howtogeek.com. 3551 IN EEN 151.101.194.217
howtogeek.com. 3551 IN EEN 151.101.130.217
howtogeek.com. 3551 IN EEN 151.101.66.217
howtogeek.com. 3551 IN EEN 151.101.2.217

;; Query time: 0 msec.
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WANNEER: Sun Feb 22 07:44:37 CEST 2020
;; MSG FORMAAT rcvd: 106

Laten we het ontleden van dat stuk voor stuk.

Header

Laten we eerst een kijkje nemen op wij hebben in de Header:

; <<>> Graven 9.11.3-1ubuntu1.11-Ubuntu <<>> howtogeek.com
;; globale opties: +cmd
;; Kreeg antwoord:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12017
;; flags: qr rd ra; QUERY: 1, ANTWOORD: 4, AUTHORITY: 0, EXTRA: 1

Nu, hier is wat dat allemaal betekent:

  • Eerste lijn: De versie van graven en het domein dat werd bevraagd.
  • Globale opties: Zoals we zullen zien, kunt u gebruik maken van graven tot query ‘ s voor meerdere domeinen tegelijk. Deze regel toont de opties die zijn toegepast op alle van de domein-query ‘ s. In ons simpele voorbeeld, het was gewoon het standaard +cmd (command) optie.
  • Opcode: Query: Dit is het type van de bewerking die werd aangevraagd, die, in dit geval, was een query. Deze waarde kan ook worden iquery voor een inverse query, of een status als je gewoon het testen van de staat van het DNS-systeem.
  • Status: Noerror: Er waren geen fouten en het verzoek op de juiste wijze is opgelost.
  • ID: 12017: Deze willekeurige ID-banden de aanvraag en het antwoord samen.
  • Vlaggen: qr rd ra: Deze staan voor de query, recursie gewenst, en recursie beschikbaar. Recursie is een vorm van een DNS lookup (de andere is iteratief). U kunt ook AA, die staat voor bindend Antwoord, wat betekent dat een Gezaghebbende Naam van de Server die het antwoord.
  • Query: 1: Het aantal query ‘ s in deze sessie, dat was één.
  • Antwoord: 4: Het aantal antwoorden in deze reactie, die vier.
  • Authority: 0: Het aantal antwoorden dat kwam uit een Gezaghebbende naamserver, die was nul in dit geval. De reactie was teruggekeerd uit de cache van een DNS-voorloper van de server. Er zal geen gezaghebbende sectie in de reactie.
  • Extra: 1: Er is een stukje extra informatie. (Vreemd genoeg, niets wordt vermeld, tenzij dit de waarde is van twee of hoger.)

Opt Pseudosection

Vervolgens zien we het volgende in de Opt Pseudosection:

;; OPT PSEUDOSECTION:
; EDNS: versie: 0, vlaggen:; udp: 65494

Laten we breken die naar beneden:

  • EDNS: versie 0: De versie van de Extensie Systeem voor DNS dat wordt gebruikt. EDNS zendt uitgebreide gegevens en vlaggen door de uitbreiding van de omvang van het User Datagram Protocol (UDP) – pakketten. Dit wordt aangeduid met een variabele grootte van de vlag.
  • vlaggen: Geen vlaggen zijn in gebruik.
  • udp: 4096: De UDP-pakket formaat.

Vraag Sectie

In de Vraag sectie, zien we het volgende:

;; VRAAG SECTIE:
;howtogeek.com. IN EEN

Hier is wat dit betekent:

  • howtogeek.com: De naam van het domein dat we opvragen.
  • IN: We maken een internet-klasse query.
  • A: Tenzij we iets anders opgeeft, graven zal een aanvraag van Een (adres) record in de DNS-server.

Antwoord Sectie

Het Antwoord sectie bevat de volgende vier antwoorden die we ontvangen van de DNS-server:

howtogeek.com. 3551 IN EEN 151.101.194.217
howtogeek.com. 3551 IN EEN 151.101.130.217
howtogeek.com. 3551 IN EEN 151.101.66.217
howtogeek.com. 3551 IN EEN 151.101.2.217

Hier is wat deze antwoorden betekenen:

  • 3551: Dit is de TTL (Time to Live), een 32-bits geheel getal, die in het bezit van het tijdsinterval waarvoor een record kan worden opgeslagen. Wanneer het afloopt, moeten de gegevens worden gebruikt in een antwoord op een aanvraag tot het vernieuwd door de DNS-server.
  • IN: We maakten een Internet-klasse query.
  • A: We vroegen om Een record in de DNS-server.

Statistieken

Statistiek is de laatste sectie, en het bevat de volgende informatie:

;; Query time: 0 msec.
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WANNEER: Sun Feb 22 07:44:37 CEST 2020
;; MSG FORMAAT rcvd: 106

Hier is wat we hebben:

  • Het uitvoeren van de Query: 0 msec: De tijd die het duurde om de reactie.
  • SERVER: 127.0.0.53#53(127.0.0.53): Het IP-Adres en poort nummer op van de DNS-server die gereageerd. In dit geval is het wijzen naar de lokale caching stub resolver. Deze DNS-aanvragen doorgestuurd naar welke upstream DNS-servers zijn geconfigureerd. Op de Manajro test computer, het hier vermelde adres stond 8.8.8.8#53, Google ‘ s publieke DNS-service.
  • WANNEER: Sun Feb 22 07:44:37 CEST 2020: Wanneer het verzoek is ingediend.
  • MSG FORMAAT rcvd: 106: De grootte van het bericht ontvangen van de DNS-server.

Selectief

U hoeft geen genoegen te nemen voor de twee uitersten van de lippen stijf op elkaar en garrulous. Het dig commando stelt u in staat om selectief opnemen of uitsluiten van delen van de resultaten.

De volgende query-opties zal verwijderen van dat gedeelte van de resultaten:

  • +nocomments: Don ‘ t show reactie lijnen.
  • +noauthority: Don ‘ t show de autoriteit sectie.
  • +noadditional: niet de extra sectie.
  • +nostats: niet tonen van het statistieken gedeelte.
  • +noanswer: tonen niet het antwoord sectie.
  • +noall: niet iets te zien!

De +noall query-optie wordt meestal gecombineerd met een van de hierboven een afdeling in de resultaten. Dus, in plaats van het typen van een lange reeks van query-opties uit te schakelen meerdere secties, kunt u gebruik maken van +noall om ze allemaal uit te schakelen.

U kunt dan gebruik maken van de volgende inclusive query opties in te schakelen die u wilt zien terug op:

  • +reacties: Toon reactie lijnen.
  • +autoriteit: Toon de autoriteit sectie.
  • +extra: de extra sectie.
  • +stats: Toon het statistieken gedeelte.
  • +antwoord: Toon het antwoord sectie.
  • +all: alles laten Zien.

Wij typ het volgende om uw aanvraag uit te sluiten en de commentaar regels:

graven howtogeek.com +nocomments

Als we gebruik maken van de +noall query-optie op zijn eigen, zoals hieronder, zijn we niet nuttig vermogen:

graven howtogeek.com +noall

We kunnen selectief toevoegen van de secties die we willen zien. Om het antwoord toe te voegen sectie, typen we het volgende:

graven howtogeek.com +noall +antwoord

Als we typt u het volgende in te schakelen op +stats, we zien ook het gedeelte statistieken:

graven howtogeek.com +noall +antwoord +statistieken

De +noall +antwoord combinatie komt vaak voor. U kunt andere secties toevoegen aan de opdrachtregel, zoals vereist. Als u wilt vermijden typen +noall +antwoord op de commando-regel elke keer dat u gebruik maken van graven, kunt u ze in een configuratie bestand met de naam “.digrc.” Het is gelegen in de home directory.

Wij typ het volgende te maken met de echo:

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

We kunnen typ het volgende om de inhoud ervan te controleren:

de kat .digrc

Deze twee opties zal nu worden toegepast op alle toekomstige gebruikers van de graven, zoals hieronder weergegeven:

graven ubuntu.org
graven linux.org
graven github.com

Deze graven configuratie bestand dat in gebruik is voor de overige voorbeelden in dit artikel.

DNS-Records

De informatie terug naar de graven van de aanvragen wordt getrokken uit verschillende soorten registers op de DNS-server. Tenzij wij vragen voor iets anders, het graven van query ‘ s het Een (adres) opnemen. De volgende zijn de soorten records meestal gebruikt bij graven:

  • Een Record: Links de domeinnaam naar een IP-versie 4) adres.
  • MX-Record: Mail exchange records directe e-mails die worden verzonden naar domeinen naar de juiste mail-server.
  • NS-Record: Naam server records gemachtigde een domein of subdomein) een set van DNS-servers.
  • TXT-Record: Tekst records opslaan van tekst-gebaseerde informatie over het domein. Meestal kunnen ze worden gebruikt voor het onderdrukken van vervalste of vervalste e-mail.
  • SOA Record: Start of authority records kunnen houden een heleboel informatie over het domein. Hier vindt u de primaire name server, de verantwoordelijke partij, een tijdstempel voor veranderingen, de frequentie van de zone wordt vernieuwd, en een reeks van termijnen voor het aantal pogingen en verlaat.
  • TTL: Time to live is een instelling voor elke DNS-record dat aangeeft hoe lang een DNS-voorloper-server is toegestaan om cache elke DNS-query. Wanneer die tijd is verstreken, mogen de gegevens niet worden vernieuwd voor de volgende aanvragen.
  • EEN: Dit vertelt graven om terug te keren elk type DNS-record kan.

Het opgeven van de A-record-type niet wijzigen van de standaard actie is om de query op de adres-record en het verkrijgen van het IP-adres, zoals hieronder weergegeven:

graven redhat.com Een

Query ‘ s op de mail exchange records, gebruiken we de volgende MX-vlag:

graven yahoo.com MX

De server van de naam van de vlag wordt de volgende naam van de root name servers verbonden met het top-level domein:

graven fedora.com NS

Om de zoekopdracht van de start of authority record, typen we de volgende SOA vlag:

graven manjaro.com SOA

De TTL-vlag zal ons de tijd om te leven voor de gegevens in de DNS-server cache. Als we een reeks van verzoeken, zien we de tijd om te leven reduceren tot niets, en spring dan terug naar de beginwaarde.

We typt u het volgende:

graven usa.gov TTL

De tekst-records van het type TX-vlag:

graven usa.gov TXT

Het opgeven van de DNS-Server

Als u gebruik wilt maken van een bepaalde DNS-server voor uw aanvraag, u kunt gebruik maken van het apenstaartje (@) te geven om te graven als een command-line parameter.

Met de standaard-DNS-server (zie hieronder), graven verwijst naar de lokale caching stub resolver op 127.0.0.53.

graven usa.gov +statistieken

Nu typen we het volgende gebruik maken van Google ‘ s publieke DNS-server op 8.8.8.8:

graven @8.8.8.8 usa.gov +statistieken

Met behulp van graven met Meerdere Domeinen

We passeren meerdere domeinen te graven op de opdrachtregel, zoals hieronder weergegeven:

graven ubuntu.org fedora.org manjaro.com

Als u regelmatig een set van domeinen, kunt u ze opslaan in een tekst bestand en pas het op te graven. Alle domeinen in het bestand zullen worden gecontroleerd op hun beurt.

Ons bestand heet “domains.txt.” We gebruiken kat om zijn inhoud te tonen, en dan doorgeven aan het graven met de -f (bestand) optie. We typt u het volgende:

kat domains.txt
dig-f domains.txt

Reverse DNS Lookups

Als u een IP-adres hebt en wilt weten waar het over gaat, kunt u proberen een reverse DNS-lookup. Als het wordt omgezet naar een server geregistreerd bij een DNS-server, kunt u mogelijk vinden van het domein.

Of u kan hangt af van de aanwezigheid van een PTR (pointer record). PTRs het oplossen van een IP-adres aan een volledig gekwalificeerde domein naam. Echter, omdat deze niet verplicht is, zijn ze niet altijd op een domein.

Laten we eens kijken of we kunnen achterhalen waar het IP-adres 209.51.188.148 neemt ons mee. Wij typ de volgende, met behulp van de -x (reverse lookup) optie:

dig-x 209.51.188.148

Presto! Het IP-adres is opgelost gnu.org.

Omdat een PTR is een DNS-record, en we weten graven kan de aanvraag opgegeven DNS-records, kan je dat niet gewoon vragen graven voor het ophalen van de PTR voor ons? Ja, we kunnen, maar het kost wel een beetje meer werk.

Moeten We het IP-adres in omgekeerde volgorde en tack .in-addr.arpa op het einde, zoals hieronder weergegeven:

graven ptr 148.188.51.209.in-addr.arpa

We krijgen hetzelfde resultaat; het duurde gewoon een beetje meer moeite.

Kunt U dig It?

We gebruiken internet dagelijks en onderzoekende geest heb me vaak afgevraagd hoe de magie gebeurt er wanneer wij typ de naam van een website in een browser. Met graven, kunt u verkennen van de processen van het netwerk van de goochelkunst.

LEES VERDER

  • “Hoe om te Spelen Lokale Multiplayer-Games Online met Stoom Extern Samen Spelen
  • “Het Schrijven van een Apple II BASIC-Programma’ s in Uw Web-Browser
  • “De reden waarom Je Moet Kopen van de 2020 MacBook Air
  • “Hoe te Repareren van Je Toetsenbord te Typen Getallen in Plaats van Letters
  • “Hoe te Bouwen van Uw Eigen Cloud bestanden Synchroniseren met Nextcloud