Script definido en bash usado para el descubrimiento de hosts activos en redes IPv4 mediante trazas ICMP con el comando "Ping". Muy rápido y optimizado.
Diseñado específicamente para fase de reconocimiento de hosts en laboratorios con varios hosts, etc... donde se requiere una de una enumeración manual, ligera y veloz. Útil si existen varios hosts a escanear en la máquina objetivo.
- Ultra rápido (Multihilo): Lanza las solicitudes de ping en segundo plano de forma paralela, logrando escanear una subred
/24completa en cuestión de 1 o 2 segundos. - Detección pasiva de SO (OS Fingerprinting): Analiza el valor del TTL (Time To Live) de las trazas ICMP devueltos para identificar si el host objetivo es una máquina Linux (TTL ~64) o Windows (TTL ~128).
- Sin dependencias externas: Utiliza exclusivamente utilidades nativas de sistemas Linux/Unix (
ping,bash,timeout), ideal para entornos restringidos o shells limitadas. - Salida limpia y ordenada: Implementa ordenamiento numérico natural mediante
sort -V. Esto asegura que el listado de IPs se imprima en pantalla de forma consecutiva (ej..1,.2,.15...) facilitando su lectura y la exportación a otras herramientas.
- Clona el repositorio en tu máquina o copia el código directamente:
git clone https://github.com/pabloVentx/scan_ipv4.git
- Dale permisos de ejecución al script:
chmod +x scan_ipv4.sh
- Ejecútalo (Importante específicar la dirección de red que vas a usar junto a la mascara/24):
./scan_ipv4.sh 10.0.47.0/24
Al realizar fases de reconocimiento y descubrimiento de hosts mediante protocolos como ICMP (Ping), es fundamental entender cómo afectan las reglas de seguridad de los sistemas operativos.
Por defecto, el Firewall de Microsoft Defender (y muchas soluciones de seguridad corporativas) viene configurado para descartar silenciosamente las trazas de tipo ICMP.
- Resultado: Aunque la máquina objetivo esté encendida y activa en la red, este script (
scan_ipv4.sh) la marcará como inactiva debido a la falta de respuesta (Timeout).
Cuando un escaneo ICMP devuelva una red aparentemente vacía o falten hosts que sabemos que existen, debemos acudir a las siguientes técnicas [Algunas de muchas]:
Las peticiones ARP son indispensables para la comunicación básica en redes locales (conectar IPs con direcciones MAC). Ningún sistema operativo puede bloquear el tráfico ARP local sin quedar completamente aislado e incomunicado.
- Herramienta recomendada:
arp-scan,netdiscoveronmap -sn Dir. red/24.
Como el firewall bloquea el ping, tenemos que ordenarle a Nmap que no compruebe si el host está vivo y pase directamente a escanear los puertos que correspondan de dicha IP.
Parámetro clave: -Pn (No ping).
- Herramienta recomendada:
Nmap.