为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

netfilter 模块中的数据处理

2012-12-09 22页 ppt 1MB 24阅读

用户头像

is_591844

暂无简介

举报
netfilter 模块中的数据处理nullnetfilter 模块中的数据处理**专业化、规范化、标准化、电子化netfilter 模块中的数据处理 编制人:王万顺 版本:v1.0 有计划、有总结、有记录、有审核;null**专业化、规范化、标准化、电子化课程定位和目标本教程主要是对 Netfilter模块中数据处理的代码分析,使大家能够对内核netfilter有更深入的认识,理解表(NAT,FILTER,MANGLE),HOOK挂载点在linux内核网络子系统的具体实现。null**专业化、规范化、...
netfilter 模块中的数据处理
nullnetfilter 模块中的数据处理**专业化、规范化、化、电子化netfilter 模块中的数据处理 编制人:王万顺 版本:v1.0 有计划、有总结、有、有审核;null**专业化、规范化、标准化、电子化课程定位和目标本主要是对 Netfilter模块中数据处理的代码,使大家能够对内核netfilter有更深入的认识,理解表(NAT,FILTER,MANGLE),HOOK挂载点在linux内核网络子系统的具体实现。null**专业化、规范化、标准化、电子化2 1 表目录 HOOK3阅读代码4 结束filter表www.kernelchina.orgfilter表NF_IP_PRE_ROUTINGNF_IP_LOCAL_INNF_IP_LOCAL_OUTNF_IP_FORWARDNF_IP_POST_ROUTINGROUTEROUTE链路层传输层网络层nat表www.kernelchina.orgnat表NF_IP_PRE_ROUTINGNF_IP_LOCAL_INNF_IP_LOCAL_OUTNF_IP_FORWARDNF_IP_POST_ROUTINGROUTEROUTE链路层传输层网络层mangle表www.kernelchina.orgmangle表NF_IP_PRE_ROUTINGNF_IP_LOCAL_INNF_IP_LOCAL_OUTNF_IP_FORWARDNF_IP_POST_ROUTINGROUTEROUTE链路层传输层网络层增加一个tablewww.kernelchina.org增加一个table在内核中增加一个表,注意表所监听的检查点 这个表可以使用哪些match和target,这个表的用途是什么null**专业化、规范化、标准化、电子化2 1 表目录 HOOK3阅读代码4 结束检查点 www.kernelchina.orgnf_hooks[NPROTO][NF_MAX_HOOKS] NPROTO = 32,支持族的数量 NF_MAX_HOOKS = 8,支持检查点的数量 检查点上的nf_hook_ops结构,按priority的值,从小到大排列nf_hook_ops检查点 检查点上的数据结构www.kernelchina.orgstruct nf_hook_ops { struct list_head list; nf_hookfn *hook; int pf; int hooknum; int priority; };unsigned int nf_hookfn(unsigned int hooknum,struct sk_buff **skb,const struct net_device *in,const struct net_device *out, int (*okfn)(struct sk_buff *)); list:链表结构;hook:检查点上调用的函数;pf:协议族;hooknum:检查点的编号;priority:此结构的优先级 nf_register_hook:注册nf_hook_ops结构 nf_unregister_hook:卸载nf_hoop_ops结构检查点上的数据结构检查点的定义www.kernelchina.org#define NF_HOOK(pf, hook, skb, indev, outdev, okfn) \ (list_empty(&nf_hooks[(pf)][(hook)])\ ? (okfn)(skb)\ : nf_hook_slow((pf), (hook), (skb), (indev), (outdev), (okfn))) NF_HOOK:定义检查点 (okfn)(skb):如果检查点上没有钩子函数,直接调用这个函数;如果有钩子函数,则先遍历检查点上的钩子函数,并根据钩子函数的返回值来确定下一步的动作;如果钩子函数完全遍历,同样需要调用这个函数 nf_hook_slow:遍历检查点上的nf_hook_ops结构,并调用nf_hookfn检查点的定义检查点的调用流程www.kernelchina.orgNF_DROP: 禁止包通过 NF_ACCEPT: 允许包通过 NF_STOLEN: 包被本机缓存 NF_QUEUE: 把包发送到用户空间 NF_REPEAT: 重复上一次遍历过程NF_HOOKnf_hook_slownf_hookfn(okfn)返回值检查点的调用流程检查点在PF_INET中的位置www.kernelchina.org检查点在PF_INET中的位置NF_IP_PRE_ROUTINGNF_IP_LOCAL_INNF_IP_LOCAL_OUTNF_IP_FORWARDNF_IP_POST_ROUTINGROUTEROUTE链路层传输层网络层NF_IP_PRE_ROUTINGwww.kernelchina.orgNF_IP_PRE_ROUTINGNF_IP_LOCAL_INwww.kernelchina.orgNF_IP_LOCAL_INNF_IP_FORWARDwww.kernelchina.orgNF_IP_FORWARDNF_IP_LOCAL_OUTwww.kernelchina.orgNF_IP_LOCAL_OUTNF_IP_POST_ROUTINGwww.kernelchina.orgNF_IP_POST_ROUTINGhook的顺序(优先级)www.kernelchina.orghook的顺序(优先级)NF_IP_POST_ROUTINGNF_IP_PRE_ROUTINGNF_IP_FORWARDNF_IP_LOCAL_OUTconntrack[-200]nat[dnat][-100]mangle[-150]conntrack[max]nat[snat][100]mangle[-150]NF_IP_LOCAL_INfilter[0]conntrack[max-1]mangle[-150]mangle[-150]filter[0]filter[0]nat[dnat][-100]mangle[-150]conntrack[-200]nat[100]null**专业化、规范化、标准化、电子化2 1 表目录 HOOK3阅读代码4 结束null**专业化、规范化、标准化、电子化2 1 表目录 HOOK3阅读代码4 结束null**专业化、规范化、标准化、电子化腾达与你共同发展
/
本文档为【netfilter 模块中的数据处理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索