Chinaunix
标题:
利用systemtap学习Linux路由代码
[打印本页]
作者:
pwp_cu
时间:
2013-07-11 10:20
标题:
利用systemtap学习Linux路由代码
本帖最后由 pwp_cu 于 2013-07-11 10:20 编辑
一、为什么要这样做
读kernel route子系统代码,当我弄懂了数据结构之间的关系以及控制流程后,
心里还是不妥贴,总有一种“纸上得来终觉浅,绝知此事要躬行”的感觉。
此时,systemtap能起大作用。
二、准备工作
安装systemtap, kernel, kernel-debuginfo, kernel-debuginfo-common等。
uname -r
2.6.38.6-26.rc1.fc15.i686
http://ftp.jaist.ac.jp/pub/Linux ... 26.rc1.fc15.src.rpm
rpmbuild --rebuild --target=i686 --without pae --without perf --with firmware --without debug kernel-2.6.38.6-26.rc1.fc15.src.rpm
三、编写脚本
这个脚本是针对 2.6.38.6-26代码编写的,如果你使用别的kernel版本,
需要相应的修改。需要重命名成 route.tap。
route.tap.tar.gz
(171 Bytes, 下载次数: 77)
2013-07-11 10:17 上传
点击文件名下载附件
systemtap脚本
四、运行
在一个终端运行:
stap -v route.tap |tee log
在另一个终端运行:
ip route flush cache
ssh 10.66.66.66
五:分析
分析log文件,你就可以看到整个路由查找的过程。
如
log.tar.gz
(1.07 KB, 下载次数: 82)
2013-07-11 10:17 上传
点击文件名下载附件
log文件
鱼饮水,冷暖自知,乐趣尽在其中!
作者:
Godbach
时间:
2013-07-11 13:33
回复
1#
pwp_cu
感谢 LZ 分享
作者:
peruke
时间:
2013-07-11 16:07
mark mark
作者:
gpstrive
时间:
2013-07-11 17:47
本帖最后由 gpstrive 于 2013-07-11 17:49 编辑
systemtap 很强大,我以前跟踪路由的时候,用的是UML,感觉没有这个方便。
回复
1#
pwp_cu
作者:
瀚海书香
时间:
2013-07-12 11:04
回复
1#
pwp_cu
systemtap+kprobe 分析内核的确比较方便。
多谢分享!
作者:
daniel_11
时间:
2013-07-12 14:45
mark下,多谢分享~
作者:
zghover
时间:
2013-08-26 07:25
楼主的route.tap文件打不开把?
作者:
pwp_cu
时间:
2013-10-12 11:13
还真是,原来的route.tap被我压缩时搞坏了。
贴个例子吧,不是针对2.6.38.6-26内核的了,里面的具体行数需要相应修改。
route.tar
2013-10-12 11:13 上传
点击文件名下载附件
10 KB, 下载次数: 30
作者:
humjb_1983
时间:
2013-10-12 12:46
学习一下~
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2