Utforska DNS med `host`-kommandot
Kommandot `host` är ett smidigt verktyg för kommandoraden, perfekt för att undersöka DNS-information.
Inom säkerhetsforskning och etisk hacking är DNS-analys ett viktigt första steg för att samla in information om ett mål. Det handlar om att begära olika DNS-poster från en domännamnsserver, såsom serverinformation, IP-adresser, e-postserverinställningar, TTL-värden och mycket mer.
Denna DNS-information kan ge angripare insikt i interna nätverksstrukturer.
Även om det finns många onlineverktyg för DNS-analys, kan man enkelt utföra grundläggande uppslagningar direkt från kommandoraden med hjälp av `host`-kommandot.
I den här artikeln ska vi gå igenom praktiska exempel på hur du kan använda `host` för att inhämta DNS-detaljer.
Låt oss börja utforska!
Installation av `host`
Ibland är inte `host` förinstallerat på nya system. Om så är fallet måste du installera det manuellt. Processen är enkel och snabb.
De flesta DNS-relaterade verktyg, inklusive `nslookup`, `dig` och `host`, finns i paketet `bind-utils`. Du kan installera det med följande kommando i din terminal:
sudo apt-get install dnsutils -y
Kommandot `host` fungerar både på macOS och Linux.
Grundläggande användning av `host`
Syntaxen för `host`-kommandot är ganska enkel. När du kör `host` utan några argument visas en översikt över kommandots syntax och tillgängliga argument, tillsammans med en kort beskrivning av varje argument.
Exempel på utdata:
Användning: host [-aCdilrTvVw] [-c class] [-N ndots] [-t type] [-W time] [-R number] [-m flag] [-p port] värdnamn [server] -a motsvarar -v -t ANY -A liknar -a men utesluter RRSIG, NSEC, NSEC3 -c anger frågeklass för icke-IN-data -C jämför SOA-poster på auktoritära namnservrar -d motsvarar -v -l listar alla värdar i en domän med AXFR -m ställer in minnesfelsökningsflagga (trace|record|usage) -N ändrar antalet punkter som tillåts innan rotsökning utförs -p anger porten på servern att fråga -r inaktiverar rekursiv bearbetning -R anger antalet försök för UDP-paket -s en SERVFAIL-respons ska stoppa frågan -t anger frågetypen -T aktiverar TCP/IP-läge -U aktiverar UDP-läge -v aktiverar utförlig utdata -V skriver ut versionsnummer och avslutar -w anger att vänta för alltid på ett svar -W anger hur länge man ska vänta på ett svar -4 använd endast IPv4-frågetransport -6 använd endast IPv6-frågetransport
Hitta IP-adressen för en domän
För att hitta IP-adressen för en specifik domän, ange domännamnet som ett argument efter `host`-kommandot.
host måldomän
Exempel på utdata:
host adminvista.com.com adminvista.com.com har adress 104.27.118.115 adminvista.com.com har adress 104.27.119.115 adminvista.com.com har IPv6-adress 2606:4700:20::681b:7673 adminvista.com.com har IPv6-adress 2606:4700:20::681b:7773 adminvista.com.com e-post hanteras av 1 aspmx.l.google.com. adminvista.com.com e-post hanteras av 5 alt1.aspmx.l.google.com. adminvista.com.com e-post hanteras av 5 alt2.aspmx.l.google.com. adminvista.com.com e-post hanteras av 10 alt3.aspmx.l.google.com. adminvista.com.com e-post hanteras av 10 alt4.aspmx.l.google.com.
För en mer detaljerad uppslagning, använd flaggalternativet `-a` eller `-v`.
Exempel på utdata:
host -a adminvista.com.com Försöker med "adminvista.com.com" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24690 ;; flaggor: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; FRÅGE SEKTION: ;adminvista.com.com. IN ANY ;; SVARS SEKTION: adminvista.com.com. 3789 IN HINFO "RFC8482" "" adminvista.com.com. 3789 IN RRSIG HINFO 13 2 3789 20220307065004 20220305045004 34505 adminvista.com.com. HW0Lfr5HazPMaACSBHmFqs94usKUljX+kONW/8Q2jwQ1QoAO9DEMjwDX rIQKODGtGnEizj2SzBF98mC2uQr7hQ== Mottog 161 byte från 192.168.1.1#53 på 64 ms
Alternativet `-a` ger dig all tillgänglig information om en domän, inklusive zoninformation. Du kan även se vilken lokal DNS-server som används för uppslagningen.
Utför omvänd sökning
För att utföra en omvänd DNS-sökning, mata in IP-adressen efter `host`-kommandot. Detta ger dig värdnamnet eller domännamnet som är kopplat till IP-adressen.
Exempel:
host mål-ip-adress
Exempel på utdata:
host dnsleaktest.com dnsleaktest.com har adress 23.239.16.110 host 23.239.16.110 110.16.239.23.in-addr.arpa domännamnpekare li685-110.members.linode.com.
Om du kopierar och klistrar in pekarens adress (li685-110.members.linode.com.) i en webbläsare, kommer du att omdirigeras till den relaterade webbplatsen.
Hitta domänens namnservrar
Använd alternativet `-t` följt av `ns` för att visa domänens namnservrar. Detta anger att du vill hämta namnserverposterna (NS).
NS-posten talar om vilka auktoritära namnservrar som används för domänen.
host -t ns måldomän
Exempel på utdata:
host -t ns adminvista.com.com adminvista.com.com namnserver olga.ns.cloudflare.com. adminvista.com.com namnserver todd.ns.cloudflare.com.
Fråga en specifik domännamnserver
Om du vill fråga en specifik auktoritativ namnserver, använd följande syntax:
host måldomän [namnserver]
Exempel på utdata:
host adminvista.com.com olga.ns.cloudflare.com. Använder domänserver: Namn: olga.ns.cloudflare.com. Adress: 173.245.58.137#53 Alias: adminvista.com.com har adress 104.27.118.115 adminvista.com.com har adress 104.27.119.115 adminvista.com.com har IPv6-adress 2606:4700:20::681b:7773 adminvista.com.com har IPv6-adress 2606:4700:20::681b:7673 adminvista.com.com e-post hanteras av 1 aspmx.l.google.com. adminvista.com.com e-post hanteras av 5 alt1.aspmx.l.google.com. adminvista.com.com e-post hanteras av 5 alt2.aspmx.l.google.com. adminvista.com.com e-post hanteras av 10 alt3.aspmx.l.google.com. adminvista.com.com e-post hanteras av 10 alt4.aspmx.l.google.com.
Hitta domänens MX-poster
För att lista en domäns MX-poster (Mail Exchanger), använd följande kommando:
host -t MX måldomän
Exempel på utdata:
host -t mx adminvista.com.com adminvista.com.com e-post hanteras av 1 aspmx.l.google.com. adminvista.com.com e-post hanteras av 5 alt1.aspmx.l.google.com. adminvista.com.com e-post hanteras av 5 alt2.aspmx.l.google.com. adminvista.com.com e-post hanteras av 10 alt3.aspmx.l.google.com. adminvista.com.com e-post hanteras av 10 alt4.aspmx.l.google.com.
Dessa MX-poster styr e-postleveransen till en e-postserver.
Hitta domänens TXT-poster
För att se en domäns TXT-poster (som innehåller mänskligt läsbar information), använd kommandot:
host -t txt måldomän
Exempel på utdata:
host -t txt adminvista.com.com adminvista.com.com beskrivande text "google-site-verification=MRSwa454qay1S6pwwixzoiZl08kfJfkhiQIslhok3-A" adminvista.com.com beskrivande text "google-site-verification=7QXbgb492Y5NVyWzSAgAScfUV3XIAGTKKZfdpCvcaGM" adminvista.com.com beskrivande text "yandex-verification: 42f25bad396e79f5" adminvista.com.com beskrivande text "v=spf1 include:_spf.google.com include:mailgun.org include:zcsend.net ~all" adminvista.com.com beskrivande text "ahrefs-site-verification_8eefbd2fe43a8728b6fd14a393e2aff77b671e41615d2c1c6fc365ec33a4d6d0" adminvista.com.com beskrivande text "ca3-7fbfaa573ba248ddb17a618e5b46ca01"
Hitta domänens SOA-post
För att se domänens SOA-post (Start of Authority), använd följande kommando:
host -t soa måldomän
Exempel på utdata:
host -t soa adminvista.com.com adminvista.com.com har SOA-post olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600
Använd följande kommando för att jämföra SOA-poster från alla auktoritära namnservrar för en viss zon:
host -C måldomän
Exempel på utdata:
host -C adminvista.com.com Namnserver 173.245.58.137: adminvista.com.com har SOA-post olga.ns.cloudflare.com. dns.cloudflare.com. 2271966690 10000 2400 604800 3600
Hitta domänens CNAME-poster
CNAME står för Canonical Name record. Denna DNS-post används för att omdirigera en domän till en annan, och pekar det ursprungliga domännamnet till ett alias.
För att visa en domäns CNAME-poster, använd följande kommando:
host -t cname måldomän
Exempel på utdata:
host -t cname adminvista.com.com adminvista.com.com har ingen CNAME-post
Om domänen har CNAME-poster, kommer de att visas i resultatet.
Hitta TTL-information för en domän
TTL står för Time to Live. Det är en del av domännamnsservern. TTL-värdet bestäms av den auktoritära namnservern för varje DNS-post.
Enkelt förklarat, refererar TTL till hur länge en DNS-server cachar en post innan den uppdaterar datan. Använd följande kommando för att visa TTL-information för en domän:
host -v -t a måldomän
Exempel på utdata:
host -v -t a adminvista.com.com Försöker med "adminvista.com.com" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2479 ;; flaggor: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; FRÅGE SEKTION: ;adminvista.com.com. IN A ;; SVARS SEKTION: adminvista.com.com. 30 IN A 104.27.119.115 adminvista.com.com. 30 IN A 104.27.118.115 Mottog 63 byte från 192.168.1.1#53 på 60 ms
Sammanfattning
Jag hoppas att denna artikel har hjälpt dig att förstå hur du använder `host`-kommandot för att söka efter DNS-information.
Du kan också vara intresserad av att lära dig mer om gratis onlineverktyg för att kontrollera DNS-poster för domäner.