ICode9

精准搜索请尝试: 精确搜索
  • Rust如何开发eBPF应用(一)?2022-04-17 11:33:10

    前言 eBPF是一项革命性的技术,可以在Linux内核中运行沙盒程序,而无需重新编译内核或加载内核模块。它能够在许多内核 hook 点安全地执行字节码,主要应用在云原生网络、安全、跟踪监控等方面。 eBPF 基金会 (https://ebpf.io) 是一个为 eBPF 技术而创建的非盈利性组织,隶属于 Linux 基

  • ---Ftrace---2022-01-23 17:33:49

    Ftrace功能 function_profile_enabled跟踪函数的profilekprobe_events 创建event并跟踪,见kprobe Kprobe 实现文件 trace_kprobe.c 主要参考函数为 __trace_kprobe_create arm64的实现时通过将原指令替换为BRK指令实现。 echo 'p task_tick_fair' > kprobe_events

  • Kprobe的使用方法2020-12-18 16:36:01

    Kprobe的使用方法   /* For each probe you need to allocate a kprobe structure */ static struct kprobe kp = { .symbol_name = "do_fork", }; static int __init kprobe_init(void) { int ret; kp.pre_handler = handler_pre; kp.post_handle

  • 宋宝华:用eBPF/bcc分析系统性能的一个简单案例2020-11-27 14:52:34

    原创 宋宝华 Linux阅码场 2019-12-25 bcc是eBPF的一种前端,当然这个前端特别地简单好用。可以直接在python里面嵌入通过C语言写的BPF程序,并帮忙产生BPF bytecode和load进入kernel挂载kprobe、tracepoints等上面执行。之后,还可以从python取出来C函数里面导出的maps数据以及per-eve

  • Linux kernel 使用 kprobe2020-09-19 11:33:32

    1 #include <linux/module.h> 2 #include <linux/file.h> 3 #include <linux/uaccess.h> 4 #include <linux/kallsyms.h> 5 #include <linux/kprobes.h> 6 7 // 8 // long do_sys_open(int dfd, const char __user *filename, int fla

  • Linux内核调试技术——kprobe使用与实现 (一二三四五六)2020-04-06 20:54:37

    https://cloud.tencent.com/developer/article/1463419   一 https://cloud.tencent.com/developer/article/1463437  二 https://cloud.tencent.com/developer/article/1463587 三 https://cloud.tencent.com/developer/article/1463357 四 https://cloud.tencent.com/develo

  • 为什么_do_fork()的kretprobe只返回一次?2019-10-26 03:50:30

    当我用fork编写一个小脚本时,syscall返回两次进程(每个进程一次): #include <stdio.h> #include <unistd.h> int main(int argc, char *argv[]) { int pid = fork(); if (pid == 0) { // child } else if (pid > 0) { // parent } } 如果我使用

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有