Skip to content
bbuddha edited this page Jan 23, 2026 · 1 revision

📖 Guide d'utilisation

Guide complet des commandes Nihil et de leur utilisation.

Commandes principales

nihil start - Démarrer un conteneur

Démarre un conteneur (le crée automatiquement s'il n'existe pas).

nihil start <name> [options]

Options :

  • --privileged : Mode privilégié (accès réseau complet)
  • --network <mode> : Mode réseau (ex: host)
  • --workspace <path> : Monter un répertoire de travail
  • --no-shell : Ne pas ouvrir de shell après le démarrage

Exemples :

# Conteneur simple
nihil start my-pentest

# Mode privilégié pour outils réseau
nihil start network-pentest --privileged

# Avec workspace monté
nihil start web-pentest --workspace ~/projects/pentest-web

# Mode host network
nihil start ctf --privileged --network host

# Démarrer sans ouvrir de shell
nihil start background --no-shell

nihil stop - Arrêter un conteneur

Arrête un conteneur en cours d'exécution.

nihil stop <name>

Exemple :

nihil stop my-pentest

nihil exec - Exécuter une commande

Exécute une commande dans un conteneur. Par défaut, ouvre un shell zsh.

nihil exec <name> [command]

Exemples :

# Ouvrir un shell zsh
nihil exec my-pentest

# Exécuter une commande
nihil exec my-pentest ls -la
nihil exec my-pentest python3 script.py
nihil exec my-pentest nmap -sn 192.168.1.0/24

nihil remove - Supprimer des conteneurs

Supprime un ou plusieurs conteneurs.

nihil remove <name> [name2 name3 ...] [--force]

Options :

  • --force, -f : Forcer la suppression même si le conteneur est en cours d'exécution

Exemples :

# Supprimer un conteneur
nihil remove my-pentest

# Supprimer plusieurs conteneurs
nihil remove test1 test2 test3

# Forcer la suppression
nihil remove old-container --force

nihil info - Afficher les informations

Affiche les images disponibles et l'état des conteneurs.

nihil info

Sortie :

Nihil version 0.1.0

🖼️ Available images
────────────────────────────────────────────────────────────
ghcr.io/thenullpigeons/nihil-images:latest    2.45 GB

🐳 Containers
────────────────────────────────────────────────────────────
my-pentest    [running]    nihil:local    Privileged: On 🔥
test          [stopped]    nihil:local    Standard

nihil doctor - Diagnostic

Vérifie l'environnement et détecte les problèmes potentiels.

nihil doctor

Vérifie :

  • Disponibilité de Docker
  • Images nihil disponibles
  • Configuration de l'environnement

nihil uninstall - Supprimer des images

Supprime les images Docker nihil.

nihil uninstall [image1 image2 ...] [--force]

Options :

  • --force, -f : Forcer la suppression

Exemple :

# Supprimer l'image par défaut
nihil uninstall

# Supprimer une image spécifique
nihil uninstall nihil:local

nihil completion - Auto-complétion

Génère le script d'auto-complétion pour bash ou zsh.

nihil completion <shell>

Exemples :

# Générer pour bash
nihil completion bash | sudo tee /etc/bash_completion.d/nihil

# Générer pour zsh
nihil completion zsh > ~/.zfunc/_nihil

Voir Auto-complétion pour plus de détails.

nihil version - Version

Affiche la version de Nihil.

nihil version
# ou
nihil --version

Cas d'usage courants

Pentest web

# Créer un conteneur avec workspace
nihil start web-pentest --workspace ~/projects/pentest-web

# Dans le conteneur, tous vos fichiers sont dans /workspace
# Vous pouvez utiliser burp, nikto, etc.

CTF avec accès réseau complet

# Mode privilégié + host network
nihil start ctf --privileged --network host

# Accès complet au réseau de l'hôte

Scripts automatisés

# Démarrer sans shell
nihil start scripts --workspace ~/scripts --no-shell

# Exécuter un script
nihil exec scripts python3 scan.py

Nettoyage rapide

# Supprimer plusieurs conteneurs d'un coup
nihil remove test1 test2 test3 --force

Variables d'environnement

DOCKER_HOST

Spécifie le socket Docker à utiliser.

export DOCKER_HOST=unix:///var/run/docker.sock
nihil start my-pentest

Astuces

Workspace persistant

Les fichiers montés avec --workspace sont conservés même après suppression du conteneur :

nihil start project --workspace ~/my-project
# ... travail dans le conteneur ...
nihil remove project
# Les fichiers dans ~/my-project sont toujours là

Conteneurs multiples

Vous pouvez avoir plusieurs conteneurs pour différents projets :

nihil start project1 --workspace ~/project1
nihil start project2 --workspace ~/project2
nihil start project3 --workspace ~/project3

Mode interactif vs non-interactif

# Mode interactif (ouvre zsh)
nihil start my-pentest

# Mode non-interactif (pour scripts)
nihil start my-pentest --no-shell
nihil exec my-pentest command

Dépannage

Le conteneur ne démarre pas

# Vérifier les logs Docker
docker logs <container-name>

# Vérifier l'état
nihil info

Erreur de permissions

# Vérifier les permissions Docker
docker ps

# Si erreur, ajouter l'utilisateur au groupe docker
sudo usermod -aG docker $USER

Le workspace n'est pas monté

Vérifiez que le chemin existe et est accessible :

ls -la ~/path/to/workspace
nihil start test --workspace ~/path/to/workspace