slyfox1186

nslookup-loop.bat

Sep 23rd, 2021 (edited)
752
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 3.28 KB | None | 0 0
  1. @ECHO OFF
  2. SETLOCAL ENABLEEXTENSIONS
  3. COLOR 0A
  4. TITLE LOOP NSLOOKUP
  5.  
  6. :----------------------------------------------------------------------------------
  7.  
  8. REM CREATED BY: SLYFOX1186
  9. REM WEB: https://pastebin.com/u/slyfox1186
  10.  
  11. REM LOOP NSLOOKUP USING A LIST OF DEFINED ADDRESSES.
  12. REM THE SCRIPT CREATES A TEMPORARY PS1 SCRIPT TO TRIM
  13. REM OUT USELESS STRINGS IN THE OUTPUT FILE.
  14.  
  15. :----------------------------------------------------------------------------------
  16.  
  17. PUSHD "%~dp0"
  18. IF NOT "%1"=="MAX" START /MAX CMD /D /C %0 MAX & GOTO :EOF
  19.  
  20. :----------------------------------------------------------------------------------
  21.  
  22. REM ADD LIST OF ADDRESSES SEPARATED BY SPACES.
  23. SET LIST=www.youtube.com www.google.com 8.8.8.8 8.8.4.4
  24.  
  25. REM SET A CUSTOM NAMESERVER TO USE... THE DEFAULT BELOW USES THE PRIMARY FOR OPENDNS.
  26. REM THE DNS_STRING SHOULD BE CHANGED IF YOU ALSO CHANGE THE NAMESERVER VARIABLE BELOW.
  27. SET NAMESERVER=208.67.222.222
  28. SET DNS_STRING=dns.opendns.com
  29.  
  30. REM SET YOUR INTERNAL LAN DNS.. I RUN A PIHOLE SERVER SO MINE IS SET TO THE
  31. REM THE LAN ADDRESS OF THE PC THAT RUNS PIHOLE. YOURS IS MOST LIKELY 192.168.1.1.
  32. REM YOU CAN USE IPCONFIG COMMAND IN CMD.EXE TO FIND YOUR INTERNAL DNS ADDRESS.
  33. SET LAN_DNS=192.168.1.30
  34. REM SET LAN_DNS=192.168.1.1
  35.  
  36. REM IF YOU HAVE ISSUES RUNNING THE POWERSHELL SCRIPT TO TRIM THE OUTPUT FILE
  37. REM YOU MAY HAVE TO ADD '-Exe Bypass' to the line 'POWERSHELL -NoP -NoL -W Hidden -File "%TMP%\trim.ps1"'
  38. REM OR CHANGE YOUR SCRIPT DEFAULT PERMISSIONS USING GROUP POLICY EDITOR.
  39.  
  40. :-------------------------------------------------------------------
  41.  
  42. IF EXIST "%TMP%\output.txt" DEL /Q "%TMP%\output.txt" >NUL
  43.  
  44. :----------------------------------------------------------------------------------
  45.  
  46. FOR %%G IN (%LIST%) DO NSLOOKUP %%G %NAMESERVER%>>"%TMP%\dnslookup.txt"
  47.  
  48. :----------------------------------------------------------------------------------
  49.  
  50. (
  51. ECHO ^(Get-Content '%TMP%\dnslookup.txt'^) ^| ForEach-Object {$_ -Replace "Address:  %LAN_DNS%",""} ^| Out-File '%TMP%\output.txt'
  52. ECHO ^(Get-Content '%TMP%\output.txt'^) ^| ForEach-Object {$_ -Replace "Address:\s*%NAMESERVER%",""} ^| Out-File '%TMP%\output.txt'
  53. ECHO ^(Get-Content '%TMP%\output.txt'^) ^| ForEach-Object {$_ -Replace "^Aliases:\t",""} ^| Out-File '%TMP%\output.txt'
  54. ECHO ^(Get-Content '%TMP%\output.txt'^) ^| ForEach-Object {$_ -Replace "^Server:\s*%DNS_STRING%",""} ^| Out-File '%TMP%\output.txt'
  55. ECHO ^(Get-Content '%TMP%\output.txt'^) ^| ForEach-Object {$_ -Replace "^Name:\s*","Name:`t`t"} ^| Out-File '%TMP%\output.txt'
  56. ECHO ^(Get-Content '%TMP%\output.txt'^) ^| ForEach-Object {$_ -Replace "^\s","`t`t"} ^| Out-File '%TMP%\output.txt'
  57. ECHO ^(Get-Content '%TMP%\output.txt'^) ^| ForEach-Object {$_ -Replace "  +","`t"} ^| Out-File '%TMP%\output.txt'
  58. ECHO $RemoveEOFBlank = [System.IO.File]::ReadAllText^('%TMP%\output.txt'^)
  59. ECHO $RemoveEOFBlank = $RemoveEOFBlank.Trim^(^)
  60. ECHO [System.IO.File]::WriteAllText^('%TMP%\output.txt', $RemoveEOFBlank^)
  61. )>"%TMP%\trim.ps1"
  62. POWERSHELL -NoP -NoL -W Hidden -File "%TMP%\trim.ps1"
  63.  
  64. :----------------------------------------------------------------------------------
  65.  
  66. DEL /Q "%TMP%\dnslookup.txt" "%TMP%\trim.ps1" >NUL
  67.  
  68. :----------------------------------------------------------------------------------
  69.  
  70. START "" /MAX NOTEPAD "%TMP%\output.txt"
Add Comment
Please, Sign In to add comment