用systemtap研究核心

2021-08-22 09:13:30 字數 1131 閱讀 5390

用systemtap研究核心

作者****:李先靜

前幾天寫了一篇關於kprobes的blog,kprobes是個好東西,不過要編寫c**,要編譯核心模組,稍嫌有些麻煩。今天我們介紹乙個基於kprobes實現的工具systemtap,systemtap是乙個核心trace工具,用它來研究核心,跟蹤核心執行非常方便。我玩了一下,感覺不錯,這裡做個筆記。

systemtap提供了一種簡單的指令碼語言,使用者使用指令碼語言就可以跟蹤核心執行。systemtap把指令碼語言轉換成c語言,編譯成核心模組,核心模組通過kprobes實現對核心的反射,動態修改函式的行為,增加trace功能,這樣使用者就不必寫c**,也不必編譯核心模組了,用起來方便多了。

其實網上已經有一些文章介紹systemtap,不過一般都針對特定系統而言的,這裡我們盡量不依賴特定系統,而從源**構建核心和工具。

1.編譯核心,讓核心支援設計kprobes和debuginfo。

做如下配置:

kernel hacking

[*] kernel debugging

[*] compile the kernel with debug info

instrumentation support

[*] kprobes (experimental)

編譯/安裝:

make;make modules_install;make install

安裝除錯資訊:

cp vmlinux /lib/modules/2.6.18-prep

用新核心起動。

2.wget

tar zxvf elfutils-0.125.tar.gz

cd elfutils-0.125

./configure ;make;make install

3.wget

tar jxvf systemtap-20070602.tar.bz2

cd systemtap

./configure;make;make install

4.試試

#stap -ve 'probe begin '

#stap -c df -e 'probe syscall.open '

好,可以工作了,下一步開始研究核心吧。

~~end~~

用systemtap研究核心以及相關漏洞

作者 李先靜 前幾天寫了一篇關於kprobes的blog,kprobes是個好東西,不過要編寫c 要編譯核心模組,稍嫌有些麻煩。今天我們介紹乙個基於kprobes實現的工具systemtap,systemtap是乙個核心trace工具,用它來研究核心,跟蹤核心執行非常方便。我玩了一下,感覺不錯,這裡...

用systemtap研究核心以及相關漏洞

作者 李先靜 前幾天寫了一篇關於kprobes的blog,kprobes是個好東西,不過要編寫c 要編譯核心模組,稍嫌有些麻煩。今天我們介紹乙個基於kprobes實現的工具systemtap,systemtap是乙個核心trace工具,用它來研究核心,跟蹤核心執行非常方便。我玩了一下,感覺不錯,這裡...

systemtap除錯核心

systemtap是核心開發者必須要掌握的乙個工具,本文我將簡單介紹一下此工具,後續將會有系列文章介紹systemtap的用法。假如現在有這麼乙個需求 需要獲取正在執行的 linux 系統的資訊,如我想知道系統什麼時候發生系統呼叫,發生的是什麼系統呼叫等這些資訊,有什麼解決方案呢?下面將會介紹sys...