Guía de hping3 en Español

 https://www.onlinetis.com

Guía de hping3 en Español

hping3 es una de las herramientas más potentes y versátiles en Kali Linux para la auditoría de redes. A diferencia del comando ping tradicional que solo usa ICMP, hping3 te permite ensamblar y enviar paquetes personalizados TCP, UDP e ICMP.

Aquí tienes una guía rápida para entender cómo funciona y sus usos principales.


¿Qué es hping3?

Es un generador y analizador de paquetes de red por línea de comandos. Se utiliza frecuentemente para:

  • Probar reglas de Firewalls.

  • Escaneo de puertos avanzado.

  • Pruebas de rendimiento de red y stress testing.

  • Auditoría de pilas TCP/IP.


Comandos y Sintaxis Básica

La estructura general es: hping3 [Modo] [Opciones] [Destino]

1. Escaneo de Puertos (Modo TCP)

Para enviar un paquete a un puerto específico (por ejemplo, el 80) y ver si responde:

hping3 -S -p 80 192.168.1.1

  • -S: Establece el flag SYN (inicio de conexión).

  • -p: Define el puerto de destino.

2. Traceroute Personalizado

A diferencia del traceroute convencional, hping3 puede usar paquetes TCP para atravesar firewalls que bloquean ICMP:

hping3 --traceroute -S -p 443 google.com

3. Transferencia de Archivos (Modo ICMP)

Si quieres probar si puedes mover datos a través de protocolos básicos:

hping3 192.168.1.15 --icmp --file /ruta/archivo.txt --data 100


Modos de Operación Principales

ParámetroDescripciónUso común
-0 / --rawipModo IP CrudoEnvío de cabeceras IP personalizadas.
-1 / --icmpModo ICMPComportamiento similar a un ping extendido.
-2 / --udpModo UDPÚtil para probar servicios como DNS o DHCP.
-8 / --scanModo EscaneoEscanea rangos de puertos (Ej: hping3 -8 1-1024 -S).
-9 / --listenModo EscuchaRecibe paquetes que contengan una firma específica.

Pruebas de Estrés (Flood)

Nota de seguridad: Realiza estas pruebas solo en entornos controlados o redes de tu propiedad.

hping3 es famoso por su capacidad de enviar paquetes lo más rápido posible sin esperar respuesta:

hping3 --flood -S -p 80 10.0.0.5

  • --flood: Envía paquetes a máxima velocidad.

  • --rand-source: (Opcional) Oculta tu IP real usando direcciones de origen aleatorias.

Entendiendo la respuesta

Cuando escaneas con el flag -S (SYN), fíjate en los flags de respuesta:

  • SA (SYN-ACK): El puerto está abierto.

  • RA (RST-ACK): El puerto está cerrado.

  • Sin respuesta: Hay un Firewall filtrando el paquete.


Automatizar esto con un script de Bash te permite escanear múltiples puertos de forma organizada y guardar los resultados en un archivo de texto para analizarlos después.

Aquí tienes un ejemplo de un script profesional pero sencillo. Este script intentará identificar si los puertos más comunes (80, 443, 22, 21) están abiertos enviando un paquete SYN.

Script de Escaneo con hping3

Copia este código en un archivo llamado escaneo.sh:

Bash
#!/bin/bash

# Comprobar si se proporcionó una IP
if [ -z "$1" ]; then
    echo "Uso: $0 <direccion-ip>"
    exit 1
fi

IP=$1
PUERTOS=(21 22 80 443 8080)

echo "--- Iniciando escaneo en $IP ---"
echo "Puerto | Estado"
echo "------------------------"

for puerto in "${PUERTOS[@]}"; do
    # Enviamos 1 paquete (-c 1), modo SYN (-S) al puerto indicado
    # Redirigimos errores a /dev/null para una salida limpia
    resultado=$(sudo hping3 -S -p $puerto -c 1 $IP 2>/dev/null | grep "flags=")

    if [[ $resultado == *"flags=SA"* ]]; then
        echo "  $puerto   | ABIERTO (SYN-ACK)"
    elif [[ $resultado == *"flags=RA"* ]]; then
        echo "  $puerto   | CERRADO (RST-ACK)"
    else
        echo "  $puerto   | FILTRADO / SIN RESPUESTA"
    fi
done

echo "------------------------"
echo "Escaneo finalizado."

Cómo ejecutarlo

  1. Dale permisos de ejecución:

    chmod +x escaneo.sh

  2. Ejecútalo con una IP de tu red:

    ./escaneo.sh 192.168.1.1


¿Cómo funciona la lógica del script?

El script se basa en el TCP Three-Way Handshake (el saludo de tres vías de TCP). Cuando usamos hping3 -S, estamos simulando el primer paso de una conexión:

  • SYN-ACK (SA): Si el servidor responde con esto, significa que el puerto está escuchando y acepta conexiones.

  • RST-ACK (RA): El servidor recibe tu petición pero "rechaza" la conexión porque el puerto está cerrado.

  • Packet Loss / Timeout: Si no hay respuesta, es muy probable que un Firewall esté descartando tus paquetes silenciosamente (Drop).

Tip de experto: Si quieres que el escaneo sea más difícil de detectar por sistemas IDS (Sistemas de Detección de Intrusos), puedes agregar el parámetro --fast o aumentar el intervalo entre paquetes con -i u10000 (microsegundos)

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux