DNS Abfragen

Posted on: 25. September 2018

Mit verschiedenen DNS und API Abfragen können wir viele Informationen über die DNS Zone und den Domainhalter herausfinden. Dies verwenden wir um die Richtigkeit der Zone zu prüfen und um weitere Informationen zu erhalten.

Hier der Code aus dem Youtube-Video. Die Vorgehensweise und Bemerkungen findest du direkt als Kommentare (#Grün) im Code. So wird er dir ebenfalls in der PowerSHELL ISE angezeigt werden.

——————————————–

# HTTPS Abfragen festlegen            
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12            
            
# DNS Server zum Abfragen            
$DNSServer = "1.1.1.1"            
            
# Key für API Abfrage            
$apiKey = "PKtksskuL6vF9lDCbfbzJJ3rQoRQUXG1" # Registrieren unter https://jsonwhois.io            
            
# Domain/Domains zum Abfragen            
$Domains = "germanpowershell.com","immoscout24.ch" # ohne http und www            
            
# Array für Ausgabe            
$AllDomains = @()            
            
foreach ($dom in $Domains) {            
$whois = Invoke-RestMethod  -Uri "https://api.jsonwhois.io/whois/domain?key=$apiKey&domain=$dom"            
$geo = Invoke-RestMethod -Uri ("https://api.jsonwhois.io/geo?key=$apiKey&ip_address=" + (Resolve-DnsName -Server $DNSServer -Name $dom -Type A).ipaddress)            
$verfuegbar = Invoke-RestMethod -Uri "https://api.jsonwhois.io/availability?key=$apiKey&domain=$dom"            
$temp = New-Object psobject            
$temp | Add-Member -NotePropertyName "Domain" -NotePropertyValue $dom            
$temp | Add-Member -NotePropertyName "A" -NotePropertyValue ((Resolve-DnsName -Server $DNSServer -Name $dom -Type A).ipaddress -join ",")            
$temp | Add-Member -NotePropertyName "NameServer" -NotePropertyValue ((Resolve-DnsName -Server $DNSServer -Name $dom -Type NS).NameHost -join ",")            
$temp | Add-Member -NotePropertyName "MX" -NotePropertyValue ((Resolve-DnsName -Server $DNSServer -Name $dom -Type MX | select @{Label="MX";Expression={$_.NameExchange + "(" + $_.Preference.toString() + ")"}}).mx -join ",")            
$temp | Add-Member -NotePropertyName "TTL" -NotePropertyValue ((Resolve-DnsName -Server $DNSServer -Name $dom -Type SOA).ttl)            
$temp | Add-Member -NotePropertyName "SerialNumber" -NotePropertyValue ((Resolve-DnsName -Server $DNSServer -Name $dom -Type SOA).SerialNumber)            
$temp | Add-Member -NotePropertyName "TXT" -NotePropertyValue ((Resolve-DnsName -Server $DNSServer -Name $dom -Type TXT).Strings -join ",")            
$temp | Add-Member -NotePropertyName "Verfuegbar" -NotePropertyValue $verfuegbar.is_available            
$temp | Add-Member -NotePropertyName "Land" -NotePropertyValue $geo.country_name            
$temp | Add-Member -NotePropertyName "Stadt" -NotePropertyValue $geo.city            
$temp | Add-Member -NotePropertyName "Erstellt" -NotePropertyValue $whois.result.created            
$temp | Add-Member -NotePropertyName "Registrar" -NotePropertyValue $whois.result.registrar.name            
$temp | Add-Member -NotePropertyName "Besitzer" -NotePropertyValue $whois.result.contacts.owner.name            
$temp | Add-Member -NotePropertyName "TechKontakt" -NotePropertyValue $whois.result.contacts.tech.name            
$temp | Add-Member -NotePropertyName "Status" -NotePropertyValue $whois.result.status            
$AllDomains += $temp            
}            
            
# Ausgabe als Out-GridView            
$AllDomains | Out-GridView

——————————————–

Solltest du irgendwelche Fragen haben, dann kannst du diese gerne entweder hier im Blog oder direkt unter dem YouTube Video stellen. Ich gebe alles, deine Fragen zeitnahe zu beantworten oder ein entsprechendes Video darüber zu machen.

Gerade die Grundlagen-Videos werde ich nicht mit viel Text ausschmücken. Bei mir ist jeweils jede Code-Zeile direkt im Code Kommentiert (#Grün). Du kannst den Code direkt mit in dein Script kopieren und hast so eine gute Orientierungshilfe, sobald du die Scripts auf deine Bedürfnisse anpasst.
Ich erstelle und veröffentliche sämtliche Videos kostenlos und blende auch keine Werbung ein, dies will ich auch so beibehalten. Da das vermittelte Wissen aber in teuren Kursen erlangt werden kann, ist eine kleine Spende hin und wieder sicher keine schlechte Gegenleistung.