Hallo Leute
Ich habe eine Frage. Wie macht Ihr das? Wie prüft Ihr ob eure selbst erstellten Blocklisten-Einträge noch aktuell sind? Bzw. ob die Domainnamen noch existieren?
Ich bin totaler Laie auf dem Gebiet. Habe aber trotzdem versucht mir ein Werkzeug zu basteln, welches mittels nslookup einen Domainnamen bei mehreren DNS-Servern abfrägt. Da ich kein Programmierer bin habe ich das Tool als Windows-Batch Datei umgesetzt. Es kann aber nur jeweils eine einzige Domainabfrage bearbeiten ![]()
Sollte es irgend jemanden interessieren... hier meine Batch-Datei. Aber bitte nicht auslachen ![]()
ECHO OFF
Title ---- DNS Multi-Test (V1.0.2) ----
CHCP 1252
setlocal enabledelayedexpansion
ECHO ***********************************************************************************
ECHO *** Domainnamen mittels nslookup bei mehreren DNS-Servern abfragen.
ECHO *** getestet unter Windows 10 (1903)
ECHO ***
ECHO *** Erstellt von: Speedy70
ECHO *** Erstellt am: 18.07.2019
ECHO *** Letzte Änderung: 31.07.2019
ECHO ***********************************************************************************
CLS
:START
:: Variablendefinition
SET max=15
:: Eingabevariable
SET domainname=
:: Escape-Zeichen für Farben (mit Note++ erstellt. Tastenkombination: left ALT+027)
SET ESC=e
::Formatierungen
SET RESET=%ESC%[0m
SET BOLD=%ESC%[1m
SET UNDERLINE=%ESC%[4m
SET INVERSE=%ESC%[7m
::Farben Allgemein
SET GRAU=%ESC%[90m
SET HELLROT=%ESC%[91m
SET GRUEN=%ESC%[92m
SET GELB=%ESC%[93m
SET BLAU=%ESC%[94m
SET MAGENTA=%ESC%[95m
SET CYAN=%ESC%[96m
SET WEISS=%ESC%[97m
::Farben für OK und FEHLER und BLOCK
SET OK=%GRUEN%
SET FEHLER=%HELLROT%
SET BLOCK=%CYAN%
:: DNS-Server 1 (lokaler DNS)
SET DNSLOKAL=%CYAN%
SET dns1name=Pi-hole
FOR /F "tokens=2 delims=:" %%i in ('ipconfig /all ^| FIND /i "DNS-Server"') DO SET dns1=%%i
SET dns1=%dns1:~1%
SET erg1=true
:: DNS-Server 2
SET dns2name=Google
SET dns2=8.8.8.8
SET erg2=true
:: DNS-Server 3
SET dns3name=OpenDNS
SET dns3=208.67.222.222
SET erg3=true
:: DNS-Server 4
SET dns4name=DynDNS
SET dns4=216.146.35.35
SET erg4=true
:: DNS-Server 5
SET dns5name=Cloudflare
SET dns5=1.1.1.1
SET erg5=true
:: DNS-Server 6
SET dns6name=Comodo Secure DNS
SET dns6=8.26.56.26
SET erg6=true
:: DNS-Server 7
SET dns7name=AdGuard DNS
SET dns7=176.103.130.130
SET erg7=true
:: DNS-Server 8
SET dns8name=OneDNS
SET dns8=117.50.11.11
SET erg8=true
:: DNS-Server 9
SET dns9name=Level3
SET dns9=209.244.0.3
SET erg9=true
:: DNS-Server 10
SET dns10name=DNSWatch
SET dns10=84.200.69.80
SET erg10=true
:: DNS-Server 11
SET dns11name=SafeDNS
SET dns11=195.46.39.39
SET erg11=true
:: DNS-Server 12
SET dns12name=Quad9
SET dns12=9.9.9.9
SET erg12=true
:: DNS-Server 13
SET dns13name=FreeDNS
SET dns13=37.235.1.174
SET erg13=true
:: DNS-Server 14
SET dns14name=Verisign
SET dns14=64.6.64.6
SET erg14=true
:: DNS-Server 15
SET dns15name=A1-Net
SET dns15=10.156.0.33
SET erg15=true
:: ANFANG =============================================================================
ECHO.
SET /p domainname=hier einen Domainnamen eingeben:
IF '%domainname%' == '' GOTO ENDE
CLS
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns1% ^| FIND /V "Aliases"') DO SET my_dns_result=%%a
CLS && ECHO. && ECHO Vorgang 1 von %max% (%dns1name%)
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns2% ^| FIND /V "Aliases"') DO SET dns2_result=%%a
CLS && ECHO. && ECHO Vorgang 2 von %max% (%dns2name%)
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns3% ^| FIND /V "Aliases"') DO SET dns3_result=%%a
CLS && ECHO. && ECHO Vorgang 3 von %max% (%dns3name%)
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns4% ^| FIND /V "Aliases"') DO SET dns4_result=%%a
CLS && ECHO. && ECHO Vorgang 4 von %max% (%dns4name%)
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns5% ^| FIND /V "Aliases"') DO SET dns5_result=%%a
CLS && ECHO. && ECHO Vorgang 5 von %max% (%dns5name%)
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns6% ^| FIND /V "Aliases"') DO SET dns6_result=%%a
CLS && ECHO. && ECHO Vorgang 6 von %max% (%dns6name%)
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns7% ^| FIND /V "Aliases"') DO SET dns7_result=%%a
CLS && ECHO. && ECHO Vorgang 7 von %max% (%dns7name%)
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns8% ^| FIND /V "Aliases"') DO SET dns8_result=%%a
CLS && ECHO. && ECHO Vorgang 8 von %max% (%dns8name%)
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns9% ^| FIND /V "Aliases"') DO SET dns9_result=%%a
CLS && ECHO. && ECHO Vorgang 9 von %max% (%dns9name%)
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns10% ^| FIND /V "Aliases"') DO SET dns10_result=%%a
CLS && ECHO. && ECHO Vorgang 10 von %max% (%dns10name%)
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns11% ^| FIND /V "Aliases"') DO SET dns11_result=%%a
CLS && ECHO. && ECHO Vorgang 11 von %max% (%dns11name%)
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns12% ^| FIND /V "Aliases"') DO SET dns12_result=%%a
CLS && ECHO. && ECHO Vorgang 12 von %max% (%dns12name%)
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns13% ^| FIND /V "Aliases"') DO SET dns13_result=%%a
CLS && ECHO. && ECHO Vorgang 13 von %max% (%dns13name%)
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns14% ^| FIND /V "Aliases"') DO SET dns14_result=%%a
CLS && ECHO. && ECHO Vorgang 14 von %max% (%dns14name%)
ECHO.
FOR /F "skip=1 tokens=2 delims=: " %%a in ('nslookup %domainname% %dns15% ^| FIND /V "Aliases"') DO SET dns15_result=%%a
CLS && ECHO. && ECHO Vorgang 15 von %max% (%dns15name%)
CLS
ECHO =======================================================================================================
ECHO Domain: %domainname%
ECHO =======================================================================================================
ECHO DNS-Server : Ergebnis:
ECHO =======================================================================================================
REM 192.168.178.23 .............. Pi-hole: (DNS 1)
REM 8.8.8.8 ...................... Google: (DNS 2)
REM 208.67.222.222 .............. OpenDNS: (DNS 3)
REM 216.146.35.35 ................ DynDNS: (DNS 4)
REM 1.1.1.1 .................. Cloudflare: (DNS 5)
REM 8.26.56.26 ........ Comodo Secure DNS: (DNS 6)
REM 176.103.130.130 ......... AdGuard DNS: (DNS 7)
REM 117.50.11.11 ................. OneDNS: (DNS 8)
REM 209.244.0.3 .................. Level3: (DNS 9)
REM 84.200.69.80 ............... DNSWatch: (DNS 10)
REM 195.46.39.39 ................ SafeDNS: (DNS 11)
REM 9.9.9.9 ....................... Quad9: (DNS 12)
REM 37.235.1.174 ................ FreeDNS: (DNS 13)
REM 64.6.64.6 .................. Verisign: (DNS 14)
REM 10.156.0.33 .................. A1-Net: (DNS 15)
IF %my_dns_result%==%dns1% SET erg1=false
IF %my_dns_result%==was SET erg1=false
IF %my_dns_result%==0.0.0.0 SET erg1=block
IF %erg1%==true GOTO :OK1
IF %erg1%==false GOTO :FEHL1
IF %erg1%==block GOTO :BLOCK1
:OK1
ECHO %DNSLOKAL%%dns1%%RESET% .............. %DNSLOKAL%%dns1name%%RESET%: %GRUEN%%my_dns_result%%RESET%
GOTO :Q1
:FEHL1
ECHO %DNSLOKAL%%dns1%%RESET% .............. %DNSLOKAL%%dns1name%%RESET%: %FEHLER%nicht gefunden%RESET%
GOTO :Q1
:BLOCK1
ECHO %DNSLOKAL%%dns1%%RESET% .............. %DNSLOKAL%%dns1name%%RESET%: %BLOCK%geblockt%RESET%
GOTO :Q1
:Q1
IF %dns2_result%==%dns2% SET erg2=false
IF %dns2_result%==was SET erg2=false
IF %erg2%==true GOTO :OK2
IF %erg2%==false GOTO :FEHL2
:OK2
ECHO %dns2% ...................... %dns2name%: %OK%%dns2_result%%RESET%
GOTO :Q2
:FEHL2
ECHO %dns2% ...................... %dns2name%: %FEHLER%nicht gefunden%RESET%
GOTO :Q2
:Q2
IF %dns3_result%==%dns3% SET erg3=false
IF %dns3_result%==was SET erg3=false
IF %erg3%==true GOTO :OK3
IF %erg3%==false GOTO :FEHL3
:OK3
ECHO %dns3% .............. %dns3name%: %OK%%dns3_result%%RESET%
GOTO :Q3
:FEHL3
ECHO %dns3% .............. %dns3name%: %FEHLER%nicht gefunden%RESET%
GOTO :Q3
:Q3
IF %dns4_result%==%dns4% SET erg4=false
IF %dns4_result%==was SET erg4=false
IF %erg4%==true GOTO :OK4
IF %erg4%==false GOTO :FEHL4
:OK4
ECHO %dns4% ................ %dns4name%: %OK%%dns4_result%%RESET%
GOTO :Q4
:FEHL4
ECHO %dns4% ................ %dns4name%: %FEHLER%nicht gefunden%RESET%
GOTO :Q4
:Q4
IF %dns5_result%==%dns5% SET erg5=false
IF %dns5_result%==was SET erg5=false
IF %erg5%==true GOTO :OK5
IF %erg5%==false GOTO :FEHL5
:OK5
ECHO %dns5% .................. %dns5name%: %OK%%dns5_result%%RESET%
GOTO :Q5
:FEHL5
ECHO %dns5% .................. %dns5name%: %FEHLER%nicht gefunden%RESET%
GOTO :Q5
:Q5
IF %dns6_result%==%dns6% SET erg6=false
IF %dns6_result%==was SET erg6=false
IF %erg6%==true GOTO :OK6
IF %erg6%==false GOTO :FEHL6
:OK6
ECHO %dns6% ........ %dns6name%: %OK%%dns6_result%%RESET%
GOTO :Q6
:FEHL6
ECHO %dns6% ........ %dns6name%: %FEHLER%nicht gefunden%RESET%
GOTO :Q6
:Q6
IF %dns7_result%==%dns7% SET erg7=false
IF %dns7_result%==was SET erg7=false
IF %erg7%==true GOTO :OK7
IF %erg7%==false GOTO :FEHL7
:OK7
ECHO %dns7% ......... %dns7name%: %OK%%dns7_result%%RESET%
GOTO :Q7
:FEHL7
ECHO %dns7% ......... %dns7name%: %FEHLER%nicht gefunden%RESET%
GOTO :Q7
:Q7
IF %dns8_result%==%dns8% SET erg8=false
IF %dns8_result%==was SET erg8=false
IF %erg8%==true GOTO :OK8
IF %erg8%==false GOTO :FEHL8
:OK8
ECHO %dns8% ................. %dns8name%: %OK%%dns8_result%%RESET%
GOTO :Q8
:FEHL8
ECHO %dns8% ................. %dns8name%: %FEHLER%nicht gefunden%RESET%
GOTO :Q8
:Q8
IF %dns9_result%==%dns9% SET erg9=false
IF %dns9_result%==was SET erg9=false
IF %erg9%==true GOTO :OK9
IF %erg9%==false GOTO :FEHL9
:OK9
ECHO %dns9% .................. %dns9name%: %OK%%dns9_result%%RESET%
GOTO :Q9
:FEHL9
ECHO %dns9% .................. %dns9name%: %FEHLER%nicht gefunden%RESET%
GOTO :Q9
:Q9
IF %dns10_result%==%dns10% SET erg10=false
IF %dns10_result%==was SET erg10=false
IF %erg10%==true GOTO :OK10
IF %erg10%==false GOTO :FEHL10
:OK10
ECHO %dns10% ............... %dns10name%: %OK%%dns10_result%%RESET%
GOTO :Q10
:FEHL10
ECHO %dns10% ............... %dns10name%: %FEHLER%nicht gefunden%RESET%
GOTO :Q10
:Q10
IF %dns11_result%==%dns11% SET erg11=false
IF %dns11_result%==was SET erg11=false
IF %erg11%==true GOTO :OK11
IF %erg11%==false GOTO :FEHL11
:OK11
ECHO %dns11% ................ %dns11name%: %OK%%dns11_result%%RESET%
GOTO :Q11
:FEHL11
ECHO %dns11% ................ %dns11name%: %FEHLER%nicht gefunden%RESET%
GOTO :Q11
:Q11
IF %dns12_result%==%dns12% SET erg12=false
IF %dns12_result%==was SET erg12=false
IF %erg12%==true GOTO :OK12
IF %erg12%==false GOTO :FEHL12
:OK12
ECHO %dns12% ....................... %dns12name%: %OK%%dns12_result%%RESET%
GOTO :Q12
:FEHL12
ECHO %dns12% ....................... %dns12name%: %FEHLER%nicht gefunden%RESET%
GOTO :Q12
:Q12
IF %dns13_result%==%dns13% SET erg13=false
IF %dns13_result%==was SET erg13=false
IF %erg13%==true GOTO :OK13
IF %erg13%==false GOTO :FEHL13
:OK13
ECHO %dns13% ................ %dns13name%: %OK%%dns13_result%%RESET%
GOTO :Q13
:FEHL13
ECHO %dns13% ................ %dns13name%: %FEHLER%nicht gefunden%RESET%
GOTO :Q13
:Q13
IF %dns14_result%==%dns14% SET erg14=false
IF %dns14_result%==was SET erg14=false
IF %erg14%==true GOTO :OK14
IF %erg14%==false GOTO :FEHL14
:OK14
ECHO %dns14% .................. %dns14name%: %OK%%dns14_result%%RESET%
GOTO :Q14
:FEHL14
ECHO %dns14% .................. %dns14name%: %FEHLER%nicht gefunden%RESET%
GOTO :Q14
:Q14
IF %dns15_result%==%dns15% SET erg15=false
IF %dns15_result%==was SET erg15=false
IF %erg15%==true GOTO :OK15
IF %erg15%==false GOTO :FEHL15
:OK15
ECHO %dns15% .................. %dns15name%: %OK%%dns15_result%%RESET%
GOTO :Q15
:FEHL15
ECHO %dns15% .................. %dns15name%: %FEHLER%nicht gefunden%RESET%
GOTO :Q15
:Q15
ECHO -------------------------------------------------------------------------------------------------------
ECHO.
ECHO ...fertig
ECHO.
ECHO eine weitere Domain abfragen? (J/N)
SET /P eingabe=
IF '%eingabe%' == 'N' GOTO ENDE
IF '%eingabe%' == 'n' GOTO ENDE
IF '%eingabe%' == 'J' GOTO START
IF '%eingabe%' == 'j' GOTO START
ECHO.
:ENDE
ECHO.
Pause
Edit: verbesserte Version meiner Batch-Datei eingefügt