Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ebpfmon — Interface utilisateur en terminal pour la surveillance et l'inspection en temps réel des programmes et cartes eBPF à l'aide de bpftool, permettant le débogage et l'analyse en direct des données d'observabilité au niveau du noyau. | Kitploit
Outils/GitHubGitHub/redcanaryco/ebpfmon
Analyse Dynamique (Sandboxing)DébogueursUtilitaires et Frameworks
GitHubredcanaryco/ebpfmon

ebpfmon

Interface utilisateur en terminal pour la surveillance et l'inspection en temps réel des programmes et cartes eBPF à l'aide de bpftool, permettant le débogage et l'analyse en direct des données d'observabilité au niveau du noyau.

Voir le dépôt
904il y a 2 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Build workflow

ebpfmon

ebpfmon est un outil de surveillance des programmes eBPF. Il est conçu pour être utilisé avec bpftool du noyau Linux. ebpfmon est une application TUI (interface utilisateur en terminal) écrite en Go qui permet une surveillance en temps réel des programmes eBPF.

Installation

eBPFmon peut être compilé à partir des sources ou une version compilée est disponible dans les versions.

Dépendances requises

  • bpftool (installé via un gestionnaire de paquets ou compilé depuis les sources). C'est ce qu'utilise ebpfmon pour obtenir des informations sur les programmes eBPF, les maps, etc.
  • libelf
  • zlib

Dépendances optionnelles (mais fortement recommandées)

  • libcap-devel
  • libbfd

Ubuntu 20.04+

root@kitploit:~
$ sudo apt install linux-tools-`uname -r` libelf-dev zlib1g-dev libcap-dev binutils-dev

Amazon Linux 2

root@kitploit:~
$ sudo yum install bpftool elfutils-libelf-devel libcap-devel binutils-devel

Rhel, CentOS, Fedora

root@kitploit:~
$ sudo dnf install elfutils-libelf-devel libcap-devel zlib-devel binutils-devel bpftool

Debian 11

root@kitploit:~
$ sudo apt install bpftool libelf-dev zlib1g-dev libcap-dev binutils-dev

Utilisation

root@kitploit:~
$ ./ebpfmon

NOTE: bpftool nécessite des privilèges root et donc ebpfmon exécutera sudo bpftool .... Cela signifie que vous serez probablement invité à entrer votre mot de passe sudo.

Compilation à partir des sources

Dépendances supplémentaires

Tout d'abord, cet outil est écrit en Go donc vous devez l'avoir installé et dans votre variable PATH. Il devrait fonctionner avec go 1.18 ou ultérieur mais il est possible qu'il fonctionne avec des versions antérieures. Cela n'a simplement pas été testé.

Ensuite, assurez-vous d'installer les dépendances suivantes.

  • clang
  • llvm

Exécutez simplement les commandes suivantes. Cela construira le binaire ebpfmon dans le répertoire courant.

root@kitploit:~
$ git clone https://github.com/redcanaryco/ebpfmon.git
$ cd ebpfmon
$ make

Documentation

Navigation de base

La vue principale d'ebpfmon est la vue des programmes. Cette vue affiche tous les programmes eBPF actuellement chargés sur le système. Chaque volet est sélectionnable et vous pouvez basculer entre les volets en utilisant la touche tab. Dans un volet donné, vous pouvez utiliser les touches fléchées pour faire défiler le texte ou la sélection de liste vers le haut et vers le bas. Pour les listes telles que les programmes ou les maps, vous pouvez appuyer sur Entrée pour sélectionner. La sélection d'un programme remplira les autres volets avec des informations sur ce programme. La sélection d'une map passera à une vue des entrées de la map qui affiche les entrées de cette map.

Raccourcis clavier

Quelques raccourcis clavier sont disponibles dans ebpfmon. Ils sont listés sur la page d'aide accessible en appuyant sur la touche F1 ou la touche ?

Vue des programmes

Pour accéder à la vue des programmes, quelle que soit la vue dans laquelle vous vous trouvez, vous pouvez appuyer sur Ctrl et e.

Vue des fonctionnalités BPF

Pour accéder à la vue des fonctionnalités BPF, quelle que soit la vue dans laquelle vous vous trouvez, vous pouvez appuyer sur Ctrl et f.

Vues des maps

Pour accéder à la vue des maps, sélectionnez simplement une map (si elle existe) pour le programme eBPF actuel. Cela remplira la vue des maps avec les entrées de la map. Vous pouvez supprimer des entrées de la map en appuyant sur la touche d. Dans la vue des maps, vous pouvez formater les données des entrées de différentes manières. Pour accéder à la section de format, appuyez simplement sur TAB lorsque vous êtes dans la vue de la liste des entrées de la map. Vous pouvez ensuite utiliser TAB pour vous déplacer entre les différentes options de format. Pour revenir à la liste des entrées de la map, appuyez sur ESC.

Vous pouvez également modifier les entrées de la map en appuyant sur ENTRÉE sur une sélection. Dans la vue d'édition, vous pouvez modifier les valeurs brutes en octets de la clé/valeur de la map. Vous pouvez ignorer les crochets.

Quitter

Pour quitter l'application, vous pouvez appuyer sur q ou Q.

Revenir en arrière

Généralement, la touche ESC vous ramène à la vue précédente. De plus, si vous êtes dans la vue d'aide ou la vue d'erreur, appuyer sur Échap devrait vous ramener à la fenêtre précédente.

Arguments en ligne de commande

-bpftool

Permet de spécifier le chemin vers le binaire bpftool. Utile si vous avez une compilation personnalisée de bpftool que vous souhaitez utiliser. Par défaut, il utilise le binaire bpftool du système. Vous pouvez également utiliser une variable d'environnement. Il recherchera dans l'ordre suivant

  1. Vérifie si l'argument -bpftool a été spécifié sur la ligne de commande.
  2. Vérifie si la variable d'environnement BPFTOOL_PATH est définie.
  3. Utilise le binaire système.

-logfile

Cet argument vous permet de spécifier un fichier de journalisation. Par défaut, il journalise dans ./log.txt. C'est un excellent fichier à consulter pour déboguer les problèmes de l'application car il enregistre les erreurs survenues lors de l'exécution.

Tests

Il existe quelques tests de base associés à ce projet.

Pour exécuter les tests, exécutez simplement la commande suivante depuis le répertoire racine du projet

root@kitploit:~
$ go test ./...

Si vous souhaitez utiliser votre propre binaire bpftool, vous pouvez définir la variable d'environnement BPFTOOL_PATH sur le chemin de votre binaire bpftool. Sinon, il utilisera celui du système par défaut.

Remarques importantes sur eBPF

Maps eBPF

  • Maps figées : Si une map est marquée comme figée, cela signifie qu'aucun appel système futur ne pourra modifier l'état de la map via map_fd. Les opérations d'écriture depuis les programmes eBPF sont toujours possibles pour une map figée. Cela signifie que bpftool (qui est utilisé par ebpfmon) ne pourra pas modifier les entrées de la map. C'est une limitation de bpftool, pas d'ebpfmon.
  • Ring buffers : bpftool ne pourra probablement pas obtenir de données en essayant d'interroger une map de type ringbuf.
Télécharger l’outil