Hoe kan ik ALLE DNS-records weergeven?

Is er een manier waarop ik ALLE DNS-records voor een domein kan weergeven?

Ik weet van dingen als graven en nslookup, maar ze gaan maar zo ver. Als ik bijvoorbeeld een subdomein A-record heb als

test A somedomain.co.uk

dan tenzij ik er specifiek om vraag, bijv.

dig any test.somedomain.co.uk

Ik kan het niet zien.

Is er een manier (anders dan naar de records te kijken door naar de DNS-manager te gaan) om precies te zien wat alle DNS-records zijn?


Antwoord 1, autoriteit 100%

Als u een zoekopdracht uitvoert voor ANY, krijgt u een lijst met alle records op dat niveau, maar niet daaronder.

# try this
dig google.com any

Dit kan A-records, TXT-records, NS-records, MX-records, enz. retourneren als de domeinnaam exact ‘google.com’ is. Er worden echter geen onderliggende records geretourneerd (bijv. www.google.com). Om precies te zijn, u KAN deze records krijgen als ze bestaan. De nameserver hoeft deze records niet terug te sturen als hij ervoor kiest dit niet te doen (bijvoorbeeld om de omvang van de respons te verkleinen).

Een AXFR is een zoneoverdracht en is waarschijnlijk wat u wilt. Deze zijn echter meestal beperkt en niet beschikbaar tenzij u de zone beheert. Meestal voert u een zoneoverdracht rechtstreeks uit vanaf de gezaghebbende server (de @ns1.google.com hieronder) en vaak vanaf een naamserver die mogelijk niet wordt gepubliceerd (een stealth-naamserver).

# This will return "Transfer failed"
dig @ns1.google.com google.com axfr

Als je controle hebt over de zone, kun je deze instellen om overdrachten te krijgen die zijn beveiligd met een TSIG-sleutel. Dit is een gedeeld geheim dat de client naar de server kan sturen om de overdracht te autoriseren.


Antwoord 2, autoriteit 16%

Ik heb het antwoord van Joshverbeterd. Ik heb gemerkt dat digalleen items toont die al aanwezig zijn in de cache van de opgevraagde naamserver, dus het is beter om een gezaghebbende naamserver uit de SOA te halen (in plaats van te vertrouwen op de standaard naamserver). Ik heb ook het filteren van wildcard-IP’s uitgeschakeld omdat ik meestal meer geïnteresseerd ben in de juistheid van de instellingen.

Het nieuwe script gebruikt een argument -xvoor uitgebreide uitvoer en een argument -s NSom een specifieke naamserver te kiezen: dig -x example.com

#!/bin/bash
set -e; set -u
COMMON_SUBDOMAINS="www mail mx a.mx smtp pop imap blog en ftp ssh login"
EXTENDED=""
while :; do case "$1" in
  --) shift; break ;;
  -x) EXTENDED=y; shift ;;
  -s) NS="$2"; shift 2 ;;
  *) break ;;
esac; done
DOM="$1"; shift
TYPE="${1:-any}"
test "${NS:- }" || NS=$(dig +short  SOA "$DOM" | awk '{print $1}')
test "$NS" && NS="@$NS"
if test "$EXTENDED"; then
  dig +nocmd $NS "$DOM" +noall +answer "$TYPE"
  wild_ips=$(dig +short "$NS" "*.$DOM" "$TYPE" | tr '\n' '|')
  wild_ips="${wild_ips%|}"
  for sub in $COMMON_SUBDOMAINS; do
    dig +nocmd $NS "$sub.$DOM" +noall +answer "$TYPE"
  done | cat  #grep -vE "${wild_ips}"
  dig +nocmd $NS "*.$DOM" +noall +answer "$TYPE"
else
  dig +nocmd $NS "$DOM" +noall +answer "$TYPE"
fi

Antwoord 3, autoriteit 9%

host -awerkt goed, vergelijkbaar met dig any.

EG:

$ host -a google.com
Trying "google.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10403
;; flags: qr rd ra; QUERY: 1, ANSWER: 18, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;google.com.            IN  ANY
;; ANSWER SECTION:
google.com.     1165    IN  TXT "v=spf1 include:_spf.google.com ip4:216.73.93.70/31 ip4:216.73.93.72/31 ~all"
google.com.     53965   IN  SOA ns1.google.com. dns-admin.google.com. 2014112500 7200 1800 1209600 300
google.com.     231 IN  A   173.194.115.73
google.com.     231 IN  A   173.194.115.78
google.com.     231 IN  A   173.194.115.64
google.com.     231 IN  A   173.194.115.65
google.com.     231 IN  A   173.194.115.66
google.com.     231 IN  A   173.194.115.67
google.com.     231 IN  A   173.194.115.68
google.com.     231 IN  A   173.194.115.69
google.com.     231 IN  A   173.194.115.70
google.com.     231 IN  A   173.194.115.71
google.com.     231 IN  A   173.194.115.72
google.com.     128 IN  AAAA    2607:f8b0:4000:809::1001
google.com.     40766   IN  NS  ns3.google.com.
google.com.     40766   IN  NS  ns4.google.com.
google.com.     40766   IN  NS  ns1.google.com.
google.com.     40766   IN  NS  ns2.google.com.

Antwoord 4, Autoriteit 9%

Bij afwezigheid van de mogelijkheid om zone transfers te doen, schreef ik dit kleine bash-script, dg:

#!/bin/bash
COMMON_SUBDOMAINS=(www mail smtp pop imap blog en ftp ssh login)
if [[ "$2" == "x" ]]; then
    dig +nocmd "$1" +noall +answer "${3:-any}"
    wild_ips="$(dig +short "*.$1" "${3:-any}" | tr '\n' '|')"
    wild_ips="${wild_ips%|}"
    for sub in "${COMMON_SUBDOMAINS[@]}"; do
        dig +nocmd "$sub.$1" +noall +answer "${3:-any}"
    done | grep -vE "${wild_ips}"
    dig +nocmd "*.$1" +noall +answer "${3:-any}"
else
    dig +nocmd "$1" +noall +answer "${2:-any}"
fi

Nu gebruik ik dg example.comom een ​​mooie, schone lijst van DNS-records of dg example.com xom een ​​stel andere populaire subdomeinen op te nemen.

grep -vE "${wild_ips}"filtert records die het resultaat kunnen zijn van een wildcard DNS-vermelding zoals * 10800 IN A 1.38.216.82. Anders zou een invoer met jokertekens ervoor zorgen dat het lijkt alsof er records zijn voor elke $COMMON_SUBDOMAN.

Opmerking: dit is afhankelijk van ANY-query’s, die geblokkeerd door sommige DNS-providers zoals CloudFlare.


Antwoord 5, autoriteit 6%

  1. Een zoneoverdracht is de enige manier om er zeker van te zijn dat je alle subdomeinrecords hebt. Als de DNS correct is geconfigureerd, zou u normaal gesproken geen externe zoneoverdracht moeten kunnen uitvoeren.

  2. Het scans.io-project heeft een database met DNS-records die kunnen worden gedownload en doorzocht op subdomeinen. Hiervoor moet u de 87 GB aan DNS-gegevens downloaden. U kunt ook online naar de gegevens zoeken op https: //hackertarget.com/find-dns-host-records/


Antwoord 6, autoriteit 6%

Voor Windows:

Misschien vindt u het nodig om de status van de DNS-records van uw domein te controleren, of de naamservers te controleren om te zien welke records de servers ophalen.

  1. Start de Windows-opdrachtprompt door naar Start > Opdrachtprompt of via Run > CMD.

  2. Typ NSLOOKUP en druk op Enter. De standaardserver is ingesteld op uw lokale DNS, het adres is uw lokale IP.

  3. Stel het DNS-recordtype in dat u wilt opzoeken door set type=##te typen, waarbij ## het recordtype is, en druk vervolgens op Enter. U kunt ANY, A, AAAA, A+AAAA, CNAME, MX, NS, PTR, SOA of SRV als recordtype gebruiken.

  4. Voer nu de domeinnaam in die u wilt opvragen en druk op Enter.. In dit voorbeeld gebruiken we Managed.com.

  5. NSLOOKUP retourneert nu de recordvermeldingen voor het domein dat u hebt ingevoerd.

  6. U kunt ook de naamservers die u opvraagt wijzigen. Dit is handig als u de records controleert voordat DNS volledig is gepropageerd. Om de naamserver type server [naamserver] te wijzigen. Vervang [nameserver] door de Name Servers die je wilt gebruiken. In dit voorbeeld stellen we deze in als NSA.managed.com.

  7. Na wijziging, wijzig indien nodig het type zoekopdracht (stap 3) en voer vervolgens een nieuw domein in (stap 4.)

Voor Linux:

1) Controleer DNS-records met Dig Command
Dig staat voor domain information groper en is een flexibele tool voor het ondervragen van DNS-naamservers. Het voert DNS-zoekopdrachten uit en geeft de antwoorden weer die worden geretourneerd door de naamserver(s) die zijn opgevraagd. De meeste DNS-beheerders gebruiken dig om DNS-problemen op te lossen vanwege de flexibiliteit, het gebruiksgemak en de duidelijkheid van de uitvoer. Andere zoekhulpmiddelen hebben doorgaans minder functionaliteit dan graven.

2) Controleer DNS-records met NSlookup-opdracht
Nslookup is een programma om internetdomeinnaamservers te doorzoeken. Nslookup heeft twee modi, interactief en niet-interactief.

In de interactieve modus kan de gebruiker naamservers opvragen voor informatie over verschillende hosts en domeinen of een lijst met hosts in een domein afdrukken.

De niet-interactieve modus wordt gebruikt om alleen de naam en gevraagde informatie voor een host of domein af te drukken. Het is een netwerkbeheertool waarmee ze DNS-gerelateerde problemen kunnen controleren en oplossen.

3) Controleer DNS-records met behulp van hostopdracht
host is een eenvoudig hulpprogramma voor het uitvoeren van DNS-lookups. Het wordt normaal gesproken gebruikt om namen om te zetten naar IP-adressen en vice versa. Als er geen argumenten of opties worden gegeven, drukt de host een korte samenvatting af van de argumenten en opties op de opdrachtregel.


Antwoord 7, autoriteit 5%

Wat u wilt, wordt een zoneoverdrachtgenoemd. U kunt een zoneoverdracht aanvragen met dig -t axfr.

Een zoneis een domein en alle domeinen eronder die niet zijn gedelegeerd aan een andere server.

Houd er rekening mee dat zoneoverdrachten niet altijd worden ondersteund. Ze worden niet gebruikt bij normaal opzoeken, alleen bij het repliceren van DNS-gegevens tussen servers; maar er zijn andere protocollen die daarvoor kunnen worden gebruikt (zoals rsync over ssh), er kan een veiligheidsrisico zijn door het vrijgeven van namen, en reacties op zoneoverdracht kosten meer om te genereren en te verzenden dan de gebruikelijke DNS-lookups.


Antwoord 8, autoriteit 2%

Veel DNS-servers weigeren ‘ELKE’ zoekopdrachten. Dus de enige manier is om voor elk type afzonderlijk te zoeken. Gelukkig zijn er sites die dit eenvoudiger maken. https://www.nslookup.iotoont bijvoorbeeld standaard de meest populaire recordtypen en heeft ondersteuning voor alle bestaande recordtypen.


Antwoord 9

Er is geen gemakkelijke manier om alle DNS-records voor een domein in één keer op te halen.
U kunt alleen bepaalde records bekijken, als u bijvoorbeeld een A-record voor een bepaald domein wilt zien, kunt u het commando gebruiken: graaf een (type record) domain.com. Dit is hetzelfde voor alle andere type records die u voor dat domein wilt zien.

Als u niet bekend bent met de opdrachtregelinterface, kunt u ook een site zoals mxtoolbox.com gebruiken. Wat een erg handig hulpmiddel is om records van een domein te verkrijgen.

Ik hoop dat dit je vraag beantwoordt.


Antwoord 10

dig @8.8.8.8 example.domain any

zal alle DNS-records weergeven. Hier is 8.8.8.8de DNS van Google.

Other episodes