浅谈Netfilter框架原理(二)
2015-12-27 12:39
330 查看
1.1.1 连接跟踪主要数据关系图
图一 连接跟踪主要数据关系图
整个数据关系始于从skb中获取到协议的名称protocol(这里是UDP),然后根据这个值定位ip_ct_protos[]这个结构体,这个结构体中有两个函数,第一个int(*pkt_to_tuple)()函数是用skb中的源IP/源端口、目的IP/目的端口构建出一个tuple(由图二可以清晰看出);第二个函数int(*invert_tuple)()则是通过上一个tuple构建出一个反向的rel_tuple。这样数据流两个方向的tuple结构都有了。
其他的数据关系在接下面的分析中会一一体现。
1.1.2 连接跟踪主要函数调用流程
图二 连接跟踪主要函数调用流程
当系统刚起来的时候会先对SIP协议模块进行初始化,就在这时就注册了ip_conntrack_helper结构了,主要是让helper中函数指针help指向了sip_help函数,当然还会填充其它匹配信息了。
其它的流程在接下来的分析中体现。
相关文章推荐
- Linux socket 初步
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断
- 谁是桌面王者?Win PK Linux三大镇山之宝