Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
kmon — Linux カーネルマネージャーおよびアクティビティモニター 🐧💻 | Kitploit
ツール/GitHubGitHub/orhun/kmon
汎用ユーティリティ
GitHuborhun/kmon

kmon

Linux カーネルマネージャーおよびアクティビティモニター 🐧💻

リポジトリを見るウェブサイト
2.9k9420日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有


Linuxカーネルマネージャーおよびアクティビティモニター 🐧💻


カーネルは、オペレーティングシステムの一部であり、_ハードウェア_と_ソフトウェア_コンポーネント間のやり取りを促進します。ほとんどのシステムでは、_ブートローダー_の後に起動時にロードされ、I/O要求やキーボード、モニター、ネットワークアダプター、スピーカーなどの周辺機器を処理します。通常、カーネルはメモリ管理、プロセス管理、デバイス管理、システムコール、セキュリティを担当します。 アプリケーションは、システムコール機構を使用してオペレーティングシステムからサービスを要求し、ほとんどの場合、この要求はオペレーティングシステムが提供するライブラリを使用してカーネルに渡され、関連するカーネル関数が呼び出されます。カーネルがこれらの低レベルタスクを実行している間、カーネルはアプリケーションやシステムの他の部分からアクセスできない保護カーネル空間と呼ばれるメモリの別の領域に常駐します。対照的に、ブラウザ、テキストエディタ、ウィンドウマネージャ、オーディオ/ビデオプレーヤーなどのアプリケーションは、メモリの異なる別の領域であるユーザ空間を使用します。この分離により、ユーザデータとカーネルデータが相互に干渉して不安定性や速度低下を引き起こすのを防ぎ、また、誤動作するアプリケーションプログラムがオペレーティングシステム全体をクラッシュさせるのを防ぎます。 システムコールとリソースを管理する方法が異なるため、さまざまなカーネル設計があります。たとえば、モノリシックカーネルはすべてのオペレーティングシステム命令を同じアドレス空間で実行します(速度のため)、一方マイクロカーネルはユーザとカーネルのサービスに異なる空間を使用します(モジュール性のため)。これら以外にも、ハイブリッドカーネル、ナノカーネル、エクソカーネルがあります。ハイブリッドカーネルアーキテクチャは、マイクロカーネルとモノリシックカーネルの側面を組み合わせたものです。

Linuxカーネルは、オープンソースでモノリシックなUnix系オペレーティングシステムカーネルであり、Linuxディストリビューション、ルーターなどのさまざまな組み込みシステム、およびすべてのAndroidベースシステムで使用されています。リーナス・トーバルズは1991年にLinuxカーネルを考案・作成し、今日も数千人の開発者によって開発が続けられています。これはフリーかつオープンソースソフトウェアの顕著な例であり、特にGNUオペレーティングシステムなどの他のフリーソフトウェアプロジェクトで使用されています。 Linuxベースのオペレーティングシステムはコンピューティングの大部分を支配していますが、それでもLinuxの初期に多くの議論の的となった設計上の欠陥をいくつか抱えています。たとえば、他のタイプのカーネルに比べて最も大きなフットプリントと最も複雑さを持っています。しかし、これはモノリシックカーネルが本質的に持つ設計上の特徴です。このような設計上の問題により、開発者は他のカーネルにはない新しい機能やメカニズムをLinuxカーネルに追加するようになりました。

標準のモノリシックカーネルとは異なり、Linuxカーネルはモジュール式でもあり、新しい_ハードウェア_(デバイスドライバとして)や_ファイルシステム_のサポートを追加したり、_システムコール_を追加したりするために通常使用される**ローダブルカーネルモジュール(LKM)**を受け入れます。LKMはランタイムでシステムにロードおよびアンロードできるため、再起動や再コンパイルせずにカーネルを拡張できる利点があります。したがって、モジュールが提供するカーネル機能は使用されていない間はメモリに常駐せず、関連するモジュールをアンロードしてメモリやその他のリソースを解放できます。 ローダブルカーネルモジュールは、Linuxでは/lib/modulesに.ko(カーネルオブジェクト)拡張子で配置されます。ロードされたカーネルモジュールの一覧表示にはlsmodコマンドが使用でき、カーネルモジュールのロードまたはアンロードにはmodprobeまたはinsmod/rmmodが使用されます。insmod/rmmodは、modprobeから独立しており、/lib/modules/$(uname -r)へのインストールを必要としないモジュールに使用されます。

以下に、ロード時とアンロード時にメッセージを出力する簡単なLinuxカーネルモジュールの例を示します。モジュールのビルドおよびインストール手順をMakefileを使用して以下に示します。``` make # build sudo make install # install sudo modprobe lkm_example # load sudo modprobe -r lkm_example # unload

root@kitploit:~
以下の例では、カーネルのメッセージバッファを取得するために[dmesg](https://linux.die.net/man/8/dmesg)コマンドが使用されています。```
[16994.295552] [+] Example kernel module loaded.
[16996.325674] [-] Example kernel module unloaded.

kmon は、テキストベースのユーザーインターフェース を提供し、Linux カーネルモジュールの管理とカーネルアクティビティの監視を行います。管理とは、モジュールのロード、アンロード、ブラックリスト登録、情報表示を意味します。カーネルモジュールのこれらの更新、ハードウェアに関するログ、その他のカーネルメッセージは、kmon のリアルタイムアクティビティモニターで追跡できます。Linux ではこれらのタスクに dmesg や kmod などの異なるツールの使用が必要であるため、kmon はそれらを1つのターミナルウィンドウに集約し、機能を維持しながら可能な限り使いやすくすることを目指しています。

kmon は Rust で書かれており、テキストベースのユーザーインターフェースに Ratatui と termion ライブラリを使用しています。

目次

  • インストール
    • Cargo
    • Arch Linux
    • Nixpkgs
    • Alpine Linux
    • Docker
      • ビルド
      • 実行
    • 手動
      • 注意
  • 使い方
    • オプション
    • コマンド
      • ソート
  • キーバインディング
  • 機能
    • ヘルプ
    • ナビゲーションとスクロール
      • カーネルアクティビティのスクロール
      • スムーズスクロール
    • オプションメニュー
    • ブロックサイズ
    • ブロック位置
    • カーネル情報
    • モジュール情報
      • 依存モジュールの表示
      • 依存モジュールへのジャンプ
    • モジュールの検索
    • モジュールのロード
    • モジュールのアンロード
    • モジュールのブラックリスト登録
    • モジュールのリロード
    • リングバッファのクリア
    • コピー&ペースト
    • カーネルモジュールのソート/逆順
    • 色のカスタマイズ
      • サポートされている色
      • カスタム色の使用
      • アクセントカラーの変更
    • Unicode シンボル
    • ターミナルのティックレートの設定
    • 正規表現によるモジュールの検索
  • ロードマップ
    • アクセシビリティ

インストール

Packaging status

Cargo

kmon は、Rust がインストールされていれば、Cargo を使用して crates.io からインストールできます。``` cargo install kmon

root@kitploit:~
サポートされる最小のRustバージョン(MSRV)は`1.74.1`です。

### Arch Linux

**kmon**はArch Linuxの[公式リポジトリ](https://www.archlinux.org/packages/extra/x86_64/kmon/)からインストールできます。```
pacman -S kmon

開発パッケージはAURにもあります。お好みのAUR helperを使用してインストールしてください。例えば、``` paru -S kmon-git

root@kitploit:~
### Nixpkgs

**kmon** は、[Nix package manager](https://nixos.org/nix/) を使用して `nixpkgs-unstable` チャンネルからインストールできます。```
nix-channel --add https://nixos.org/channels/nixpkgs-unstable
nix-channel --update nixpkgs
nix-env -iA nixpkgs.kmon

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

root@kitploit:~
### Alpine Linux

**kmon** は、[Alpine Edge](https://pkgs.alpinelinux.org/packages?name=kmon&branch=edge) で利用可能です。[community リポジトリ](https://wiki.alpinelinux.org/wiki/Repositories) を有効にした後、[apk](https://wiki.alpinelinux.org/wiki/Alpine_Package_Keeper) を使用してインストールできます。```
apk add kmon

Docker

Docker Hub Build Status``` docker run -it --cap-add syslog orhunp/kmon:tagname

root@kitploit:~
#### ビルド```
docker build -t kmon .

実行```

docker run -it --cap-add syslog kmon

root@kitploit:~
### マニュアル

1. 最新のバイナリを [リリース](https://github.com/orhun/kmon/releases) セクションからダウンロードし、[glibc](https://en.wikipedia.org/wiki/Glibc) または [musl-libc](https://musl.libc.org/) バイナリのいずれかを選択してください。
2. [glibc](https://en.wikipedia.org/wiki/Glibc) でコンパイルされたパッケージをダウンロードするには、次のコマンドを実行します:```
wget https://github.com/orhun/kmon/releases/download/v[VERSION]/kmon-[VERSION]-x86_64-unknown-linux-gnu.tar.gz
  1. musl-libc でコンパイルされたパッケージをダウンロードするには、次を実行してください:``` wget https://github.com/orhun/kmon/releases/download/v[VERSION]/kmon-[VERSION]-x86_64-unknown-linux-musl.tar.gz
root@kitploit:~
3. ファイルを展開します。```
tar -xvzf kmon-*.tar.gz
  1. 新しいフォルダに移動します。``` cd kmon-[VERSION]
root@kitploit:~
5. バイナリを実行する。```
./kmon
  1. /usr/local/bin/ にバイナリを移動して、kmon コマンドでターミナルから実行できるようにします。

  2. マニュアルページとシェル補完は、ビルド時に target ディレクトリに生成されます。

ノート

X11 のコピー/ペーストコマンドを使用するには、libxcb がインストールされている必要があります。

例: Debian/Ubuntu* では libxcb1-dev パッケージ、Fedora/openSUSE/Void Linux では libxcb-devel パッケージをインストールしてください。

使用方法```

kmon [OPTIONS] [COMMAND]

root@kitploit:~
### オプション```
-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

コマンド```

sort Sort kernel modules

root@kitploit:~
#### ソート```
kmon sort [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:~
## Key Bindings

|                         |                                       |
| ----------------------- | ------------------------------------- |
| `[?], F1`               | ヘルプ                                  |
| `right/left, h/l`       | ブロック間の切り替え                             |
| `up/down, k/j, alt-k/j` | [選択したブロック] を上下にスクロール              |
| `pgup/pgdown`           | [カーネルアクティビティ] を上下にスクロール          |
| `</>`                   | [モジュール情報] を上下にスクロール                |
| `alt-h/l`               | [カーネルアクティビティ] を左右にスクロール          |
| `ctrl-t/b, home/end`    | [モジュールリスト] の先頭/末尾にスクロール           |
| `alt-e/s`               | 選択したブロックを拡大/縮小                        |
| `ctrl-x`                | ブロックの位置を変更                              |
| `ctrl-l/u, alt-c`       | カーネルリングバッファをクリア                      |
| `[d], alt-d`            | 依存モジュールを表示                              |
| `[1]..[9]`              | 依存モジュールにジャンプ                         |
| `[\], tab, backtab`     | 次のカーネル情報を表示                           |
| `[/], s, enter`         | カーネルモジュールを検索                          |
| `[+], i, insert`        | カーネルモジュールをロード                         |
| `[-], u, backspace`     | カーネルモジュールをアンロード                      |
| `[x], b, delete`        | カーネルモジュールをブラックリストに追加              |
| `ctrl-r, alt-r`         | カーネルモジュールをリロード                        |
| `m, o`                  | オプションメニューを表示                           |
| `y/n`                   | コマンドを実行/キャンセル                          |
| `c/v`                   | コピー/ペースト                                |
| `r, F5`                 | リフレッシュ                                    |
| `q, ctrl-c/d, ESC`      | 終了                                           |

## 機能

### ヘルプ

ターミナルUIの実行中に '`?`' を押すと、キーバインドが表示されます。

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

### ナビゲーションとスクロール

'矢印キー' はブロック間の移動とスクロールに使用されます。

![Navigating & Scrolling](https://assets.kitploit.com/production/public/readmes/4513/da959ba770e1c03f848633a36d54097b8f82c8b41ef9e8e046ba31f6c976a3a3.gif)

#### カーネルアクティビティのスクロール

一部のカーネルメッセージは折り返されないため、カーネルアクティビティブロックに収まらないほど長い場合があります。その場合、`alt-h` および `alt-l` キーで水平方向にスクロールできます。垂直方向のスクロールは他のブロックと同じです。

![Scrolling Kernel Activities](https://assets.kitploit.com/production/public/readmes/4513/025efb6bfd17e6228b1f623e756c871836df78251defe58c57c65505616a4837.gif)

#### スムーズスクロール

`alt-j` および `alt-k` キーを使用すると、カーネルアクティビティとモジュール情報ブロックをゆっくりスクロールできます。

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

### オプションメニュー

`m` キーと `o` キーは、カーネル管理操作へのショートカットとして使用できます。押すと、現在選択されているカーネルモジュールを管理するためのオプションメニューが表示されます。

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

### ブロックサイズ

`alt-e` および `alt-s` キーを使用して、選択したブロックを拡大/縮小できます。

![Block Sizes](https://assets.kitploit.com/production/public/readmes/4513/d563b6e8a665b57a9100ed1ee1dddf4c58029821e38e1ad2ff91d22e4c5c7e2c.gif)

### ブロック位置

`ctrl-x` キーを使用してブロックの位置を変更できます。

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

### カーネル情報

`\, tab, backtab` キーのいずれかを使用して、カーネルリリース、バージョン、プラットフォーム情報を切り替えます。

![Kernel Information](https://assets.kitploit.com/production/public/readmes/4513/2003d3fef4bee4ddebbf578f97432611dbadb685f18c93f706f327b7a320bfa1.gif)

### モジュール情報

カーネルモジュールの状態は選択時に表示されます。

![Module Information](https://assets.kitploit.com/production/public/readmes/4513/fbd0a6aa127a5de68390c6776bb7ff019f328b600101d53a937fe3b58746c19b.gif)

#### 依存モジュールの表示

`d, alt-d` キーのいずれかを使用して、選択したモジュールの全ての依存モジュールを表示します。

![Displaying the dependent modules](https://assets.kitploit.com/production/public/readmes/4513/93b382f93492bc58575981ef3bd2e9a5203eab4ee0d3df3cb04f5edc27511adf.gif)

#### 依存モジュールへのジャンプ

親モジュールから依存カーネルモジュールにジャンプするには、数字キー (1-9) を使用して、_Used By_ 列のモジュールのインデックスを指定します。

![Dependency Information](https://assets.kitploit.com/production/public/readmes/4513/ddfa494abda891dfe1ac81d6d0c46fe8892ef07314f1ae80702e0603ff37306f.gif)

### モジュールの検索

矢印キーまたは `/, s, enter` のいずれかを使用して検索エリアに移動し、モジュール名の検索クエリを入力します。

![Searching a module](https://assets.kitploit.com/production/public/readmes/4513/08a4df2fb9795e789c77cf19fc289a37bd5ec551a6f466e4c8240fb0b1f18f8c.gif)

### モジュールのロード

Linuxカーネルにモジュールを追加するには、`+, i, insert` キーのいずれかでロードモードに切り替え、ロードするモジュールの名前を入力します。その後、`y/n` でロードコマンドの実行を確認/キャンセルします。

![Loading a module](https://assets.kitploit.com/production/public/readmes/4513/fcb829b17f0fe7d09e29a3edbddfac451f17fb6ef5a8739eee855170876ac9ba.gif)

モジュールのロードに使用されるコマンド:```
modprobe <module_name> || insmod <module_name>.ko

モジュールのアンロード

-, u, backspace キーのいずれかを使用して、選択したモジュールをLinuxカーネルからアンロードします。

Unloading a module

モジュールの削除に使用するコマンド:``` modprobe -r <module_name> || rmmod <module_name>

root@kitploit:~
### モジュールのブラックリスト化

[ブラックリスト化](https://wiki.archlinux.org/index.php/Kernel_module#Blacklisting)は、カーネルモジュールの読み込みを防ぐ仕組みです。選択したモジュールをブラックリスト化するには、`x, b, delete` キーのいずれかを使用し、実行を確認します。

![モジュールのブラックリスト化](https://assets.kitploit.com/production/public/readmes/4513/58af72f6d1ba84074928fbad372c58bf054fe3e16ac6c42e6dadb257ca7c9b41.gif)

モジュールのブラックリスト化に使用されるコマンド:```
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

モジュールのリロード

選択したモジュールをリロードするには、ctrl-r または alt-r キーを使用します。

モジュールのリロード

モジュールのリロードに使用するコマンド:``` modprobe -r <module_name> || rmmod <module_name> && modprobe <module_name> || insmod <module_name>.ko

root@kitploit:~
### リングバッファのクリア

カーネルリングバッファは、`ctrl-l/u, alt-c` キーのいずれかを使用してクリアできます。

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

コピー&ペースト

c/v キーはコピー/ペースト操作に設定されています。

コピー&ペースト

入力モード中は ctrl-c/ctrl-v を使用してコピーとペーストを行います。

カーネルモジュールのソート/反転

sort サブコマンドを使用すると、カーネルモジュールを名前、サイズ、または依存モジュールでソートできます。``` kmon sort --name kmon sort --size kmon sort --dependent

root@kitploit:~
![カーネルモジュールのソート](https://assets.kitploit.com/production/public/readmes/4513/2e134a1dc23793a61ee9cbb5523063dc8791e9e10b70550cc738da00f8c61f39.gif)

また、`-r, --reverse` フラグはカーネルモジュールリストを逆順にするために使用されます。```
kmon --reverse

Reversing the kernel modules

色のカスタマイズ

kmon はデフォルトでターミナルの色を使用しますが、強調色は -c, --color オプションで指定できます。また、デフォルトの文字色は -a, --accent-color オプションで設定できます。

サポートされている色

サポートされているターミナルの色は 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)

#### カスタムカラーの使用

使用する色の16進値を指定します。```
kmon --color 19683a

Using a custom color

アクセントカラーの変更

デフォルトのテキスト色は、透明性のあるテーマによっては可読性の問題を引き起こす可能性があります。この問題を解決するために、-a, --accent-color オプションを -c, --color オプションと同様に使用できます。``` kmon --color 6f849c --accent-color e35760

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

### Unicode 記号

ブロックタイトルにUnicode記号を表示するには、`-u, --unicode` フラグを使用します。```
kmon --unicode

Unicode symbols

ターミナルのティックレート設定

-t, --tickrate オプションを使用すると、ターミナルUIの更新間隔をミリ秒単位で設定できます。

Setting the terminal tick rate

正規表現によるモジュールの検索

-E, --regex オプションを使用すると、正規表現でモジュールを検索できます。

ロードマップ

kmonは、ほとんどのLinuxディストリビューションをサポートしながら、Linuxカーネル管理の標準ツールになることを目指しています。

アクセシビリティ

この目標を達成するために、kmonはSnap*やRPMなどのさまざまなパッケージマネージャからアクセスできるようにする必要があります。

依存関係

kmonが期待通り動作するためには、dmesgやkmodのような必須ツールがシステムにインストールされている必要があります。したがって、次のステップはこれらの機能にシステムリソースのみを使用することです。

機能

Linuxカーネルに関する管理アクションは、コマンドラインや他のツールへの依存を最小限に抑えるためにkmon内で実行可能であるべきです。

テスト

kmonは、さらなる開発とサポートのために、さまざまなアーキテクチャでテストされ、報告されるべきです。

リソース

プロジェクトについて

  • 行動規範
  • コントリビューション
  • リリース作成

記事

  • Exploring the Linux Kernel by Bob Cromwell
  • Anatomy of the Linux loadable kernel module by Terenceli
  • Managing kernel modules with kmod by Lucas De Marchi

メディア掲載

  • Manage And Monitor Linux Kernel Modules With Kmon (OSTechNix)
  • Kmon The Linux Kernel Management And Monitoring Software (Brodie Robertson on YouTube)

ギャラリー

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

ソーシャルメディア

  • Twitterで@kmonitor_をフォロー
  • 著者をフォロー:
    • GitHubで@orhun
    • Twitterで@orhundev

資金提供

GitHub

GitHub Sponsorsで私をサポートして、私のプロジェクトの開発を支援してください。

Patreon

Patreon Button

Open Collective

Open Collective backers Open Collective sponsors

バッカーまたはスポンサーになることで、オープンソース開発の取り組みを支援してください。

Open Collective Button

ライセンス

GNU General Public License (3.0)

著作権

Copyright © 2020-2024, Orhun Parmaksız

ツールをダウンロード
依存関係
  • 機能
  • テスト
  • リソース
    • プロジェクトについて
    • 記事
    • メディアで
    • ギャラリー
    • ソーシャルメディア
  • 資金提供
    • GitHub
    • Patreon
    • Open Collective
  • ライセンス
  • 著作権