問題タブ [kprobe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
30 参照

linux-kernel - Linux-5.8.18 で kprobe カーネル関数に失敗しました

以下のコードで Linux-5.8.18 の kprobe を確認したところ、期待どおりに動作しないようでした。

do_madvise() を調査しようとしました <sys_madvise のシステム コール関数を調査しようとしましたが、/proc/kallsyms を読み取って調査する正しい関数名が見つからなかったので、do_madvise を調査するようになりました。>

register_kprobe() は成功しましたが、アプリケーションがユーザー空間で madvise() を呼び出したときに、提供した kprobe ハンドラーからのカーネル ログがありません。kprobe ハンドラが呼び出されていないか、do_madvise() が適切にプローブされていないようです。

ありがとう、

0 投票する
1 に答える
158 参照

ebpf - どの kprobe フックに eBPF プログラムをアタッチできますか?

eBPF について学んでおり、eBPF プログラムを kprobe、uprobes、トレースポイントなどにアタッチできることを理解しています。/sys/kernel/debug/tracing/events/ の下に、eBPF プログラムをアタッチできるトレースポイントのリストがあることがわかります。しかし、どの kprobe 関数に侵入できるか、たとえば TCP 関連の関数を見つけるにはどうすればよいでしょうか? また、これらの関数シグネチャを見つけるにはどうすればよいですか?

ありがとう。

0 投票する
0 に答える
37 参照

linux - mmap および brk で kprobes を使用してカーネル モジュールを使用して malloc 関数呼び出しを追跡する

mmap と brk でカーネル モジュールと kprobes を使用して、ユーザー空間で malloc 関数が呼び出された回数を確認しようとしています。カーネル内のシステム コールが sys_mmap および sys_brk であることがわかりましたが、カーネル内にモジュールを挿入しようとすると、次のように表示されます。

insmod: mallocmonitor.ko を挿入できません。操作は許可されていません

また、__kmalloc、kfree、または map_region 関数に kprobe を登録すると、問題なく動作します。

誰かがこれについて洞察を持っていますか?

0 投票する
1 に答える
23 参照

system-calls - kprobe をアタッチする場合の「do_sys_open」と「__x86_sys_open」

私はopensnoop.pyを実行しようとしましたが、使用しています

(他のスクリプトで見たことがあります)代わりに

しかし、スクリプトはファイル名の出力を停止します。違いの原因は何ですか?

使用する場合attach_kprobe(event=fn)fnシステムコールですか、それともイベントですか?

ここで/proc/kallsyms説明されているように、可能なシステムコールのリストを取得しますか?