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
kmon — Gestionnaire du noyau Linux et moniteur d'activité 🐧💻 | Kitploit
Outils/GitHubGitHub/orhun/kmon
Utilitaires Généraux
GitHuborhun/kmon

kmon

Gestionnaire du noyau Linux et moniteur d'activité 🐧💻

Voir le dépôtSite web
2.9k94il y a 20 joursVé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


Gestionnaire de noyau Linux et moniteur d'activité 🐧💻


Le noyau est la partie du système d'exploitation qui facilite les interactions entre les composants matériels et logiciels. Sur la plupart des systèmes, il est chargé au démarrage après le chargeur d'amorçage et gère les demandes d'E/S ainsi que les périphériques tels que les claviers, les moniteurs, les adaptateurs réseau et les haut-parleurs. Généralement, le noyau est responsable de la gestion de la mémoire, de la gestion des processus, de la gestion des périphériques, des appels système et de la sécurité. Les applications utilisent le mécanisme d'appel système pour demander un service au système d'exploitation et, la plupart du temps, cette requête est transmise au noyau via une bibliothèque fournie par le système d'exploitation pour invoquer la fonction noyau correspondante. Pendant que le noyau effectue ces tâches de bas niveau, il réside dans une partie séparée de la mémoire appelée espace noyau protégé, qui n'est pas accessible par les applications et les autres parties du système. En revanche, les applications comme les navigateurs, les éditeurs de texte, les gestionnaires de fenêtres ou les lecteurs audio/vidéo utilisent une zone distincte de la mémoire, l'espace utilisateur. Cette séparation empêche les données utilisateur et les données du noyau d'interférer entre elles, évitant ainsi l'instabilité et la lenteur, ainsi que la possibilité que des programmes applicatifs défaillants fassent planter l'ensemble du système d'exploitation.
Il existe différentes conceptions de noyau en raison des différentes manières de gérer les appels système et les ressources. Par exemple, alors que les noyaux monolithiques exécutent toutes les instructions du système d'exploitation dans le même espace d'adressage pour la vitesse, les micro-noyaux utilisent des espaces différents pour les services utilisateur et noyau pour la modularité. Outre ceux-ci, il existe des noyaux hybrides, des nanokernels et des exokernels. L'architecture du noyau hybride est basée sur la combinaison d'aspects des micro-noyaux et des noyaux monolithiques.

Le noyau Linux est le noyau open-source, monolithique et de type Unix utilisé dans les distributions Linux, divers systèmes embarqués comme les routeurs, ainsi que dans tous les systèmes basés sur Android. Linus Torvalds a conçu et créé le noyau Linux en 1991 et il est encore développé aujourd'hui par des milliers de développeurs. C'est un exemple marquant de logiciel libre et open source et il est utilisé dans d'autres projets de logiciels libres, notamment le système d'exploitation GNU. Bien que les systèmes d'exploitation basés sur Linux dominent la majeure partie de l'informatique, ils portent encore certains défauts de conception qui ont été assez débattus aux débuts de Linux. Par exemple, il a la plus grande empreinte et la plus grande complexité par rapport aux autres types de noyaux. Mais c'est une caractéristique de conception inhérente aux noyaux monolithiques. Ce genre de problèmes de conception a conduit les développeurs à ajouter de nouvelles fonctionnalités et mécanismes au noyau Linux que les autres noyaux ne possèdent pas.

Contrairement aux noyaux monolithiques standard, le noyau Linux est également modulaire, acceptant les modules noyau chargeables (LKM) qui sont généralement utilisés pour ajouter la prise en charge de nouveau matériel (en tant que pilotes de périphériques) et/ou de systèmes de fichiers, ou pour ajouter des appels système. Comme les LKM peuvent être chargés et déchargés dans le système à l'exécution, ils ont l'avantage d'étendre le noyau sans redémarrer ni recompiler. Ainsi, les fonctionnalités du noyau fournies par les modules ne résident pas en mémoire sans être utilisées, et le module correspondant peut être déchargé pour libérer de la mémoire et d'autres ressources.
Les modules noyau chargeables se trouvent dans /lib/modules avec l'extension .ko (kernel object) sous Linux. Alors que la commande lsmod peut être utilisée pour lister les modules noyau chargés, modprobe ou insmod/rmmod sont utilisés pour charger ou décharger un module noyau. insmod/rmmod sont utilisés pour les modules indépendants de modprobe et sans nécessiter une installation dans /lib/modules/$(uname -r).

Voici un exemple simple d'un module noyau Linux qui affiche un message lorsqu'il est chargé et déchargé. Les étapes de construction et d'installation du module à l'aide d'un Makefile sont présentées ci-dessous.``` make # build sudo make install # install sudo modprobe lkm_example # load sudo modprobe -r lkm_example # unload

root@kitploit:~
La commande [dmesg](https://linux.die.net/man/8/dmesg) est utilisée ci-dessous pour récupérer le tampon de messages du noyau.```
[16994.295552] [+] Example kernel module loaded.
[16996.325674] [-] Example kernel module unloaded.

kmon fournit une interface utilisateur textuelle pour gérer les modules du noyau Linux et surveiller les activités du noyau. Gérer signifie charger, décharger, mettre sur liste noire et afficher les informations d'un module. Ces mises à jour des modules du noyau, les journaux concernant le matériel et autres messages du noyau peuvent être suivis grâce au moniteur d'activité en temps réel de kmon. Comme l'utilisation de différents outils comme dmesg et kmod est nécessaire pour ces tâches sous Linux, kmon vise à les rassembler dans une seule fenêtre de terminal et à faciliter au maximum l'utilisation tout en conservant les fonctionnalités.

kmon est écrit en Rust et utilise les bibliothèques Ratatui et termion pour son interface utilisateur textuelle.

Table des matières

  • Installation
    • Cargo
    • Arch Linux
    • Nixpkgs
    • Alpine Linux
    • Docker
      • Build
      • Exécuter
    • Manuelle
      • Remarque
  • Utilisation
    • Options
    • Commandes
      • Trier
  • Raccourcis clavier
  • Fonctionnalités
    • Aide
    • Navigation et défilement
      • Défilement des activités du noyau
      • Défilement fluide
    • Menu des options
    • Tailles des blocs
    • Positions des blocs
    • Informations sur le noyau
    • Informations sur le module
      • Affichage des modules dépendants
      • Sauter aux modules dépendants
    • Recherche d'un module
    • Chargement d'un module
    • Déchargement d'un module
    • Mise sur liste noire d'un module
    • Rechargement d'un module
    • Vidage du tampon circulaire
    • Copier & Coller
    • Tri/inversion des modules du noyau
    • Personnalisation des couleurs
      • Couleurs prises en charge
      • Utilisation d'une couleur personnalisée
      • Changement de la couleur d'accentuation

Installation

Statut de l'empaquetage

Cargo

kmon peut être installé depuis crates.io en utilisant Cargo si Rust est installé.``` cargo install kmon

root@kitploit:~
La version minimale de Rust supportée (MSRV) est `1.74.1`.

### Arch Linux

**kmon** peut être installé depuis le [dépôt officiel](https://www.archlinux.org/packages/extra/x86_64/kmon/) d'Arch Linux.```
pacman -S kmon

Il existe également un paquet de développement sur l'AUR. Utilisez votre AUR helper préféré pour l'installer. Par exemple,``` paru -S kmon-git

root@kitploit:~
### Nixpkgs

**kmon** peut être installé en utilisant le [Nix package manager](https://nixos.org/nix/) depuis le canal `nixpkgs-unstable`.```
nix-channel --add https://nixos.org/channels/nixpkgs-unstable
nix-channel --update nixpkgs
nix-env -iA nixpkgs.kmon

Sur NixOS:``` nix-channel --add https://nixos.org/channels/nixos-unstable nix-channel --update nixos nix-env -iA nixos.kmon

root@kitploit:~
### Alpine Linux

**kmon** est disponible pour [Alpine Edge](https://pkgs.alpinelinux.org/packages?name=kmon&branch=edge). Il peut être installé via [apk](https://wiki.alpinelinux.org/wiki/Alpine_Package_Keeper) après avoir activé le [dépôt communautaire](https://wiki.alpinelinux.org/wiki/Repositories).```
apk add kmon

Docker

Statut de build Docker Hub``` docker run -it --cap-add syslog orhunp/kmon:tagname

root@kitploit:~
#### Construction```
docker build -t kmon .

Exécution```

docker run -it --cap-add syslog kmon

root@kitploit:~
### Manuel

1. Téléchargez le dernier binaire depuis la section [releases](https://github.com/orhun/kmon/releases) et choisissez entre le binaire [glibc](https://en.wikipedia.org/wiki/Glibc) ou [musl-libc](https://musl.libc.org/).
2. Pour télécharger le paquet compilé avec [glibc](https://en.wikipedia.org/wiki/Glibc) exécutez :```
wget https://github.com/orhun/kmon/releases/download/v[VERSION]/kmon-[VERSION]-x86_64-unknown-linux-gnu.tar.gz
  1. Pour télécharger le paquet compilé avec musl-libc exécutez:``` wget https://github.com/orhun/kmon/releases/download/v[VERSION]/kmon-[VERSION]-x86_64-unknown-linux-musl.tar.gz
root@kitploit:~
3. Extrayez les fichiers.```
tar -xvzf kmon-*.tar.gz
  1. Entrez dans le nouveau dossier.``` cd kmon-[VERSION]
root@kitploit:~
5. Exécutez le binaire.```
./kmon
  1. Déplacez le binaire vers /usr/local/bin/ pour l'exécuter depuis le terminal avec la commande kmon.

  2. La page de manuel et les complétions shell sont générées lors de la compilation dans le répertoire target.

Remarque

libxcb doit être installé pour utiliser les commandes copier/coller de X11.

ex : Installez le paquet libxcb1-dev pour Debian/Ubuntu* et le paquet libxcb-devel pour Fedora/openSUSE/Void Linux.

Utilisation```

kmon [OPTIONS] [COMMAND]

root@kitploit:~
### Options```
-a, --accent-color <COLOR>  Set the accent color using hex or color name [default: white]
-c, --color <COLOR>         Set the main color using hex or color name [default: darkgray]
-t, --tickrate <MS>         Set the refresh rate of the terminal [default: 250]
-r, --reverse               Reverse the kernel module list
-u, --unicode               Show Unicode symbols for the block titles
-E, --regex                 Interpret the module search query as a regular expression
-h, --help                  Print help information
-V, --version               Print version information

Commandes```

sort Sort kernel modules

root@kitploit:~
#### Tri```
kmon sort [OPTIONS]

Options:``` -s, --size Sort modules by their sizes -n, --name Sort modules by their names -d, --dependent Sort modules by their dependent modules -h, --help Print help information

root@kitploit:~
## Raccourcis clavier

|                         |                                                |
| ----------------------- | ---------------------------------------------- |
| `[?], F1`               | Aide                                           |
| `right/left, h/l`       | Basculer entre les blocs                       |
| `up/down, k/j, alt-k/j` | Défiler vers le haut/bas [bloc sélectionné]    |
| `pgup/pgdown`           | Défiler vers le haut/bas [activités noyau]     |
| `</>`                   | Défiler vers le haut/bas [infos module]        |
| `alt-h/l`               | Défiler à droite/gauche [activités noyau]      |
| `ctrl-t/b, home/end`    | Aller en haut/bas [liste des modules]          |
| `alt-e/s`               | Agrandir/réduire le bloc sélectionné           |
| `ctrl-x`                | Changer la position du bloc                    |
| `ctrl-l/u, alt-c`       | Effacer le tampon circulaire du noyau          |
| `[d], alt-d`            | Afficher les modules dépendants                |
| `[1]..[9]`              | Sauter au module dépendant                     |
| `[\], tab, backtab`     | Afficher l'info noyau suivante                 |
| `[/], s, enter`         | Chercher un module noyau                       |
| `[+], i, insert`        | Charger un module noyau                        |
| `[-], u, backspace`     | Décharger le module noyau                      |
| `[x], b, delete`        | Mettre le module noyau sur liste noire         |
| `ctrl-r, alt-r`         | Recharger le module noyau                      |
| `m, o`                  | Afficher le menu d'options                     |
| `y/n`                   | Exécuter/annuler la commande                   |
| `c/v`                   | Copier/coller                                  |
| `r, F5`                 | Actualiser                                     |
| `q, ctrl-c/d, ESC`      | Quitter                                        |

## Fonctionnalités

### Aide

Appuyez sur '`?`' pendant l'utilisation de l'interface utilisateur pour voir les raccourcis clavier.

![Aide](https://assets.kitploit.com/production/public/readmes/4513/092daae0aa14fca490bc69381d3db28d4ff9a539c794a1991fb91c71e4424379.gif)

### Navigation et défilement

Les `touches fléchées` sont utilisées pour naviguer entre les blocs et défiler.

![Navigation et défilement](https://assets.kitploit.com/production/public/readmes/4513/da959ba770e1c03f848633a36d54097b8f82c8b41ef9e8e046ba31f6c976a3a3.gif)

#### Défilement des activités du noyau

Certains messages du noyau peuvent être trop longs pour tenir dans le bloc des activités du noyau car ils ne sont pas coupés. Dans ce cas, les activités du noyau peuvent être défilées horizontalement avec les touches `alt-h & alt-l`. Le mécanisme de défilement vertical est le même que pour les autres blocs.

![Défilement des activités du noyau](https://assets.kitploit.com/production/public/readmes/4513/025efb6bfd17e6228b1f623e756c871836df78251defe58c57c65505616a4837.gif)

#### Défilement fluide

Les touches `alt-j & alt-k` peuvent être utilisées pour faire défiler lentement le bloc des activités du noyau et les informations du module.

![Défilement fluide](https://assets.kitploit.com/production/public/readmes/4513/e195f5f4ad41495fa7211bb3a91e12e9b4892a79418e2ce621dec963bed21e42.gif)

### Menu d'options

Les touches `m` et `o` peuvent être utilisées comme raccourci pour les opérations de gestion du noyau. Lorsqu'elles sont pressées, un menu d'options s'affiche pour gérer le module noyau actuellement sélectionné.

![Menu d'options](https://assets.kitploit.com/production/public/readmes/4513/8e5d26b77f927e4a5817c2e4402da8f53a91ec96621b049d05328c8dae544386.gif)

### Tailles des blocs

Les touches `alt-e & alt-s` peuvent être utilisées pour agrandir/réduire le bloc sélectionné.

![Tailles des blocs](https://assets.kitploit.com/production/public/readmes/4513/d563b6e8a665b57a9100ed1ee1dddf4c58029821e38e1ad2ff91d22e4c5c7e2c.gif)

### Positions des blocs

La touche `ctrl-x` peut être utilisée pour changer les positions des blocs.

![Positions des blocs](https://assets.kitploit.com/production/public/readmes/4513/3cf0ddc44319f9fe7e5fa6027d8f66de5e33ea96032e0e19bae8b75d8d276c84.gif)

### Informations sur le noyau

Utilisez l'une des touches `\, tab, backtab` pour basculer entre les informations de version, de version et de plateforme du noyau.

![Informations sur le noyau](https://assets.kitploit.com/production/public/readmes/4513/2003d3fef4bee4ddebbf578f97432611dbadb685f18c93f706f327b7a320bfa1.gif)

### Informations sur le module

L'état d'un module noyau est affiché lors de la sélection.

![Informations sur le module](https://assets.kitploit.com/production/public/readmes/4513/fbd0a6aa127a5de68390c6776bb7ff019f328b600101d53a937fe3b58746c19b.gif)

#### Affichage des modules dépendants

Utilisez l'une des touches `d, alt-d` pour afficher tous les modules dépendants du module sélectionné.

![Affichage des modules dépendants](https://assets.kitploit.com/production/public/readmes/4513/93b382f93492bc58575981ef3bd2e9a5203eab4ee0d3df3cb04f5edc27511adf.gif)

#### Sauter aux modules dépendants

Pour sauter à un module noyau dépendant depuis son module parent, les `touches numériques` (1-9) peuvent être utilisées pour spécifier l'index du module dans la colonne _Utilisé par_.

![Informations de dépendance](https://assets.kitploit.com/production/public/readmes/4513/ddfa494abda891dfe1ac81d6d0c46fe8892ef07314f1ae80702e0603ff37306f.gif)

### Recherche d'un module

Basculez vers la zone de recherche avec les touches fléchées ou en utilisant l'une des touches `/, s, entrée` et fournissez une requête de recherche pour le nom du module.

![Recherche d'un module](https://assets.kitploit.com/production/public/readmes/4513/08a4df2fb9795e789c77cf19fc289a37bd5ec551a6f466e4c8240fb0b1f18f8c.gif)

### Chargement d'un module

Pour ajouter un module au noyau Linux, basculez en mode chargement avec l'une des touches `+, i, insertion` et fournissez le nom du module à charger. Ensuite, confirmez/annulez l'exécution de la commande de chargement avec `y/n`.

![Chargement d'un module](https://assets.kitploit.com/production/public/readmes/4513/fcb829b17f0fe7d09e29a3edbddfac451f17fb6ef5a8739eee855170876ac9ba.gif)

La commande utilisée pour charger un module :```
modprobe <module_name> || insmod <module_name>.ko

Déchargement d'un module

Utilisez l'une des touches -, u, backspace pour supprimer le module sélectionné du noyau Linux.

Déchargement d'un module

The command that used for removing a module:``` modprobe -r <module_name> || rmmod <module_name>

root@kitploit:~
### Mise sur liste noire d'un module

La [mise sur liste noire](https://wiki.archlinux.org/index.php/Kernel_module#Blacklisting) est un mécanisme pour empêcher le chargement du module du noyau. Pour mettre sur liste noire le module sélectionné, utilisez l'une des touches `x, b, delete` et confirmez l'exécution.

![Mise sur liste noire d'un module](https://assets.kitploit.com/production/public/readmes/4513/58af72f6d1ba84074928fbad372c58bf054fe3e16ac6c42e6dadb257ca7c9b41.gif)

La commande utilisée pour mettre sur liste noire un module :```
if ! grep -q <module_name> /etc/modprobe.d/blacklist.conf; then
  echo 'blacklist <module_name>' >> /etc/modprobe.d/blacklist.conf
  echo 'install <module_name> /bin/false' >> /etc/modprobe.d/blacklist.conf
fi

Rechargement d'un module

Utilisez les touches ctrl-r ou alt-r pour recharger le module sélectionné.

Reloading a module

La commande utilisée pour recharger un module :``` modprobe -r <module_name> || rmmod <module_name> && modprobe <module_name> || insmod <module_name>.ko

root@kitploit:~
### Effacement du tampon circulaire

Le tampon circulaire du noyau peut être effacé en utilisant l'une des touches `ctrl-l/u, alt-c`.

![Effacement du tampon circulaire](https://assets.kitploit.com/production/public/readmes/4513/5c693de033427319d9960aa2c1e35cf773a711e736962beb980b564bf071dfbd.gif)```
dmesg --clear

Copier & Coller

Les touches c/v sont définies pour les opérations de copier/coller.

Copier & Coller

Utilisez ctrl-c/ctrl-v pour copier et coller en mode saisie.

Tri/inversion des modules du noyau

La sous-commande sort peut être utilisée pour trier les modules du noyau par leur nom, taille ou modules dépendants.``` kmon sort --name kmon sort --size kmon sort --dependent

root@kitploit:~
![Sorting the kernel modules](https://assets.kitploit.com/production/public/readmes/4513/2e134a1dc23793a61ee9cbb5523063dc8791e9e10b70550cc738da00f8c61f39.gif)

De plus, le flag `-r, --reverse` est utilisé pour inverser la liste des modules du noyau.```
kmon --reverse

Inverser les modules du noyau

Personnalisation des couleurs

kmon utilise les couleurs du terminal par défaut, mais la couleur de surbrillance peut être spécifiée avec l'option -c, --color. Alternativement, la couleur du texte par défaut peut être définie via l'option -a, --accent-color.

Couleurs prises en charge

Les couleurs de terminal prises en charge sont black, red, green, yellow, blue, magenta, cyan, gray, darkgray, lightred, lightgreen, lightyellow, lightblue, lightmagenta, lightcyan, white.``` kmon --color red

root@kitploit:~
![Supported Colors](https://assets.kitploit.com/production/public/readmes/4513/03a0e1fbb0b033dd9571a77a29658679aa74cebc983af4430d590174861649a9.gif)

#### Utilisation d'une couleur personnalisée

Fournissez une valeur hexadécimale pour la couleur à utiliser.```
kmon --color 19683a

Utilisation d'une couleur personnalisée

Modification de la couleur d'accentuation

La couleur de texte par défaut peut causer des problèmes de lisibilité sur certains thèmes transparents. L'option -a, --accent-color peut être utilisée de la même manière que l'option -c, --color pour résoudre ce problème.``` kmon --color 6f849c --accent-color e35760

root@kitploit:~
![Changing the accent color](https://assets.kitploit.com/production/public/readmes/4513/78d04e79126d2382ccfbe48d2a60e183c252c62282e9ef0e501499f07b9f7c60.gif)

### Symboles Unicode

Utilisez le drapeau `-u, --unicode` pour afficher les symboles Unicode dans les titres des blocs.```
kmon --unicode

Symboles Unicode

Réglage de la fréquence de rafraîchissement du terminal

L'option -t, --tickrate peut être utilisée pour définir l'intervalle de rafraîchissement de l'interface utilisateur du terminal en millisecondes.

Réglage de la fréquence de rafraîchissement du terminal

Recherche de modules par expression régulière

L'option -E, --regex peut être utilisée pour rechercher des modules par expression régulière.

Feuille de route

kmon vise à devenir un outil standard pour la gestion du noyau Linux tout en prenant en charge la plupart des distributions Linux.

Accessibilité

Pour atteindre cet objectif, kmon doit être accessible depuis différents gestionnaires de paquets tels que Snap* et RPM.

Dépendances

Il est nécessaire d'avoir les outils essentiels comme dmesg et kmod sur le système pour que kmon fonctionne correctement. Ainsi, la prochaine étape consisterait à utiliser uniquement les ressources système pour ces fonctions.

Fonctionnalités

Les actions de gestion concernant le noyau Linux devraient être applicables dans kmon afin de minimiser la dépendance envers la ligne de commande et d'autres outils.

Tests

kmon devrait être testé et rapporté sur différentes architectures pour un développement et un support ultérieurs.

Ressources

À propos du projet

  • Code de conduite
  • Contribuer
  • Créer une version

Articles

  • Exploration du noyau Linux par Bob Cromwell
  • Anatomie du module noyau chargeable Linux par Terenceli
  • Gestion des modules noyau avec kmod par Lucas De Marchi

Dans les médias

  • Gérer et surveiller les modules du noyau Linux avec Kmon (OSTechNix)
  • Kmon, le logiciel de gestion et de surveillance du noyau Linux (Brodie Robertson sur YouTube)

Galerie

Fedora 31Debian 10Manjaro 19
kmon sur Fedorakmon sur Debiankmon sur Manjaro
Ubuntu 18.04openSUSEVoid Linux
kmon sur Ubuntukmon sur openSUSEkmon sur Void Linux

Réseaux sociaux

  • Suivez @kmonitor_ sur Twitter
  • Suivez l'auteur :
    • @orhun sur GitHub
    • @orhundev sur Twitter

Financement

GitHub

Soutenez le développement de mes projets en me soutenant sur GitHub Sponsors.

Patreon

Bouton Patreon

Open Collective

Contributeurs Open Collective Sponsors Open Collective

Soutenez les efforts de développement open source en devenant contributeur ou sponsor.

Bouton Open Collective

Licence

GNU General Public License (3.0)

Copyright

Copyright © 2020-2024, Orhun Parmaksız

Télécharger l’outil
  • Symboles Unicode
  • Réglage du taux de rafraîchissement du terminal
  • Recherche de modules par expression régulière
  • Feuille de route
    • Accessibilité
    • Dépendances
    • Fonctionnalités
    • Tests
  • Ressources
    • À propos du projet
    • Articles
    • Dans les médias
    • Galerie
    • Réseaux sociaux
  • Financement
    • GitHub
    • Patreon
    • Open Collective
  • Licence
  • Copyright