Cia_oficial

Check ip

Aug 12th, 2025
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.82 KB | None | 0 0
  1. @echo off
  2. rem Activa las variables de entorno "retrasadas", necesarias para que las variables funcionen dentro de un bucle.
  3. setlocal enabledelayedexpansion
  4.  
  5. rem Establece un titulo para la ventana de la consola.
  6. title Escaner de Red v4 (Ping + Titulo Web)
  7.  
  8. rem Cambia el color del texto a un verde brillante para mejor legibilidad.
  9. color 0A
  10.  
  11. echo.
  12. echo    ===============================================================
  13. echo         ESCANER DE RED PARA PCS SIN RESTRICCIONES
  14. echo    ===============================================================
  15. echo.
  16. echo  Este script realizara los siguientes pasos:
  17. echo  1. Hara PING a cada IP en el rango 10.100.26.0-255.
  18. echo  2. Si una IP responde, usara PowerShell para buscar el titulo de su pagina web.
  19. echo  3. Mostrara en pantalla solo las IPs activas con su titulo.
  20. echo.
  21. echo  Iniciando escaneo...
  22. echo.
  23.  
  24. rem -------------------------------------------------------------------------------------
  25. rem Inicia un bucle FOR /L que cuenta desde el numero 0 hasta el 255.
  26. rem La variable '%%i' tomara el valor de cada numero en cada vuelta del bucle (0, 1, 2, ...).
  27. rem -------------------------------------------------------------------------------------
  28. FOR /L %%i IN (0,1,255) DO (
  29.    
  30.     rem Almacena la IP actual en una variable para que sea mas facil de usar.
  31.     set "ip=10.100.26.%%i"
  32.  
  33.     rem -------------------------------------------------------------------------------------
  34.     rem Ejecuta el comando PING.
  35.     rem -n 1: Envia un solo paquete para que sea mas rapido.
  36.     rem -w 1000: Espera maximo 1 segundo (1000 ms) por una respuesta.
  37.     rem | find "TTL=": Filtra la salida del ping, buscando la cadena "TTL=".
  38.     rem                  Esta cadena solo aparece si el ping tuvo exito.
  39.     rem > nul: Oculta la salida del comando 'find' para mantener la pantalla limpia.
  40.     rem -------------------------------------------------------------------------------------
  41.     ping -n 1 !ip! -w 1000 | find "TTL=" > nul
  42.  
  43.     rem -------------------------------------------------------------------------------------
  44.     rem Comprueba el resultado del ultimo comando. '!errorlevel! equ 0' significa que el comando 'find' tuvo exito,
  45.     rem lo que confirma que el ping fue respondido.
  46.     rem -------------------------------------------------------------------------------------
  47.     if !errorlevel! equ 0 (
  48.  
  49.         rem --- Intenta obtener el titulo via HTTP (puerto 80) ---
  50.         rem FOR /F: Captura la salida de un comando para procesarla.
  51.         rem 'powershell -Command "..."': Ejecuta un comando de PowerShell.
  52.         rem Invoke-WebRequest: El comando de PowerShell para descargar una pagina web.
  53.         rem .ParsedHtml.title: Extrae unicamente el texto del titulo de la pagina.
  54.         rem try{...}catch{}: Maneja los errores. Si la pagina no existe o no tiene titulo, simplemente no hace nada.
  55.         for /f "usebackq tokens=*" %%t in (`powershell -Command "try { (Invoke-WebRequest -Uri 'http://!ip!' -TimeoutSec 2 -UseBasicParsing -ErrorAction Stop).ParsedHtml.title } catch {}"`) do (
  56.             rem Si se encontro un titulo, lo muestra en el formato deseado: <ip> <titulo>
  57.             echo !ip! %%t
  58.         )
  59.  
  60.         rem --- Intenta obtener el titulo via HTTPS (puerto 443) ---
  61.         rem Se repite el mismo proceso, pero esta vez con la direccion https://
  62.         for /f "usebackq tokens=*" %%t in (`powershell -Command "try { (Invoke-WebRequest -Uri 'https://!ip!' -TimeoutSec 2 -UseBasicParsing -ErrorAction Stop).ParsedHtml.title } catch {}"`) do (
  63.             echo !ip! %%t
  64.         )
  65.     )
  66. )
  67.  
  68. echo.
  69. echo ===============================================================
  70. echo   Escaneo Finalizado
  71. echo ===============================================================
  72. echo.
  73.  
  74. rem Mantiene la ventana de la consola abierta hasta que el usuario presione una tecla.
  75. pause
Advertisement
Add Comment
Please, Sign In to add comment