Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @ECHO OFF
- SETLOCAL ENABLEEXTENSIONS
- COLOR 0A
- TITLE LOOP NSLOOKUP
- :----------------------------------------------------------------------------------
- REM CREATED BY: SLYFOX1186
- REM WEB: https://pastebin.com/u/slyfox1186
- REM LOOP NSLOOKUP USING A LIST OF DEFINED ADDRESSES.
- REM THE SCRIPT CREATES A TEMPORARY PS1 SCRIPT TO TRIM
- REM OUT USELESS STRINGS IN THE OUTPUT FILE.
- :----------------------------------------------------------------------------------
- PUSHD "%~dp0"
- IF NOT "%1"=="MAX" START /MAX CMD /D /C %0 MAX & GOTO :EOF
- :----------------------------------------------------------------------------------
- REM ADD LIST OF ADDRESSES SEPARATED BY SPACES.
- SET LIST=www.youtube.com www.google.com 8.8.8.8 8.8.4.4
- REM SET A CUSTOM NAMESERVER TO USE... THE DEFAULT BELOW USES THE PRIMARY FOR OPENDNS.
- REM THE DNS_STRING SHOULD BE CHANGED IF YOU ALSO CHANGE THE NAMESERVER VARIABLE BELOW.
- SET NAMESERVER=208.67.222.222
- SET DNS_STRING=dns.opendns.com
- REM SET YOUR INTERNAL LAN DNS.. I RUN A PIHOLE SERVER SO MINE IS SET TO THE
- REM THE LAN ADDRESS OF THE PC THAT RUNS PIHOLE. YOURS IS MOST LIKELY 192.168.1.1.
- REM YOU CAN USE IPCONFIG COMMAND IN CMD.EXE TO FIND YOUR INTERNAL DNS ADDRESS.
- SET LAN_DNS=192.168.1.30
- REM SET LAN_DNS=192.168.1.1
- REM IF YOU HAVE ISSUES RUNNING THE POWERSHELL SCRIPT TO TRIM THE OUTPUT FILE
- REM YOU MAY HAVE TO ADD '-Exe Bypass' to the line 'POWERSHELL -NoP -NoL -W Hidden -File "%TMP%\trim.ps1"'
- REM OR CHANGE YOUR SCRIPT DEFAULT PERMISSIONS USING GROUP POLICY EDITOR.
- :-------------------------------------------------------------------
- IF EXIST "%TMP%\output.txt" DEL /Q "%TMP%\output.txt" >NUL
- :----------------------------------------------------------------------------------
- FOR %%G IN (%LIST%) DO NSLOOKUP %%G %NAMESERVER%>>"%TMP%\dnslookup.txt"
- :----------------------------------------------------------------------------------
- (
- ECHO ^(Get-Content '%TMP%\dnslookup.txt'^) ^| ForEach-Object {$_ -Replace "Address: %LAN_DNS%",""} ^| Out-File '%TMP%\output.txt'
- ECHO ^(Get-Content '%TMP%\output.txt'^) ^| ForEach-Object {$_ -Replace "Address:\s*%NAMESERVER%",""} ^| Out-File '%TMP%\output.txt'
- ECHO ^(Get-Content '%TMP%\output.txt'^) ^| ForEach-Object {$_ -Replace "^Aliases:\t",""} ^| Out-File '%TMP%\output.txt'
- ECHO ^(Get-Content '%TMP%\output.txt'^) ^| ForEach-Object {$_ -Replace "^Server:\s*%DNS_STRING%",""} ^| Out-File '%TMP%\output.txt'
- ECHO ^(Get-Content '%TMP%\output.txt'^) ^| ForEach-Object {$_ -Replace "^Name:\s*","Name:`t`t"} ^| Out-File '%TMP%\output.txt'
- ECHO ^(Get-Content '%TMP%\output.txt'^) ^| ForEach-Object {$_ -Replace "^\s","`t`t"} ^| Out-File '%TMP%\output.txt'
- ECHO ^(Get-Content '%TMP%\output.txt'^) ^| ForEach-Object {$_ -Replace " +","`t"} ^| Out-File '%TMP%\output.txt'
- ECHO $RemoveEOFBlank = [System.IO.File]::ReadAllText^('%TMP%\output.txt'^)
- ECHO $RemoveEOFBlank = $RemoveEOFBlank.Trim^(^)
- ECHO [System.IO.File]::WriteAllText^('%TMP%\output.txt', $RemoveEOFBlank^)
- )>"%TMP%\trim.ps1"
- POWERSHELL -NoP -NoL -W Hidden -File "%TMP%\trim.ps1"
- :----------------------------------------------------------------------------------
- DEL /Q "%TMP%\dnslookup.txt" "%TMP%\trim.ps1" >NUL
- :----------------------------------------------------------------------------------
- START "" /MAX NOTEPAD "%TMP%\output.txt"
Add Comment
Please, Sign In to add comment