Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- rem Activa las variables de entorno "retrasadas", necesarias para que las variables funcionen dentro de un bucle.
- setlocal enabledelayedexpansion
- rem Establece un titulo para la ventana de la consola.
- title Escaner de Red v4 (Ping + Titulo Web)
- rem Cambia el color del texto a un verde brillante para mejor legibilidad.
- color 0A
- echo.
- echo ===============================================================
- echo ESCANER DE RED PARA PCS SIN RESTRICCIONES
- echo ===============================================================
- echo.
- echo Este script realizara los siguientes pasos:
- echo 1. Hara PING a cada IP en el rango 10.100.26.0-255.
- echo 2. Si una IP responde, usara PowerShell para buscar el titulo de su pagina web.
- echo 3. Mostrara en pantalla solo las IPs activas con su titulo.
- echo.
- echo Iniciando escaneo...
- echo.
- rem -------------------------------------------------------------------------------------
- rem Inicia un bucle FOR /L que cuenta desde el numero 0 hasta el 255.
- rem La variable '%%i' tomara el valor de cada numero en cada vuelta del bucle (0, 1, 2, ...).
- rem -------------------------------------------------------------------------------------
- FOR /L %%i IN (0,1,255) DO (
- rem Almacena la IP actual en una variable para que sea mas facil de usar.
- set "ip=10.100.26.%%i"
- rem -------------------------------------------------------------------------------------
- rem Ejecuta el comando PING.
- rem -n 1: Envia un solo paquete para que sea mas rapido.
- rem -w 1000: Espera maximo 1 segundo (1000 ms) por una respuesta.
- rem | find "TTL=": Filtra la salida del ping, buscando la cadena "TTL=".
- rem Esta cadena solo aparece si el ping tuvo exito.
- rem > nul: Oculta la salida del comando 'find' para mantener la pantalla limpia.
- rem -------------------------------------------------------------------------------------
- ping -n 1 !ip! -w 1000 | find "TTL=" > nul
- rem -------------------------------------------------------------------------------------
- rem Comprueba el resultado del ultimo comando. '!errorlevel! equ 0' significa que el comando 'find' tuvo exito,
- rem lo que confirma que el ping fue respondido.
- rem -------------------------------------------------------------------------------------
- if !errorlevel! equ 0 (
- rem --- Intenta obtener el titulo via HTTP (puerto 80) ---
- rem FOR /F: Captura la salida de un comando para procesarla.
- rem 'powershell -Command "..."': Ejecuta un comando de PowerShell.
- rem Invoke-WebRequest: El comando de PowerShell para descargar una pagina web.
- rem .ParsedHtml.title: Extrae unicamente el texto del titulo de la pagina.
- rem try{...}catch{}: Maneja los errores. Si la pagina no existe o no tiene titulo, simplemente no hace nada.
- for /f "usebackq tokens=*" %%t in (`powershell -Command "try { (Invoke-WebRequest -Uri 'http://!ip!' -TimeoutSec 2 -UseBasicParsing -ErrorAction Stop).ParsedHtml.title } catch {}"`) do (
- rem Si se encontro un titulo, lo muestra en el formato deseado: <ip> <titulo>
- echo !ip! %%t
- )
- rem --- Intenta obtener el titulo via HTTPS (puerto 443) ---
- rem Se repite el mismo proceso, pero esta vez con la direccion https://
- for /f "usebackq tokens=*" %%t in (`powershell -Command "try { (Invoke-WebRequest -Uri 'https://!ip!' -TimeoutSec 2 -UseBasicParsing -ErrorAction Stop).ParsedHtml.title } catch {}"`) do (
- echo !ip! %%t
- )
- )
- )
- echo.
- echo ===============================================================
- echo Escaneo Finalizado
- echo ===============================================================
- echo.
- rem Mantiene la ventana de la consola abierta hasta que el usuario presione una tecla.
- pause
Advertisement
Add Comment
Please, Sign In to add comment