想了解Linux內核的行為,需要一定的偷窺經驗,大致可以分為以下幾個:
1.使用printk
直接在內核代碼或者模塊代碼的你想偷窺的地方printk一些信息。這種方式需要你會編譯內核代碼以及編譯內核模塊,以及將其正確安裝進內核並啟動之。雖然需要這麼多知識,然而這種方式是比較土的。除非萬不得已,一定有比這更加簡單的方法。
2.查看dmesg
這種方式取決於內核會輸出哪些信息。dmesg顯示的信息一般都是比較重要的信息。
3.精通procfs
procfs中含有大量有用並有趣的信息,要麼你直接看(格式特殊,很難看懂),要麼通過工具分析,比如rtstat,conntrack之類的工具都是在分析proc下的文件並且用可讀的形式顯示出來。一般內核的一些統計信息,都有相應的stat文件以供分析。
4.使用kprobe
這是一種調試手段,然而一般不用,也用不到。
5.使用一些小手段
這就要看你的聰明才智了,想出一些自己的邏輯,引導或者蹂躏內核,使之進入你的圈套,證實你的猜測。