struct sock_filter filter[] = {
//将帧的偏移0处,取4个字节数据,也就是系统调用号的值载入累加器
BPF_STMT(BPF_LD+BPF_W+BPF_ABS,0),
//首先JMP是跳转,JEQ是相等条件,如果与221相等则执行下一条规则
BPF_JUMP(BPF_JMP+BPF_JEQ,221,0,1),
//使用SECCOMP_RET_TRAP因为过滤器可捕获SIGSYS信号
BPF_STMT(BPF_RET+BPF_K,SECCOMP_RET_TRAP),
BPF_STMT(BPF_RET+BPF_K,SECCOMP_RET_ALLOW),
};
//221在这里其实是系统调用号,在头文件unistd.h中查询,在64位execv就是221,例如openat为56