Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
kmon — Gerenciador do Kernel Linux e Monitor de Atividades 🐧💻 | Kitploit
Ferramentas/GitHubGitHub/orhun/kmon
Utilitários de Propósito Geral
GitHuborhun/kmon

kmon

Gerenciador do Kernel Linux e Monitor de Atividades 🐧💻

Ver RepositórioSite
2.9k94há 20 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar


Gerenciador do Kernel Linux e Monitor de Atividades 🐧💻


O kernel é a parte do sistema operacional que facilita as interações entre componentes de hardware e software. Na maioria dos sistemas, ele é carregado na inicialização após o bootloader e lida com requisições de E/S, bem como periféricos como teclados, monitores, adaptadores de rede e alto-falantes. Tipicamente, o kernel é responsável por gerenciamento de memória, gerenciamento de processos, gerenciamento de dispositivos, chamadas de sistema e segurança. Aplicações usam o mecanismo de chamada de sistema para solicitar um serviço do sistema operacional e, na maioria das vezes, essa requisição é passada ao kernel usando uma biblioteca fornecida pelo sistema operacional para invocar a função do kernel relacionada. Enquanto o kernel executa essas tarefas de baixo nível, ele reside em uma parte separada da memória chamada espaço do kernel protegido, que não é acessível por aplicações ou outras partes do sistema. Em contraste, aplicações como navegadores, editores de texto, gerenciadores de janelas ou players de áudio/vídeo usam uma área separada diferente da memória, o espaço do usuário. Essa separação impede que dados do usuário e do kernel interfiram entre si, causando instabilidade e lentidão, além de evitar que programas aplicativos defeituosos derrubem todo o sistema operacional. Existem diferentes designs de kernel devido às diferentes formas de gerenciar chamadas de sistema e recursos. Por exemplo, enquanto kernels monolíticos executam todas as instruções do sistema operacional no mesmo espaço de endereço por velocidade, microkernels usam espaços diferentes para serviços de usuário e kernel por modularidade. Além desses, existem kernels híbridos, nanokernels e exokernels. A arquitetura de kernel híbrido baseia-se na combinação de aspectos de microkernel e kernels monolíticos.

O kernel Linux é o kernel de sistema operacional de código aberto, monolítico e do tipo Unix usado nas distribuições Linux, vários sistemas embarcados como roteadores e também em todos os sistemas baseados em Android. Linus Torvalds concebeu e criou o kernel Linux em 1991 e ainda hoje é desenvolvido por milhares de desenvolvedores. É um exemplo proeminente de software livre e de código aberto e é usado em outros projetos de software livre, notavelmente o sistema operacional GNU. Embora os sistemas operacionais baseados em Linux dominem a maior parte da computação, eles ainda carregam algumas das falhas de design que foram bastante debatidas nos primórdios do Linux. Por exemplo, ele tem a maior pegada e a maior complexidade em relação a outros tipos de kernel. Mas é uma característica de design que os kernels monolíticos têm inerentemente. Esse tipo de problema de design levou os desenvolvedores a adicionar novos recursos e mecanismos ao kernel Linux que outros kernels não possuem.

Ao contrário dos kernels monolíticos padrão, o kernel Linux também é modular, aceitando módulos de kernel carregáveis (LKMs) que são tipicamente usados para adicionar suporte a novos hardware (como drivers de dispositivo) e/ou sistemas de arquivos, ou para adicionar chamadas de sistema. Como os LKMs podem ser carregados e descarregados no sistema em tempo de execução, eles têm a vantagem de estender o kernel sem reinicializar e recompilar. Assim, as funcionalidades do kernel fornecidas por módulos não residem na memória sem serem usadas, e o módulo relacionado pode ser descarregado para liberar memória e outros recursos. Os módulos de kernel carregáveis estão localizados em /lib/modules com a extensão .ko (kernel object) no Linux. Enquanto o comando lsmod pode ser usado para listar os módulos de kernel carregados, modprobe ou insmod/rmmod são usados para carregar ou descarregar um módulo de kernel. insmod/rmmod são usados para módulos independentes do modprobe e sem exigir uma instalação em /lib/modules/$(uname -r).

Aqui está um exemplo simples de um módulo de kernel Linux que imprime uma mensagem quando é carregado e descarregado. As etapas de construção e instalação do módulo usando um Makefile são mostradas abaixo.``` make # build sudo make install # install sudo modprobe lkm_example # load sudo modprobe -r lkm_example # unload

root@kitploit:~
O comando [dmesg](https://linux.die.net/man/8/dmesg) é usado abaixo para recuperar o buffer de mensagens do kernel.```
[16994.295552] [+] Example kernel module loaded.
[16996.325674] [-] Example kernel module unloaded.

kmon fornece uma interface de usuário baseada em texto para gerenciar os módulos do kernel Linux e monitorar as atividades do kernel. Por gerenciar, entende-se carregar, descarregar, colocar na lista negra e mostrar as informações de um módulo. Essas atualizações nos módulos do kernel, logs sobre o hardware e outras mensagens do kernel podem ser rastreadas com o monitor de atividades em tempo real no kmon. Como o uso de diferentes ferramentas como dmesg e kmod é necessário para essas tarefas no Linux, o kmon visa reuni-las em uma única janela de terminal e facilitar o uso tanto quanto possível, mantendo a funcionalidade.

kmon é escrito em Rust e usa as bibliotecas Ratatui e termion para sua interface de usuário baseada em texto.

Tabela de Conteúdo

  • Instalação
    • Cargo
    • Arch Linux
    • Nixpkgs
    • Alpine Linux
    • Docker
      • Construir
      • Executar
    • Manual
      • Nota
  • Uso
    • Opções
    • Comandos
      • Ordenar
  • Atalhos de Teclado
  • Funcionalidades
    • Ajuda
    • Navegação e Rolagem
      • Rolagem de Atividades do Kernel
      • Rolagem Suave
    • Menu de Opções
    • Tamanhos dos Blocos
    • Posições dos Blocos
    • Informações do Kernel
    • Informações do Módulo
      • Exibindo os módulos dependentes
      • Pulando para módulos dependentes
    • Pesquisando um módulo
    • Carregando um módulo
    • Descarregando um módulo
    • Colocando um módulo na lista negra
    • Recarregando um módulo
    • Limpando o buffer circular
    • Copiar e Colar
    • Ordenando/invertendo os módulos do kernel
    • Personalizando as cores
      • Cores suportadas
      • Usando uma cor personalizada
      • Alterando a cor de destaque
    • Símbolos Unicode

Instalação

Packaging status

Cargo

kmon pode ser instalado a partir do crates.io usando o Cargo se o Rust estiver instalado.``` cargo install kmon

root@kitploit:~
The minimum supported Rust version (MSRV) is `1.74.1`.

### Arch Linux

**kmon** pode ser instalado a partir do [repositório oficial](https://www.archlinux.org/packages/extra/x86_64/kmon/) do Arch Linux.```
pacman -S kmon

Existe também um pacote de desenvolvimento no AUR. Use seu ajudante do AUR favorito para instalar. Por exemplo,``` paru -S kmon-git

root@kitploit:~
### Nixpkgs

**kmon** pode ser instalado usando o [gerenciador de pacotes Nix](https://nixos.org/nix/) a partir do canal `nixpkgs-unstable`.```
nix-channel --add https://nixos.org/channels/nixpkgs-unstable
nix-channel --update nixpkgs
nix-env -iA nixpkgs.kmon

No 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á disponível para [Alpine Edge](https://pkgs.alpinelinux.org/packages?name=kmon&branch=edge). Pode ser instalado via [apk](https://wiki.alpinelinux.org/wiki/Alpine_Package_Keeper) após ativar o [repositório comunitário](https://wiki.alpinelinux.org/wiki/Repositories).```
apk add kmon

Docker

Status da Construção do Docker Hub``` docker run -it --cap-add syslog orhunp/kmon:tagname

root@kitploit:~
#### Construção```
docker build -t kmon .

Executar```

docker run -it --cap-add syslog kmon

root@kitploit:~
### Manual

1. Descarregue o binário mais recente da secção [releases](https://github.com/orhun/kmon/releases) e escolha entre binário [glibc](https://en.wikipedia.org/wiki/Glibc) ou [musl-libc](https://musl.libc.org/).
2. Para descarregar o pacote compilado com [glibc](https://en.wikipedia.org/wiki/Glibc) execute:```
wget https://github.com/orhun/kmon/releases/download/v[VERSION]/kmon-[VERSION]-x86_64-unknown-linux-gnu.tar.gz
  1. Para baixar o pacote compilado com musl-libc execute:``` wget https://github.com/orhun/kmon/releases/download/v[VERSION]/kmon-[VERSION]-x86_64-unknown-linux-musl.tar.gz
root@kitploit:~
3. Extraia os ficheiros.```
tar -xvzf kmon-*.tar.gz
  1. Entre na nova pasta.``` cd kmon-[VERSION]
root@kitploit:~
5. Execute o binário.```
./kmon
  1. Mova o binário para /usr/local/bin/ para executá-lo no terminal usando o comando kmon.

  2. A página de manual e as completações de shell são geradas no momento da compilação no diretório target.

Nota

libxcb deve ser instalado para usar os comandos de copiar/colar do X11.

ex.: Instale o pacote libxcb1-dev no Debian/Ubuntu* e o pacote libxcb-devel no Fedora/openSUSE/Void Linux.

Uso```

kmon [OPTIONS] [COMMAND]

root@kitploit:~
### Opções```
-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

Comandos```

sort Sort kernel modules

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

Opções:``` -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:~
## Key Bindings

|                         |                                       |
| ----------------------- | ------------------------------------- |
| `[?], F1`               | Ajuda                                |
| `right/left, h/l`       | Alternar entre blocos                |
| `up/down, k/j, alt-k/j` | Rolar para cima/baixo [bloco selecionado] |
| `pgup/pgdown`           | Rolar para cima/baixo [atividades do kernel] |
| `</>`                   | Rolar para cima/baixo [informações do módulo] |
| `alt-h/l`               | Rolar para direita/esquerda [atividades do kernel] |
| `ctrl-t/b, home/end`    | Rolar para o topo/fim [lista de módulos] |
| `alt-e/s`               | Expandir/reduzir o bloco selecionado  |
| `ctrl-x`                | Alterar a posição do bloco            |
| `ctrl-l/u, alt-c`       | Limpar o buffer circular do kernel    |
| `[d], alt-d`            | Mostrar os módulos dependentes        |
| `[1]..[9]`              | Ir para o módulo dependente           |
| `[\], tab, backtab`     | Mostrar a próxima informação do kernel |
| `[/], s, enter`         | Pesquisar um módulo do kernel         |
| `[+], i, insert`        | Carregar um módulo do kernel          |
| `[-], u, backspace`     | Descarregar o módulo do kernel        |
| `[x], b, delete`        | Colocar na lista negra o módulo do kernel |
| `ctrl-r, alt-r`         | Recarregar o módulo do kernel         |
| `m, o`                  | Mostrar o menu de opções              |
| `y/n`                   | Executar/cancelar o comando           |
| `c/v`                   | Copiar/colar                         |
| `r, F5`                 | Atualizar                            |
| `q, ctrl-c/d, ESC`      | Sair                                 |

## Features

### Ajuda

Pressione '`?`' enquanto executa a interface de terminal para ver as teclas de atalho.

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

### Navegação e Rolagem

As `teclas de seta` são usadas para navegar entre blocos e rolar.

![Navegação e Rolagem](https://assets.kitploit.com/production/public/readmes/4513/da959ba770e1c03f848633a36d54097b8f82c8b41ef9e8e046ba31f6c976a3a3.gif)

#### Rolagem de Atividades do Kernel

Algumas mensagens do kernel podem ser longas o suficiente para não caberem no bloco de atividades do kernel, pois não são quebradas. Nessa situação, as atividades do kernel podem ser roladas horizontalmente com as teclas `alt-h & alt-l`. O mecanismo de rolagem vertical é o mesmo que em outros blocos.

![Rolagem de Atividades do Kernel](https://assets.kitploit.com/production/public/readmes/4513/025efb6bfd17e6228b1f623e756c871836df78251defe58c57c65505616a4837.gif)

#### Rolagem Suave

As teclas `alt-j & alt-k` podem ser usadas para rolar lentamente os blocos de atividade do kernel e informações do módulo.

![Rolagem Suave](https://assets.kitploit.com/production/public/readmes/4513/e195f5f4ad41495fa7211bb3a91e12e9b4892a79418e2ce621dec963bed21e42.gif)

### Menu de Opções

As teclas `m` e `o` podem ser usadas como atalho para operações de gerenciamento do kernel. Quando pressionadas, um menu de opções será exibido para gerenciar o módulo do kernel atualmente selecionado.

![Menu de Opções](https://assets.kitploit.com/production/public/readmes/4513/8e5d26b77f927e4a5817c2e4402da8f53a91ec96621b049d05328c8dae544386.gif)

### Tamanhos dos Blocos

As teclas `alt-e & alt-s` podem ser usadas para expandir/reduzir o bloco selecionado.

![Tamanhos dos Blocos](https://assets.kitploit.com/production/public/readmes/4513/d563b6e8a665b57a9100ed1ee1dddf4c58029821e38e1ad2ff91d22e4c5c7e2c.gif)

### Posições dos Blocos

A tecla `ctrl-x` pode ser usada para alterar as posições dos blocos.

![Posições dos Blocos](https://assets.kitploit.com/production/public/readmes/4513/3cf0ddc44319f9fe7e5fa6027d8f66de5e33ea96032e0e19bae8b75d8d276c84.gif)

### Informações do Kernel

Use uma das teclas `\, tab, backtab` para alternar entre as informações de release, versão e plataforma do kernel.

![Informações do Kernel](https://assets.kitploit.com/production/public/readmes/4513/2003d3fef4bee4ddebbf578f97432611dbadb685f18c93f706f327b7a320bfa1.gif)

### Informações do Módulo

O status de um módulo do kernel é mostrado na seleção.

![Informações do Módulo](https://assets.kitploit.com/production/public/readmes/4513/fbd0a6aa127a5de68390c6776bb7ff019f328b600101d53a937fe3b58746c19b.gif)

#### Exibindo os módulos dependentes

Use uma das teclas `d, alt-d` para mostrar todos os módulos dependentes do módulo selecionado.

![Exibindo os módulos dependentes](https://assets.kitploit.com/production/public/readmes/4513/93b382f93492bc58575981ef3bd2e9a5203eab4ee0d3df3cb04f5edc27511adf.gif)

#### Indo para módulos dependentes

Para ir para um módulo do kernel dependente a partir do módulo pai, as `teclas numéricas` (1-9) podem ser usadas para especificar o índice do módulo na coluna _Usado por_.

![Informações de Dependência](https://assets.kitploit.com/production/public/readmes/4513/ddfa494abda891dfe1ac81d6d0c46fe8892ef07314f1ae80702e0603ff37306f.gif)

### Pesquisando um módulo

Alterne para a área de pesquisa com as teclas de seta ou usando uma das teclas `/, s, enter` e forneça uma consulta de pesquisa para o nome do módulo.

![Pesquisando um módulo](https://assets.kitploit.com/production/public/readmes/4513/08a4df2fb9795e789c77cf19fc289a37bd5ec551a6f466e4c8240fb0b1f18f8c.gif)

### Carregando um módulo

Para adicionar um módulo ao kernel Linux, alterne para o modo de carregamento com uma das teclas `+, i, insert` e forneça o nome do módulo a carregar. Em seguida, confirme/cancele a execução do comando de carregamento com `y/n`.

![Carregando um módulo](https://assets.kitploit.com/production/public/readmes/4513/fcb829b17f0fe7d09e29a3edbddfac451f17fb6ef5a8739eee855170876ac9ba.gif)

O comando usado para carregar um módulo:```
modprobe <module_name> || insmod <module_name>.ko

Descarregando um módulo

Use uma das teclas -, u, backspace para remover o módulo selecionado do kernel Linux.

Descarregando um módulo

O comando usado para remover um módulo:``` modprobe -r <module_name> || rmmod <module_name>

root@kitploit:~
### Colocando um módulo na lista negra

[A colocação de um módulo na lista negra](https://wiki.archlinux.org/index.php/Kernel_module#Blacklisting) é um mecanismo para impedir que o módulo do kernel seja carregado. Para colocar o módulo selecionado na lista negra, use uma das teclas `x, b, delete` e confirme a execução.

![Colocando um módulo na lista negra](https://assets.kitploit.com/production/public/readmes/4513/58af72f6d1ba84074928fbad372c58bf054fe3e16ac6c42e6dadb257ca7c9b41.gif)

O comando usado para colocar um módulo na lista negra:```
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

Recarregando um módulo

Use a tecla ctrl-r ou alt-r para recarregar o módulo selecionado.

Reloading a module

O comando usado para recarregar um módulo:``` modprobe -r <module_name> || rmmod <module_name> && modprobe <module_name> || insmod <module_name>.ko

root@kitploit:~
### Limpando o buffer de anel

O buffer de anel do kernel pode ser limpo usando uma das teclas `ctrl-l/u, alt-c`.

![Clearing the ring buffer](https://assets.kitploit.com/production/public/readmes/4513/5c693de033427319d9960aa2c1e35cf773a711e736962beb980b564bf071dfbd.gif)```
dmesg --clear

Copiar e Colar

As teclas c/v estão definidas para operações de copiar/colar.

Copy & Paste

Use ctrl-c/ctrl-v para copiar e colar enquanto estiver no modo de entrada.

Ordenar/reverter os módulos do kernel

O subcomando sort pode ser usado para ordenar os módulos do kernel por seus nomes, tamanhos ou módulos dependentes.``` kmon sort --name kmon sort --size kmon sort --dependent

root@kitploit:~
![Ordenando os módulos do kernel](https://assets.kitploit.com/production/public/readmes/4513/2e134a1dc23793a61ee9cbb5523063dc8791e9e10b70550cc738da00f8c61f39.gif)

Além disso, a flag `-r, --reverse` é usada para reverter a lista de módulos do kernel.```
kmon --reverse

Reversing the kernel modules

Personalizando as cores

O kmon usa as cores do terminal como padrão, mas a cor de destaque pode ser especificada com a opção -c, --color. Alternativamente, a cor padrão do texto pode ser definida através da opção -a, --accent-color.

Cores suportadas

As cores de terminal suportadas são 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)

#### Usando uma cor personalizada

Forneça um valor hexadecimal para a cor a ser usada.```
kmon --color 19683a

Using a custom color

Alterando a cor de destaque

A cor do texto padrão pode causar problemas de legibilidade em alguns temas que têm transparência. A opção -a, --accent-color pode ser usada de forma semelhante à opção -c, --color para superar esse problema.``` kmon --color 6f849c --accent-color e35760

root@kitploit:~
![Alterando a cor de destaque](https://assets.kitploit.com/production/public/readmes/4513/78d04e79126d2382ccfbe48d2a60e183c252c62282e9ef0e501499f07b9f7c60.gif)

### Símbolos Unicode

Use a flag `-u, --unicode` para exibir símbolos Unicode nos títulos dos blocos.```
kmon --unicode

Símbolos Unicode

Definindo a taxa de atualização do terminal

A opção -t, --tickrate pode ser usada para definir o intervalo de atualização da interface do terminal em milissegundos.

Definindo a taxa de atualização do terminal

Pesquisando módulos por expressão regular

A opção -E, --regex pode ser usada para pesquisar módulos por expressão regular.

Roadmap

kmon pretende ser uma ferramenta padrão para gerenciamento do kernel Linux enquanto suporta a maioria das distribuições Linux.

Acessibilidade

Para alcançar este objetivo, kmon deve estar acessível a partir de diferentes gerenciadores de pacotes como Snap* e RPM.

Dependências

É necessário ter ferramentas essenciais como dmesg e kmod no sistema para que kmon funcione conforme esperado. Assim, o próximo passo seria usar apenas os recursos do sistema para essas funções.

Funcionalidades

Ações de gerenciamento sobre o kernel Linux devem ser aplicáveis no kmon para minimizar a dependência da linha de comando e outras ferramentas.

Testes

kmon deve ser testado e relatado em diferentes arquiteturas para desenvolvimento e suporte adicionais.

Recursos

Sobre o projeto

  • Código de conduta
  • Contribuindo
  • Criando um release

Artigos

  • Explorando o Kernel Linux por Bob Cromwell
  • Anatomia do módulo carregável do kernel Linux por Terenceli
  • Gerenciando módulos do kernel com kmod por Lucas De Marchi

Na mídia

  • Gerenciar e Monitorar Módulos do Kernel Linux com Kmon ( OSTechNix)
  • Kmon: O Software de Gerenciamento e Monitoramento do Kernel Linux (Brodie Robertson no YouTube)

Galeria

Fedora 31Debian 10Manjaro 19
kmon no fedorakmon no debiankmon no manjaro
Ubuntu 18.04openSUSEVoid Linux
kmon no ubuntukmon no opensusekmon no voidlinux

Mídias Sociais

  • Siga @kmonitor_ no Twitter
  • Siga o autor:
    • @orhun no GitHub
    • @orhundev no Twitter

Financiamento

GitHub

Apoie o desenvolvimento dos meus projetos me apoiando no GitHub Sponsors.

Patreon

Botão do Patreon

Open Collective

Apoiadores do Open Collective Patrocinadores do Open Collective

Apoie os esforços de desenvolvimento de código aberto tornando-se um apoiador ou patrocinador.

Botão do Open Collective

Licença

GNU General Public License (3.0)

Direitos Autorais

Copyright © 2020-2024, Orhun Parmaksız

Baixar ferramenta
  • Configurando a taxa de atualização do terminal
  • Pesquisando módulos por expressão regular
  • Roteiro
    • Acessibilidade
    • Dependências
    • Funcionalidades
    • Testes
  • Recursos
    • Sobre o projeto
    • Artigos
    • Na mídia
    • Galeria
    • Redes Sociais
  • Financiamento
    • GitHub
    • Patreon
    • Open Collective
  • Licença
  • Direitos Autorais