Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
dive — Una herramienta para explorar cada capa en una imagen Docker. | Kitploit
Herramientas/GitHubGitHub/wagoodman/dive
Utilidades de Propósito GeneralSeguridad de Contenedores
GitHubwagoodman/dive

dive

Una herramienta para explorar cada capa en una imagen Docker.

Ver Repositorio
54.4k2.0k72hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

dive

GitHub release Validations Go Report Card License: MIT Donate

Una herramienta para explorar una imagen Docker, el contenido de sus capas y descubrir formas de reducir el tamaño de tu imagen Docker/OCI.

Imagen

Para analizar una imagen Docker simplemente ejecuta dive con una etiqueta/id/digest de imagen:

dive <tu-etiqueta-de-imagen>

O puedes usar dive directamente con Docker:

alias dive="docker run -ti --rm  -v /var/run/docker.sock:/var/run/docker.sock docker.io/wagoodman/dive"
dive <tu-etiqueta-de-imagen>

# por ejemplo
dive nginx:latest

O si quieres construir tu imagen y luego saltar directamente a analizarla:

dive build -t <alguna-etiqueta> .

Construir en macOS (soporta solo el motor de contenedores Docker):

docker run --rm -it \
      -v /var/run/docker.sock:/var/run/docker.sock \
      -v  "$(pwd)":"$(pwd)" \
      -w "$(pwd)" \
      -v "$HOME/.dive.yaml":"$HOME/.dive.yaml" \
      docker.io/wagoodman/dive:latest build -t <alguna-etiqueta> .

Además puedes ejecutar esto en tu pipeline de CI para asegurarte de mantener el espacio desperdiciado al mínimo (esto omite la interfaz):

CI=true dive <tu-imagen>

Imagen

¡Esto es calidad beta! No dudes en enviar un issue si quieres una nueva función o encuentras un bug :)

Funcionalidades básicas

Mostrar el contenido de la imagen Docker desglosado por capa

Cuando seleccionas una capa a la izquierda, se te muestra el contenido de esa capa combinado con todas las capas anteriores a la derecha. Además, puedes explorar completamente el árbol de archivos con las teclas de flecha.

Indicar qué ha cambiado en cada capa

Los archivos que han cambiado, sido modificados, añadidos o eliminados se indican en el árbol de archivos. Esto se puede ajustar para mostrar los cambios de una capa específica, o los cambios agregados hasta esta capa.

Estimar la "eficiencia de la imagen"

El panel inferior izquierdo muestra información básica de la capa y una métrica experimental que adivinará cuánto espacio desperdiciado contiene tu imagen. Esto puede deberse a duplicar archivos entre capas, mover archivos entre capas o no eliminar archivos por completo. Se proporciona tanto un porcentaje de "puntuación" como el total de espacio desperdiciado en archivos.

Ciclos rápidos de construcción/análisis

Puedes construir una imagen Docker y realizar un análisis inmediato con un solo comando: dive build -t alguna-etiqueta .

Solo necesitas reemplazar tu comando docker build con el mismo comando dive build.

Integración con CI

Analiza una imagen y obtén un resultado de aprobado/reprobado basado en la eficiencia de la imagen y el espacio desperdiciado. Simplemente establece CI=true en el entorno al invocar cualquier comando válido de dive.

Múltiples fuentes de imagen y motores de contenedores compatibles

Con la opción --source, puedes seleccionar de dónde obtener la imagen del contenedor:

dive <tu-imagen> --source <origen>

o

dive <origen>://<tu-imagen>

Con las opciones de origen válidas de la siguiente manera:

  • docker: motor Docker (la opción por defecto)
  • docker-archive: un archivo tar de Docker desde el disco
  • podman: motor Podman (solo Linux)

Instalación

Ubuntu/Debian

Usando debs:

DIVE_VERSION=$(curl -sL "https://api.github.com/repos/wagoodman/dive/releases/latest" | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/')
curl -fOL "https://github.com/wagoodman/dive/releases/download/v${DIVE_VERSION}/dive_${DIVE_VERSION}_linux_amd64.deb"
sudo apt install ./dive_${DIVE_VERSION}_linux_amd64.deb

Usando snap:

sudo snap install docker
sudo snap install dive
sudo snap connect dive:docker-executables docker:docker-executables
sudo snap connect dive:docker-daemon docker:docker-daemon

[!CAUTION] El método Snap no se recomienda si instalaste Docker mediante apt-get, ya que podría romper tu demonio Docker existente.

Ver también: https://github.com/wagoodman/dive/issues/546

RHEL/Centos

DIVE_VERSION=$(curl -sL "https://api.github.com/repos/wagoodman/dive/releases/latest" | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/')
curl -fOL "https://github.com/wagoodman/dive/releases/download/v${DIVE_VERSION}/dive_${DIVE_VERSION}_linux_amd64.rpm"
rpm -i dive_${DIVE_VERSION}_linux_amd64.rpm

Arch Linux

Disponible en el repositorio extra y se puede instalar mediante pacman:

pacman -S dive

Mac

Si usas Homebrew:

brew install dive

Si usas MacPorts:

sudo port install dive

O descarga la última compilación Darwin desde la página de lanzamientos.

Windows

Si usas Chocolatey

choco install dive

Si usas scoop

scoop install main/dive

Si usas winget:

winget install --id wagoodman.dive

O descarga la última compilación Windows desde la página de lanzamientos.

Herramientas Go Requiere Go versión 1.10 o superior.

go install github.com/wagoodman/dive@latest

Nota: instalando de esta manera no verás una versión adecuada al ejecutar dive -v.

Nix/NixOS

En NixOS:

nix-env -iA nixos.dive

En no-NixOS (Linux, Mac)

nix-env -iA nixpkgs.dive

X-CMD

x-cmd es un toolbox para Shell Posix, que ofrece un gestor de paquetes ligero construido con shell y awk.

x env use dive

Docker

docker pull docker.io/wagoodman/dive
# o alternativamente
docker pull ghcr.io/wagoodman/dive

Al ejecutarlo necesitarás incluir el archivo del socket Docker:

docker run --rm -it \
    -v /var/run/docker.sock:/var/run/docker.sock \
    docker.io/wagoodman/dive:latest <argumentos de dive...>

Docker para Windows (mostrando saltos de línea compatibles con PowerShell; colapsar a una sola línea para compatibilidad con Command Prompt)

docker run --rm -it `
    -v /var/run/docker.sock:/var/run/docker.sock `
    docker.io/wagoodman/dive:latest <argumentos de dive...>

Nota: dependiendo de la versión de Docker que estés ejecutando localmente, puede que necesites especificar la versión de la API de Docker como variable de entorno:

   DOCKER_API_VERSION=1.37 dive ...

o si ejecutas con una imagen Docker:

docker run --rm -it \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -e DOCKER_API_VERSION=1.37 \
    docker.io/wagoodman/dive:latest <argumentos de dive...>

si estás usando un runtime alternativo (Colima, etc.) puede que necesites especificar el host de Docker como variable de entorno para poder extraer imágenes locales:

   export DOCKER_HOST=$(docker context inspect -f '{{ .Endpoints.docker.Host }}')
Descargar herramienta