@ECHO OFF
COLOR F1
ECHO. > %WINDIR%\SYSTEM32\NDT.TST
IF EXIST %WINDIR%\SYSTEM32\NDT.TST (SET ADMIN=YES) ELSE (SET ADMIN=NO)
IF EXIST %WINDIR%\SYSTEM32\NDT.TST DEL %WINDIR%\SYSTEM32\NDT.TST
IF %ADMIN%==NO GOTO ADMIN
SET OPTION=X
SET DNSRESET=X
SET DNSDHCP=X
SET REDIR=X
SET PROXY=0x0
SET IEOFFLINE=0x0
IF EXIST C:\RESETLOG-NDT.TXT DEL C:\RESETLOG-NDT.TXT
ETECT
IPCONFIG |FIND "adapter" >NUL
IF %ERRORLEVEL%==1 GOTO NONIC
FOR /F "TOKENS=3" %%A IN ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\In ternet Settings" /V ProxyEnable') DO SET PROXY=%%A
FOR /F "TOKENS=3" %%A IN ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\In ternet Settings" /V GlobalUserOffline') DO SET IEOFFLINE=%%A
VER | findstr /i "6\.0\." >NUL
IF %ERRORLEVEL%==0 GOTO V4
VER | findstr /i "6\.1\." >NUL
IF %ERRORLEVEL%==0 GOTO V4
SET VER=XP
SET IPVER=IP
GOTO IP
:V4
SET VER=VIS7
SET IPVER=IPv4
:IP
IPCONFIG |FIND "%IPVER%" > %TEMP%\TEMPIP.TXT
IF %ERRORLEVEL%==1 GOTO NONET
FOR /F "TOKENS=2 DELIMS=:" %%A IN (%TEMP%\TEMPIP.TXT) DO SET IP=%%A
DEL %TEMP%\TEMPIP.TXT
SET IP=%IP:~1%
ECHO %IP% > %TEMP%\RANGE.TXT
FOR /F "TOKENS=1,2 DELIMS=." %%A IN (%TEMP%\RANGE.TXT) DO SET LB=%%A.%%B
FOR /F "TOKENS=1-3 DELIMS=." %%A IN (%TEMP%\RANGE.TXT) DO SET RANGE=%%A.%%B.%%C
DEL %TEMP%\RANGE.TXT
IF %LB%==169.254 GOTO DHCPERROR
IF %RANGE%==192.168.1 SET ROUTER=ROUTER1
IF %RANGE%==192.168.0 SET ROUTER=ROUTER2
IF %RANGE%==10.1.10 SET ROUTER=ROUTER3
NETSH INT IP SHOW CONFIG > %TEMP%\DHCP.TXT
FIND "Yes" %TEMP%\DHCP.TXT >NUL
IF %ERRORLEVEL%==1 (SET DHCP=STATIC) ELSE (SET DHCP=ENABLED)
FIND "DNS servers configured through DHCP" %TEMP%\DHCP.TXT >NUL
IF %ERRORLEVEL%==1 (SET DNS=STATIC) ELSE (SET DNS=DHCP)
DEL %TEMP%\DHCP.TXT
EST
ECHO.
ECHO Checking connection...
ECHO.
PING -n 1 google-public-dns-a.google.com|FIND "Reply from " > %TEMP%\IPR.TXT
FOR /F "TOKENS=3" %%A IN (%TEMP%\IPR.TXT) DO SET IPG=%%A
IF EXIST %TEMP%\IPR.TXT DEL %TEMP%\IPR.TXT
IF NOT "%IPG%"=="8.8.8.8:" GOTO REDIRECT
IF "%IPG%"=="8.8.8.8:" GOTO SUCCESS
RYAGAIN
ECHO First attempt failed
ECHO Making another attempt...
ECHO.
PING -n 3 [
Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] "Reply from " >NUL
IF %ERRORLEVEL%==0 GOTO SUCCESS2
RYIP
ECHO External domain name failed
ECHO.
ECHO Checking DNS...
ECHO.
PING -n 1 8.8.8.8|FIND "Reply from " >NUL
IF %ERRORLEVEL%==0 (GOTO SUCCESSDNS) ELSE (GOTO %ROUTER%)
:ROUTER1
ECHO No WAN appears to be available
ECHO Lets try pinging the router....
ECHO.
PING -n 2 192.168.1.1|FIND "Reply from " >NUL
IF %ERRORLEVEL%==0 (GOTO ROUTERSUCCESS) ELSE (GOTO NETDOWN)
:ROUTER2
ECHO No WAN appears to be available
ECHO Lets try pinging the router....
ECHO.
PING -n 2 192.168.0.1|FIND "Reply from " >NUL
IF %ERRORLEVEL%==0 (GOTO ROUTERSUCCESS) ELSE (GOTO NETDOWN)
:ROUTER3
ECHO No WAN appears to be available
ECHO Lets try pinging the router....
ECHO.
PING -n 2 10.1.10.1|FIND "Reply from " >NUL
IF %ERRORLEVEL%==0 (GOTO ROUTERSUCCESS) ELSE (GOTO NETDOWN)
:ROUTERSUCCESS
SET TEST=No WAN Available
ECHO.
ECHO Error Detected!
ECHO It appears that you can reach the router, but internet is unreachable.
GOTO FAILURE
:NETDOWN
SET TEST=No Network is responding
ECHO.
ECHO Error Detected!
ECHO Your router is not responding
IF %DHCP%==STATIC GOTO DYNAMIC
GOTO FAILURE
HCPERROR
SET TEST=System has a loopback address
SET DHCP=LOOPBACK
ECHO.
ECHO Error Detected!
ECHO DHCP Error
ECHO You do not have a valid IP address.
GOTO RESET
:SUCCESSDNS
SET TEST=Domain name resolution problem
ECHO.
ECHO Error Detected!
ECHO It appears that you are having DNS issues.
ECHO.
GOTO DNSFAIL
:SUCCESS
SET TEST=Connection is OK
ECHO You have an active Internet connection.
ECHO.
GOTO SUCCESS.1
:SUCCESS2
SET TEST=Connection is up, but with interference
ECHO You have an active internet connection but errors were detected.
ECHO.
:SUCCESS.1
IF %PROXY%==0x1 GOTO PROXCHO
:SUCCESS.1A
IF %IEOFFLINE%==0x1 GOTO IEOFFLINE
:SUCCESS.1B
ECHO If you can not bring up a webpage, check your internet options
ECHO.
:SUCCESS2.1
ECHO Open Internet Options?
SET /P IEOP=Enter Y or N:
IF /I %IEOP%==Y GOTO IEOPTIONS
IF /I %IEOP%==N GOTO OPTIONS
ECHO Invalid option. Please try again
GOTO SUCCESS2.1
:FAILURE
ECHO.
ECHO You do not have an active Internet connection
ECHO.
ECHO.
:OPTIONS
ECHO __________________________________________________ ______________________________
ECHO *** REPAIR OPTIONS ***
IF EXIST C:\RESETLOG-NDT.TXT (
ECHO.
ECHO If your system has not been rebooted since INTERFACE RESET ran
ECHO Please do so before making further changes
)
ECHO.
ECHO Your IP Address is %IP%
ECHO.
IF %PROXY%==0x1 (ECHO *** IE proxy is enabled ***) ELSE (ECHO IE proxy is disabled)
IF %IEOFFLINE%==0x1 (ECHO *** IE is set to work offline ***) ELSE (ECHO IE is set to work online)
IF %DHCP%==STATIC (ECHO *** IP is hardcoded ***) ELSE (ECHO DHCP is enabled)
ECHO.
ECHO Test Results: %TEST%
ECHO.
ECHO 1) IP RESET (Try this first)
ECHO 2) INTERFACE RESET (REQUIRES REBOOT)
IF %PROXY%==0x1 ECHO 3) Remove IE Proxy Setting
IF %IEOFFLINE%==0x1 ECHO 4) Set IE to work online
IF %DHCP%==STATIC ECHO 5) Enable DHCP
ECHO T) Rerun Test
IF EXIST C:\RESETLOG-NDT.TXT ECHO R) Reboot
ECHO Q) Quit S*****
ECHO.
SET /P OPTION=Enter option:
IF %OPTION%==1 GOTO RESET.1
IF %OPTION%==2 GOTO NIC
IF %OPTION%==3 GOTO PROXY
IF %OPTION%==4 GOTO FIXIEO
IF %OPTION%==5 GOTO DYNRESET
IF /I %OPTION%==T GOTO DETECT
IF /I %OPTION%==R GOTO REBOOT
IF /I %OPTION%==Q GOTO END
ECHO Invalid entry. Please try again.
GOTO OPTIONS
:RESET
IF %DHCP%==LOOPBACK GOTO LBOPTION
:RESET.1
ECHO.
ECHO Resetting IP
ECHO Please be patient
ECHO.
ECHO Diagnostics will be reran
ECHO.
IPCONFIG /RELEASE >NUL
ECHO 25%% Done
NSRESET
IPCONFIG /FLUSHDNS >NUL
IF /I %DNSRESET%==Y GOTO DNSRESET.1
ECHO 50%% Done
IPCONFIG /RENEW >NUL
ECHO 75%% Done
NSRESET.1
IPCONFIG /REGISTERDNS >NUL
ECHO Rerunning test
ECHO.
GOTO IP
:LBOPTION
ECHO.
ECHO Your IP Address is %IP%
ECHO.
ECHO Should we try to renew the IP?
ECHO.
SET /P LBRESET=Enter Y or N:
IF /I %LBRESET%==N GOTO FAILURE
IF /I %LBRESET%==Y GOTO RESET.1
ECHO Invalid entry. Please try again.
GOTO LBOPTION
NSFAIL
IF %DNS%==STATIC GOTO DNSFAIL.1
NSFAIL.1A
ECHO.
ECHO Should we flush and reregister DNS?
ECHO.
SET /P DNSRESET=Enter Y or N:
IF /I %DNSRESET%==N GOTO OPTIONS
IF /I %DNSRESET%==Y GOTO DNSRESET
ECHO Invalid entry.
GOTO DNSFAIL
NSFAIL.1
ECHO.
ECHO DNS is hardcoded...
ECHO.
ECHO Set DNS to DHCP?
ECHO.
SET /P DNSDHCP=Enter Y or N:
IF /I %DNSDHCP%==N GOTO DNSFAIL.1A
IF /I %DNSDHCP%==Y GOTO DNSDHCP
ECHO Invalid entry.
GOTO DNSFAIL.1
YNAMIC
ECHO.
ECHO Your connection is not using DHCP
ECHO.
ECHO Would you like to configure your connection to use DHCP?
ECHO.
SET /P DYNIP=Enter Y or N:
IF /I %DYNIP%==Y GOTO DYNRESET
IF /I %DYNIP%==N GOTO FAILURE
ECHO Invalid option try again
GOTO DYNAMIC
YNRESET
NSDHCP
IF %VER%==XP GOTO DHCPX
NETSH INTERFACE SHOW INT |FIND "Connected" > %TEMP%\CONN.TXT
FIND "2" %TEMP%\CONN.TXT >NUL
IF %ERRORLEVEL%==0 GOTO SUFF
FOR /F "TOKENS=4-7" %%A IN (%TEMP%\CONN.TXT) DO SET CONN=%%A %%B %%C
SET CONN=^"%CONN%^"
GOTO DYNRESET.1
:SUFF
FOR /F "TOKENS=4-7" %%A IN (%TEMP%\CONN.TXT) DO SET CONN=%%A %%B %%C %%D
SET CONN=^"%CONN%^"
YNRESET.1
DEL %TEMP%\CONN.TXT
YNRESET2
IF %DNSDHCP%==Y GOTO DNSDHCP.1
NETSH INT IP SET ADDRESS %CONN% DHCP >NUL
NSDHCP.1
NETSH INT IP SET DNS %CONN% DHCP >NUL
IF %DNSDHCP%==Y GOTO IP
NETSH INT IP SHOW CONFIG > %TEMP%\DHCP.TXT
FIND "Yes" %TEMP%\DHCP.TXT >NUL
IF %ERRORLEVEL%==1 (SET DHCP=STATIC) ELSE (SET DHCP=ENABLED)
DEL %TEMP%\DHCP.TXT
IF %OPTION%==5 GOTO OPTIONS
IF %REDIR%==YES GOTO IP
GOTO %ROUTER%
HCPX
NETSH INT IP SHOW CONFIG |FIND "Configuration" > %TEMP%\CONN.TXT
FIND "2" %TEMP%\CONN.TXT >NUL
IF %ERRORLEVEL%==0 GOTO SUFF
FOR /F "TOKENS=4-7" %%A IN (%TEMP%\CONN.TXT) DO SET CONN=%%A %%B %%C
GOTO DYNRESET.1
:SUFF
FOR /F "TOKENS=4-7" %%A IN (%TEMP%\CONN.TXT) DO SET CONN=%%A %%B %%C %%D
GOTO DYNRESET.1
:NIC
ECHO Resetting interface
IPCONFIG /RELEASE >NUL
IPCONFIG /FLUSHDNS >NUL
NETSH WINSOCK RESET >NUL
NETSH WINSOCK RESET CATALOG >NUL
NETSH INT IP RESET > C:\RESETLOG-NDT.TXT
ECHO.
ECHO Reboot system now?
SET /P REBOOT=Y/N:
IF /I %REBOOT%==Y GOTO REBOOT
IF /I %REBOOT%==N GOTO OPTIONS
:IEOPTIONS
inetcpl.cpl
GOTO OPTIONS
:PROXCHO
ECHO *** IE Proxy is enabled ***
ECHO.
ECHO Would you like to remove proxy setting?
SET /P REMPROX=Enter Y or N?
ECHO.
IF /I %REMPROX%==Y GOTO PROXY
IF /I %REMPROX%==N GOTO SUCCESS.1A
ECHO Invalid option. Please try again
GOTO PROXCHO
:PROXY
ECHO Clearing IE proxy
ECHO Windows Registry Editor Version 5.00 >> %TEMP%\REGPROXY.REG
ECHO. >> %TEMP%\REGPROXY.REG
ECHO [HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Internet Settings] >> %TEMP%\REGPROXY.REG
ECHO "ProxyEnable"=dword:00000000 >> %TEMP%\REGPROXY.REG
REGEDIT.EXE %TEMP%\REGPROXY.REG
DEL %TEMP%\REGPROXY.REG
FOR /F "TOKENS=3" %%A IN ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\In ternet Settings" /V ProxyEnable') DO SET PROXY=%%A
IF %OPTION%==3 GOTO OPTIONS
IF %IEOFFLINE%==0x1 GOTO IEOFFLINE
IF %REMPROX%==Y GOTO SUCCESS.1A
GOTO OPTIONS
:IEOFFLINE
ECHO.
ECHO *** IE is set to offline mode ***
ECHO.
ECHO Restore online mode?
SET /P OFFLINE=Enter Y or N:
ECHO.
IF /I %OFFLINE%==Y GOTO FIXIEO
IF /I %OFFLINE%==N GOTO SUCCESS.1B
ECHO Invalid option. Please try again
GOTO IEOFFLINE
:FIXIEO
ECHO Setting IE to work online
ECHO Windows Registry Editor Version 5.00 >> %TEMP%\REGOFFLINE.REG
ECHO. >> %TEMP%\REGOFFLINE.REG
ECHO [HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Internet Settings] >> %TEMP%\REGOFFLINE.REG
ECHO "GlobalUserOffline"=dword:00000000 >> %TEMP%\REGOFFLINE.REG
REGEDIT.EXE %TEMP%\REGOFFLINE.REG
DEL %TEMP%\REGOFFLINE.REG
FOR /F "TOKENS=3" %%A IN ('REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\In ternet Settings" /V GlobalUserOffline') DO SET IEOFFLINE=%%A
IF %OFFLINE%==Y GOTO SUCCESS.1A
GOTO OPTIONS
:NONET
ECHO.
ECHO Error Detected!
ECHO System is not connected to any network
ECHO.
ECHO Check cabling from router or modem before continuing
ECHO.
PAUSE
CLS
IPCONFIG |FIND "%IPVER%" >NUL
IF %ERRORLEVEL%==0 GOTO DETECT
EXIT
:NONIC
ECHO.
ECHO Error Detected!
ECHO System has no network devices
ECHO.
ECHO Please ensure your connections are enabled before continuing
ECHO.
NCPA.CPL
PAUSE
CLS
IPCONFIG |FIND "adapter" >NUL
IF %ERRORLEVEL%==0 GOTO DETECT
EXIT
:REBOOT
ECHO Rebooting
SHUTDOWN -R -T 0
EXIT
:REDIRECT
ECHO IP Address redirection has been detected!!!
ECHO.
ECHO The system has most likely been manipulated by malware!!!
ECHO.
ECHO Further infections can incur if this is not fixed.
ECHO.
SET REDIR=YES
IF %DHCP%==STATIC (GOTO DYNAMIC) ELSE (ECHO Press any key to exit test)
IF %DNS%==STATIC (GOTO DNSFAIL.1) ELSE (ECHO Press any key to exit test)
PAUSE >NUL
EXIT
:ADMIN
ECHO.
ECHO.
ECHO.
ECHO **** This tool needs to be run as Administrator ****
ECHO.
ECHO The program will now close
ECHO.
ECHO Please right click on the file, and choose "Run as administrator"
ECHO.
ECHO.
ECHO.
ECHO.
ECHO.
ECHO Press any key when you are ready to proceed
PAUSE >NUL
EXIT
:END
EXIT