DSTAT

IP-Multi-Tool

Aug 29th, 2019 (edited)
26,022
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. @echo off
  2. Rem Paste this code into notepad and save it as IP-Multi-Tool.bat
  3. Rem Coded by DSTAT. Instagram: @DDoS_Filter
  4. Rem http://ddosfilter.net/
  5. Rem https://pastebin.com/WbgYDjGS
  6. Rem Option 9 opens the last API response in a text document. (Works with options 1,2,5,6,7)
  7. title IP Multi Tool
  8. color 0A
  9. setlocal ENABLEDELAYEDEXPANSION
  10. set webclient=webclient
  11. set localversion=1.8.0.0
  12. if exist "%temp%\%webclient%.vbs" del "%temp%\%webclient%.vbs" /f /q /s >nul
  13. :menu
  14. mode con lines=24 cols=70
  15. set ip=127.0.0.1
  16. set action=0
  17. cls
  18. echo  IP-Multi-Tool v%localversion%                         Coded by @DDoS_Filter
  19. echo                                  Menu
  20. echo.
  21. echo                            View Your IP: (1)
  22. echo.
  23. echo                            Lookup An IP: (2)
  24. echo.
  25. echo                             Ping An IP: (3)
  26. echo.
  27. echo                          TraceRoute An IP: (4)
  28. echo.
  29. echo                           PortScan An IP: (5)
  30. echo.
  31. echo                         Find A Websites IP: (6)
  32. echo.
  33. echo                            WhoIs Lookup: (7)
  34. echo.
  35. echo                              NSLookup: (8)
  36. echo.
  37. echo                         View Response Text: (9)
  38. echo.
  39. echo                         Check For Updates: (10)
  40. echo.
  41. :action
  42. set /p action=Type your choice. 1,2,3,4,5,6,7,8,9,10:
  43. if '%action%'=='1' echo sUrl = "https://api.ddosfilter.net/IPLookupAPI.php" > %temp%\%webclient%.vbs & echo sRequest = "key=riB7e0h8BROyidr8KIdEJOfRAfrOsweN" >> %temp%\%webclient%.vbs & goto apirequest
  44. if '%action%'=='2' goto iplookup
  45. if '%action%'=='3' goto ipping
  46. if '%action%'=='4' goto traceroute
  47. if '%action%'=='5' goto portscan
  48. if '%action%'=='6' goto cfresolver
  49. if '%action%'=='7' goto whois
  50. if '%action%'=='8' goto nslookup
  51. if '%action%'=='9' goto opentext
  52. if '%action%'=='10' goto update_ipmt
  53. echo.
  54. echo Please enter a valid choice.
  55. echo.
  56. goto action
  57. :apirequest
  58. if exist "%temp%\response.txt" del "%temp%\response.txt" /f /q /s >nul
  59. if %action% NEQ update (
  60. set rqst_type=POST
  61. cls
  62. echo.
  63. echo  Waiting for API response. . .
  64. )
  65. echo set oHTTP = CreateObject("MSXML2.ServerXMLHTTP.6.0") >> %temp%\%webclient%.vbs
  66. echo oHTTP.open "%rqst_type%", sUrl,false >> %temp%\%webclient%.vbs
  67. echo oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" >> %temp%\%webclient%.vbs
  68. echo oHTTP.setRequestHeader "Content-Length", Len(sRequest) >> %temp%\%webclient%.vbs
  69. echo oHTTP.send sRequest >> %temp%\%webclient%.vbs
  70. echo HTTPGET = oHTTP.responseText >> %temp%\%webclient%.vbs
  71. echo strDir = "%temp%\response.txt" >> %temp%\%webclient%.vbs
  72. echo set objFSO = CreateObject("Scripting.FileSystemObject") >> %temp%\%webclient%.vbs
  73. echo set objFile = objFSO.CreateTextFile(strDir) >> %temp%\%webclient%.vbs
  74. echo objFile.Write(HTTPGET) >> %temp%\%webclient%.vbs
  75. echo objFile.Close >> %temp%\%webclient%.vbs
  76. echo Wscript.Quit >> %temp%\%webclient%.vbs
  77. start %temp%\%webclient%.vbs
  78. set /a requests=0
  79. :checkresponseexists
  80. set /a requests=%requests% + 1
  81. if %requests% gtr 10 goto failed
  82. IF EXIST "%temp%\response.txt" (
  83. goto response_exist
  84. ) ELSE (
  85. ping 127.0.0.1 -n 2 -w 1000 >nul
  86. goto checkresponseexists
  87. )
  88. :failed
  89. tasklist | find "wscript.exe" >nul
  90. if %errorlevel% EQU 0 taskkill /f /im wscript.exe >nul
  91. del "%temp%\%webclient%.vbs" /f /q /s >nul
  92. echo.
  93. echo  Did not receive a response from the API.
  94. echo.
  95. pause
  96. goto menu
  97. :response_exist
  98. del "%temp%\%webclient%.vbs" /f /q /s >nul
  99. if %action% EQU update if '%dlupdate%'=='y' goto update
  100. find "error code: 1006" %temp%\response.txt >nul
  101. if %errorlevel% EQU 0 goto banned
  102. find "One more step" %temp%\response.txt >nul
  103. if %errorlevel% EQU 0 goto cbanned
  104. find "Web server is down" %temp%\response.txt >nul
  105. if %errorlevel% EQU 0 goto offline
  106. find "Connection timed out" %temp%\response.txt >nul
  107. if %errorlevel% EQU 0 goto offline
  108. find "404 Not Found" %temp%\response.txt >nul
  109. if %errorlevel% EQU 0 goto offline
  110. goto verified
  111. :banned
  112. cls
  113. echo.
  114. echo  Error: You have been banned for abuse.
  115. ping 127.0.0.1 -n 4 -w 1000 >nul
  116. del "%temp%\response.txt" /f /q /s >nul
  117. exit
  118. :cbanned
  119. cls
  120. echo.
  121. echo  Error: Your IP has been blocked for security purposes.
  122. echo  Contact @DDoS_Filter on instagram for help.
  123. echo  Sorry for any inconvinience.
  124. echo  If you are using a VPN and have received this error message,
  125. echo  turn off the VPN, and try again.
  126. ping 127.0.0.1 -n 8 -w 1000 >nul
  127. del "%temp%\response.txt" /f /q /s >nul
  128. exit
  129. :offline
  130. cls
  131. echo.
  132. echo  Error: The API is offline.
  133. ping 127.0.0.1 -n 4 -w 1000 >nul
  134. del "%temp%\response.txt" /f /q /s >nul
  135. goto menu
  136. :verified
  137. set "data=findstr /R /N "^^" %temp%\response.txt | find /C ":"",
  138. for /f %%i in ('!data!') do set lines=%%i
  139. if %lines% LSS 10 (
  140. set /a lines=20
  141. ) else (
  142. set /a lines=%lines% + 3
  143. )
  144. if '%action%'=='update' goto checkversion
  145. if '%action%'=='1' goto parseiplookup
  146. if '%action%'=='2' goto parseiplookup
  147. if '%action%'=='5' goto parsepscan
  148. if '%action%'=='6' goto parsecfresolver
  149. if '%action%'=='7' goto parsewhois
  150. goto menu
  151. :iplookup
  152. cls
  153. echo.
  154. echo                          Type an IP to lookup
  155. echo.
  156. set /p ip=IP:
  157. echo sUrl = "https://api.ddosfilter.net/IPLookupAPI.php" > %temp%\%webclient%.vbs
  158. echo sRequest = "key=riB7e0h8BROyidr8KIdEJOfRAfrOsweN&ip=%ip%" >> %temp%\%webclient%.vbs
  159. goto apirequest
  160. :parseiplookup
  161. mode con lines=%lines% cols=70
  162. cls
  163. echo.
  164. for /f "delims=     " %%i in ('findstr /i ":" %temp%\response.txt') do (
  165.     set data=%%i
  166.     echo !data!
  167. )
  168. echo.
  169. pause
  170. goto menu
  171. :ipping
  172. rem Inteli-Ping by @DDoS_Filter
  173. set /a replies=0
  174. set /a timeouts=0
  175. set responsetime=N/A
  176. set avgtime=N/A
  177. set min=N/A
  178. set max=N/A
  179. cls
  180. echo.
  181. echo                       Type an IP or URL to ping
  182. echo.
  183. set /p ip=Host:
  184. mode con lines=14 cols=30
  185. :ping
  186. set success=false
  187. for /F "tokens=7 delims=<>= " %%i in ('ping -n 1 %ip% ^| find "TTL="') do (
  188.     set responsetime=%%i
  189.     set responsetime=!responsetime:~0,-2!
  190.     set success=true
  191. )
  192. if %replies% EQU 0 if %success% EQU true if %replies% NEQ N/A set min=99999 & set max=0
  193. if %success% EQU false (
  194.     set status=Host is offline
  195.     set /a timeouts=timeouts + 1
  196.     color 0C
  197. ) else (
  198.     set status=Host is online
  199.     set /a replies=replies + 1
  200.     set /a totaltime=%totaltime% + %responsetime%
  201.     set /a avgtime=totaltime / replies
  202.     color 0A
  203.     if %responsetime% LSS %min% (
  204.         set min=%responsetime%
  205.     )
  206.     if %responsetime% GTR %max% (
  207.         set max=%responsetime%
  208.     )
  209. )
  210. cls
  211. echo Pinging %ip%
  212. echo.
  213. echo  %status%^^!
  214. echo.
  215. echo  Successful Replies: %replies%
  216. echo.
  217. echo  Requests Timed Out: %timeouts%
  218. echo.
  219. echo  Avrg Response Time: %avgtime%ms
  220. echo.
  221. echo  Last Response Time: %responsetime%ms
  222. echo.
  223. echo  Min: %min%ms  Max: %max%ms
  224. ping 127.0.0.1 -n 2 -w 1000 >nul
  225. goto ping
  226. :traceroute
  227. cls
  228. echo.
  229. echo                    Type an IP or URL to trace route
  230. echo.
  231. set /p ip=Host:
  232. tracert %ip%
  233. echo.
  234. pause
  235. goto menu
  236. :portscan
  237. cls
  238. echo.
  239. echo                        Type a host to port scan
  240. echo.
  241. set /p ip=Host:
  242. echo sUrl = "https://api.ddosfilter.net/PortScanAPI.php" > %temp%\%webclient%.vbs
  243. echo sRequest = "key=riB7e0h8BROyidr8KIdEJOfRAfrOsweN&ip=%ip%" >> %temp%\%webclient%.vbs
  244. goto apirequest
  245. :parsepscan
  246. mode con lines=%lines% cols=70
  247. cls
  248. echo.
  249. for /f "delims=     " %%i in ('findstr /i "Results Port Error" %temp%\response.txt') do (
  250.     set data=%%i
  251.     echo !data!
  252. )
  253. echo.
  254. pause
  255. goto menu
  256. :cfresolver
  257. cls
  258. echo.
  259. echo                         Type a domain to resolve
  260. echo.
  261. set /p ip=Domain:
  262. echo sUrl = "https://api.ddosfilter.net/CFResolverAPI.php" > %temp%\%webclient%.vbs
  263. echo sRequest = "key=riB7e0h8BROyidr8KIdEJOfRAfrOsweN&host=%ip%" >> %temp%\%webclient%.vbs
  264. goto apirequest
  265. :parsecfresolver
  266. mode con lines=%lines% cols=70
  267. cls
  268. echo.
  269. for /f "delims=     " %%i in ('findstr /i "IP Error" %temp%\response.txt') do (
  270.     set data=%%i
  271.     echo !data!
  272. )
  273. echo.
  274. pause
  275. goto menu
  276. :whois
  277. cls
  278. echo.
  279. echo                       Type a host to WhoIs lookup
  280. echo.
  281. set /p ip=Host:
  282. echo sUrl = "https://api.ddosfilter.net/WhoIsAPI.php" > %temp%\%webclient%.vbs
  283. echo sRequest = "key=riB7e0h8BROyidr8KIdEJOfRAfrOsweN&host=%ip%" >> %temp%\%webclient%.vbs
  284. goto apirequest
  285. :parsewhois
  286. mode con lines=%lines% cols=100
  287. cls
  288. echo.
  289. for /f "delims=     " %%i in ('findstr /i ":" %temp%\response.txt') do (
  290.     set data=%%i
  291.     echo !data!
  292. )
  293. echo.
  294. pause
  295. goto menu
  296. :nslookup
  297. cls
  298. echo.
  299. echo                    Type an IP or Domain to NSLookup
  300. echo.
  301. set /p ip=Host:
  302. cls
  303. echo.
  304. echo Name Server Look up using Cloudflare DNS. . .
  305. echo.
  306. nslookup %ip% 1.1.1.1
  307. echo.
  308. pause
  309. goto menu
  310. :opentext
  311. if exist "%temp%\response.txt" start %temp%/response.txt
  312. goto menu
  313. :update_ipmt
  314. cls
  315. set action=update
  316. set rqst_type=GET
  317. echo.
  318. echo  Checking for updates. . .
  319. echo sUrl = "https://api.ddosfilter.net/ipmultitoolversion.txt" > %temp%\%webclient%.vbs
  320. goto apirequest
  321. :checkversion
  322. set /p version=<"%temp%\response.txt"
  323. if %localversion% EQU %version% (
  324. del "%temp%\response.txt" /f /q /s >nul
  325. echo.
  326. echo  You are on the latest version^^!
  327. echo.
  328. echo  Version: %version%
  329. echo.
  330. pause
  331. goto menu
  332. )
  333. cls
  334. echo.
  335. echo  An update is available for IP Multi Tool^^!
  336. echo.
  337. echo.  New version: %version%
  338. echo.
  339. echo   Your version: %localversion%
  340. echo.
  341. set /p dlupdate= Would you like to download the update? y/n:
  342. if '%dlupdate%'=='y' (
  343. cls
  344. echo.
  345. echo  Downloading to Downloads folder. . .
  346. echo.
  347. echo sUrl = "https://pastebin.com/raw/WbgYDjGS" > %temp%\%webclient%.vbs
  348. goto apirequest
  349. :update
  350. find "6Ip5ithetropU1lSpiwRlcrLN5ro6er7" %temp%\response.txt >nul
  351. if %errorlevel% NEQ 0 (
  352. echo  Error downloading update^^!
  353. echo.
  354. pause
  355. goto menu
  356. )
  357. move %temp%\response.txt C:\Users\%username%\Downloads\IP-Multi-Tool.bat >nul
  358. set dlupdate=0
  359. echo  Starting updated version. . .
  360. ping 127.0.0.1 -n 2 -w 1000 >nul
  361. start C:\Users\%username%\Downloads\IP-Multi-Tool.bat
  362. exit
  363. ) else (
  364. goto menu
  365. )
  366. Rem Coded by DSTAT. Instagram: @DDoS_Filter
  367. Rem http://ddosfilter.net/
  368. Rem https://pastebin.com/WbgYDjGS
RAW Paste Data