包过滤指令
2016-01-05 16:45
169 查看
参考:https://www.kernel.org/doc/Documentation/networking/filter.txt
tcpdump的-dd可以dump出过滤指令。
在设置socket的包过滤时,用到结构体linux/filter.h/struct sock_filter{
__u16 code; // 操作码
__u8 jt; // Jump if true
__u8 jf; // Jump if false
__u32 k; // 参数,不同操作码用图不同
}
每一个struct socket_filter代表一条指令。
BPF(Berkeley Packet Filter)定义了一些宏帮助构造过滤指令。
#define BPF_STMT(code, k) { (unsigned short)(code), 0, 0, k }
#define BPF_JUMP(code, k, jt, jf) { (unsigned short)(code), jt, jf, k }
BPF_LD:将值拷贝到寄存器
tcpdump的-dd可以dump出过滤指令。
在设置socket的包过滤时,用到结构体linux/filter.h/struct sock_filter{
__u16 code; // 操作码
__u8 jt; // Jump if true
__u8 jf; // Jump if false
__u32 k; // 参数,不同操作码用图不同
}
每一个struct socket_filter代表一条指令。
BPF(Berkeley Packet Filter)定义了一些宏帮助构造过滤指令。
#define BPF_STMT(code, k) { (unsigned short)(code), 0, 0, k }
#define BPF_JUMP(code, k, jt, jf) { (unsigned short)(code), jt, jf, k }
BPF_LD:将值拷贝到寄存器
BPF_W 0x00 /* word */ BPF_H 0x08 /* half word */ BPF_B 0x10 /* byte */ BPF_DW 0x18 /* eBPF only, double word */
相关文章推荐
- 2016-01-05 y原始数据(2)
- 树套树-区间第k大(带修改)
- 老李推荐:第8章2节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-解析处理命令行参数 2
- 数据中心交换机布线方式 EOR/MOR/TOR
- MongoDB最基本命令速查笔记
- JAVA8 十大新特性详解
- 2222
- libevent - 定时器
- POI操作Excel常用方法总结
- iOS程序运行时上下各有一个黑色部分,屏幕不满的问题
- 浅谈js的几种模式(三)
- (转)MVC设计模式学习总结
- 物化视图知识了解(转载)
- oracle 开发 第02章 查询
- OK335xS Linux kernel check clock 24M hacking
- 老李推荐:第8章2节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-解析处理命令行参数
- mysql备份数据库,导入数据sql
- python入门笔记(2)
- CSS中背景颜色的渐变
- 2016-01-05 y原始数据(-)