netfilter框架之hook点】的更多相关文章

1. Netfilter中hook的所在位置 当网络上有数据包到来时,由驱动程序将数据包从网卡内存区通过DMA转移到设备主存区(内存区), 之后触发中断通知CPU进行异步响应,之后ip_rcv函数会被调用到: ip_rcv函数首先对报文进行检验,最后调用NF_HOOK函数将控制权交给在NF_IP_PRE_ROUTING注册的规则进行处理,之后数据到达ip_rcv_finish函数并进行路由标的查询,确定该报文是发往本地还是转发. 如果该报文是发往本地的,则调用ip_local_deliver函数…
转载自:http://blog.chinaunix.net/uid-23069658-id-3160506.html http://blog.chinaunix.net/uid-23069658-id-3243434.html https://blog.csdn.net/jasonchen_gbd/article/details/44873089 https://blog.csdn.net/fangxin205/article/details/54972153 1.网络通信的基本模型 数据在协议…
目录 Netfilter框架 Netfilter的5个hook点 netfilter协议栈数据流分析 连接跟踪conntrack conntrack连接跟踪表条目 连接跟踪表大小 管理连接跟踪表 iptables iptables table iptables chain table和chain的关系 iptables状态匹配 参考 Netfilter框架 netfilter是Linux底层包处理框架,在协议栈中提供了若干hook点,可以用于对数据包进行过滤.修改.地址转换(SNAT/DNAT)…
前言 防火墙是保护服务器的重要工具. Linux中最常用的基本防火墙软件是iptables.iptables通过与Linux内核网络堆栈(networking stack)中的包过滤钩子(packet filtering hooks)进行交互来工作. 出入网络系统的数据包将在通过网络堆栈时会触发这些钩子.这些内核钩子称为netfilter框架. Netfilter 钩子 一个程序可以注册5个netfilter钩子. 当数据包通过网络堆栈时,将触发与被注册钩子相关的内核模块.下面介绍钩子 NF_I…
要点 1. whale hook framework 使用示例: 2. 参考项目:VirtualHook: 3. 按照 VirtualHook 修改 VirtualApp: 4. 编写 hook plugin: 5. 运行修改后的 VirtualApp,也就是 VirtualWhale: 6. 在 VirtualWhale内 安装 hook plugin,安装 宿主(第三方)应用: 7. 在 VirtualWhale内 运行 宿主(第三方)应用: 8. 结束:   实现过程梳理        非…
转自:http://blog.chinaunix.net/uid-23069658-id-3160506.html 本人研究linux的防火墙系统也有一段时间了,由于近来涉及到的工作比较纷杂,久而久之怕生熟了.趁有时间,好好把这方面的东西总结一番.一来是给自己做个沉淀,二来也欢迎这方面比较牛的前辈给小弟予以指点,共同学习,共同进步. 能在CU上混的人绝非等闲之辈.因此,小弟这里说明一下:本系列博文主要侧重于分析Netfilter的实现机制,原理和设计思想层面的东西,同时从用户态的iptables…
本人研究linux的防火墙系统也有一段时间了,由于近来涉及到的工作比较纷杂,久而久之怕生熟了.趁有时间,好好把这方面的东西总结一番.一来是给自己做个沉淀,二来也欢迎这方面比较牛的前辈给小弟予以指点,共同学习,共同进步. 能在CU上混的人绝非等闲之辈.因此,小弟这里说明一下:本系列博文主要侧重于分析Netfilter的实现机制,原理和设计思想层面的东西,同时从用户态的iptables到内核态的Netfilter其交互过程和通信手段等.至于iptables的入门用法方面的东西,网上随便一搜罗就有一大…
当我们用TortoiseSVN提交代码时,有很多人不喜欢写注释,导致以后代码版本多,也不清楚哪个版本到底改了什么东西.所以在提交的时候,我会强制要求添加注释.这是如何实现的?这个话题就涉及到了svn的Hooks功能的使用. 所谓hooks,可以类似理解Linux内核Netfilter框架的hook点和hook函数的概念.当用户在维护代码的过程中,其执行的相关动作正好触发了相关hook点,就会去执行对应hook点的脚本. 那么如何设置hook脚本以保证强制用户添加注释,以及允许用户修改注释呢? 1…
原文:http://blog.chinaunix.net/uid-24207747-id-2622900.html iptables 是用户空间中用于管理包过滤及NAT 等的工具应用程序.它设置防火墙的过滤规则,并将规则添加到内核空间的特定信息包过滤表内的链中,通过netfilter框架的hook 函数完成对数据包的过滤工作.它还可以设置nat 表的规则实现IP 地址及端口转换,设置mangle 表的规则改变IP 头部信息实现对IP 包更高级的控制. 基本语法: iptables -t tabl…
所谓hooks,可以类似 理解Linux内核Netfilter框架的hook点和hook函数的概念.当用户在维护代码的过程中,其执行的相关动作正好触发了相关hook点,就 会去执行对应hook点的脚本. SVN版本库目录下有hooks目录,里面有很多.tmpl的文件.这些文件用以定义某些动作触发的 hook脚本.默认状态下,这些脚本的后缀都是.tmpl,是没有起作用的.相当于Netfilter的各个hook点没有注册hook函数.所以,当用 户执行相关维护代码动作的时候,也不会触发hook脚本.…