我们知道stap命令的-l(或-L)选项可以列出指定的某个probe描述中所有符合的probe点的列表,例如可以使用下面的命令,看到所有可以probe的函数:
stap -l 'kernel.function("*")'
今天在看书的时候,突然想到可以利用这个选项来找到一些内核函数的定义,例如sys_open()的定义。不管是source insight还是vim+ctag+cscope+taglist这样的组合看代码时,如果要想找到某个系统调用的定义,都需要在工程里搜索,因为这些系统调用在定义的时候都是用SYSCALL_DEFINE0、SYSCALL_DEFINE1等这样的宏来定义的,这些工具都没法直接找到其准确定义的位置。但是现在我们可以利用stap命令的-l选项,先准确地找到其具体的位置,然后精确地去某个文件的某一行就可以找到,非常快捷方便。下面就以sys_open()为例来演示这个过程。
1、找到具体的位置
命令和输出如下:
[root@CentOS____190 ~]# stap -l 'kernel.function("sys_open")'
kernel.function(sys_open@fs/open.c:913)

2、找到定义的位置

如下所示:
上面的步骤只是一个思路,如果想进一步简化的话,可以直接写一个脚本,每次只需要输入要查找的函数名称就行了,避免做重复的劳动。

SystemTap----利用stap命令来查找内核函数定义相关推荐

  1. linux Rootkit:x86与ARM的内联内核函数Hooking

    介绍 几个月前,我添加了一个新的项目.(https://github.com/mncoppola/suterusu)         通过我的各种对路由器后门及内核漏洞利用的探险,我最近的兴趣转向Li ...

  2. linux下的系统调用函数到内核函数的追踪

    Original from: http://blog.chinaunix.net/uid-28458801-id-3468966.html 使用的 glibc : glibc-2.17 使用的 lin ...

  3. linux应用调用内核函数,Hooking linux内核函数(一):寻找完美解决方案

    前言 我们最近参与了一个Linux系统安全相关项目,需要hooking几个重要的Linux内核函数调用,例如打开文件和启动进程,并利用它来启用系统活动监控并抢先阻止可疑进程. 最后,我们发明了一种有效 ...

  4. linux c语言内核函数手册,Linux C函数实例速查手册

    函数学习目录: 第1章 初级I/O函数 1.1 close函数:关闭已经打开的文件 1.2 creat函数:创建一个文件 1.3 dup函数:复制文件描述符 1.4 dup2函数:复制文件描述符到指定 ...

  5. linux性能优化——利用perf火焰图分析内核调用

    1.内核进程 我们知道,在 Linux 中,用户态进程的"祖先",都是 PID 号为 1 的 init 进程.比如,现在主流的 Linux 发行版中,init 都是 systemd ...

  6. 使用SystemTap分析lvextend命令的执行过程

    使用SystemTap分析lvextend命令的执行过程 1)在SUSE12sp3系统上安装systemstap工具,lvm的debuginfo和debugsource对应的rpm包. 2)准备测试用 ...

  7. Linux中利用grep命令如何检索文件内容详解

    前言 Linux系统中搜索.查找文件中的内容,一般最常用的是grep命令,另外还有egrep命令,同时vi命令也支持文件内容检索.下面来一起看看Linux利用grep命令检索文件内容的详细介绍. 方法 ...

  8. linux nmcli源码,Linux上利用nmcli命令创建网络组(示例代码)

    网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量 网络组不同于旧版中bonding技术,提供更好的性能和扩展性 网络组由内核驱动和teamd守护进程实现. 下面我们以CentOS7系统为环 ...

  9. Windows API一日一练(一)第一个应用程序 使用应用程序句柄 使用命令行参数 MessageBox函数 RegisterClass和RegisterClassEx函数

    要跟计算机进行交互,就需要计算机显示信息给人看到,或者发出声音给人听到,然后人看到或听到相应的信息后,再输入其它信息给计算机,这样就可以让计算机进行数据处理,把结果显示给我们.现在就来编写一个最简单的 ...

  10. 内核函数 系统调用 系统命令 库函数

    内核函数 运行在内核态的,一般来说特权级较高. 系统调用 系统调用是程序进入内核函数的接口层,大量的内核函数被封装再系统调用中.再进入不同的系统调用之后,系统调用中的内核函数被称为该系统调用的服务例程 ...

最新文章

  1. Navicat新建查询快捷键
  2. 我用AI分析了《赛博朋克 2077》的评价,发现真爱粉都是来吸猫的
  3. LeetCode: 107. Binary Tree Level Order Traversal II
  4. 【EventBus】事件通信框架 ( 发送事件 | 判断发布线程是否是主线程 | 子线程切换主线程 | 主线程切换子线程 )
  5. 8个直播底层支撑的创业机会,你都抓住了吗?
  6. PyTorch 1.5 发布,与 AWS 合作 TorchServe
  7. 动画道路上的新宠 -- Lottie
  8. ASP.NET 2.0中CSS失效的问题总结
  9. CSU 1203 Super-increasing sequence
  10. 我可以隐藏HTML5号码输入的旋转框吗?
  11. 记一次DNS运维排错
  12. 互亿无线5G视频短信
  13. 虹软人脸识别 - 基于QT的桌面客户端与微信小程序及服务器设计
  14. w7计算机文件夹打开怎么设置密码,w7文件夹怎么设密码_w7文件夹设置密码操作方法...
  15. 影片下载观看秘籍大全
  16. 禁用计算机的网络连接无线网络连接,电脑设置了禁用网络,连接不上WIFI.怎么解除...
  17. Cesium 添加天地图三维地形
  18. sumo之使用netedit绘制路网并进行简单模拟
  19. 来表达我说过如果有那么一天
  20. 精益生产排程系统(APS)优化的力量是什么?

热门文章

  1. HTML5创意设计简历,35张设计师的创意个人简历信息图
  2. html css画个人印章
  3. (转)Windows 批处理(bat)语法大全
  4. 计算机毕业设计ssm基于HTML5的环保公益网站d4sf1系统+程序+源码+lw+远程部署
  5. chromeos java安装_试用额外硬件驱动和完整JAVA支持的ChromeOS
  6. 计算机vf等级,全国计算机等级考试二级考试大纲(VF语言版)
  7. 屏幕中间html滚动字幕,Gom引擎屏幕中间滚动大字及屏幕其他信息滚动条脚本实例...
  8. FreeMarker FTL标签
  9. JavaScript在线代码编辑器-技术选型
  10. 计算机等级考试如何评改试题,全国计算机考试上机考试是如何改卷的