自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (14)
  • 收藏
  • 关注

原创 Linux netfilter 学习笔记 之十 ip层netfilter的连接跟踪模块 学习小结

对于linux代码,如果说只是为了理解连接跟踪模块的工作原理

2014-06-29 21:31:27 2314

原创 Linux netfilter 学习笔记 之九 ip层netfilter的连接跟踪模块代码分析

上一节分析了连接跟踪模块相关的初始化代码,本节分析连接中hook函数。在分析之前,我们再次回顾一下数据包在连接跟踪模块中的走向。 发往本地的数据:对于连接跟踪来说,只在hook点NF_IP_PRE_ROUTING、NF_IP_LOCAL_IN两个hook点进入到连接跟踪模块,按优先级顺序,依次调用ipv4_conntrack_defrag->ipv4_conntrack_in->i

2014-06-29 21:16:05 6659 1

原创 Linux netfilter 学习笔记 之八 ip层netfilter的连接跟踪模块初始化

在上一节中分析了连接跟踪模块相关的数据结构,本节就开始分析连接跟踪模块相关的初始化,下一节理解连接跟踪模块的hook机制。 在分析连接跟踪模块代码之前,先说明几点:1.连接跟踪模块的helper结构能够实现期望连接的建立以及相关协议的ALG功能。2.连接跟踪为NAT或者状态防火墙的实现提供了依据 连接跟踪模块的初始化过程分别在三个地方进行,一个用于注册连接跟踪模块相关的ho

2014-06-29 17:20:07 5924

原创 Linux netfilter 学习笔记 之七 ip层netfilter的连接跟踪模块的概念及相关的数据结构分析

内核版本 2.6.16 连接跟踪(CONNTRACK)就是跟踪并且记录连接状态。包括 TCP 、UDP、ICMP  等协议类型的连接。其主要是判断该数据包是什么状态。根据数据包的源ip地址、目的ip地址、源端口、目的端口、协议号来确定一条连接。 因为连接跟踪支持TCP、UDP、ICMP等协议,而不同的协议,其处理上会有一些不同,因此增加了协议相关的连接跟踪结构,即nf_conntr

2014-06-26 00:13:40 6230 4

原创 Linux netfilter 学习笔记 之六 ip层netfilter的filter表的创建及其hook函数分析

Linux netfilter 学习笔记 之五 ip层netfilter的filter表的创建及hook函数分析   今天主要在前两节的基础上,分析filter表的创建,以及filter表的hook回调函数的分析。1. Filter模块初始化在前面分析表的注册时,我们知道要注册一个新的xt_table,需要实例化xt_table与ipt_replace这两个结构体。创建fi

2014-06-24 20:55:31 3762

原创 Linux netfilter 学习笔记 之五 ip层netfilter的table中规则的匹配检查

通过上面一节的分析我们知道,我们通过iptables -A操作添加的规则,都会保存在一个xt_table->private->entries[]中,所以当数据到来后,协议栈执行NF_HOOK操作时,肯定需要遍历xt_table->private->entries中的规则,找到一个匹配的规则,然后对进来的数据包执行该规则的target操作。从xt_table的通用性,我们可以猜到,肯定会有一个通用的

2014-06-23 00:47:04 6599 3

原创 Linux netfilter 学习笔记 之四 ip层netfilter的table注册及规则的添加

既然我们都已经将xt_table、rule、match、target的结构体之间的联系都已经分析清楚了,那我们接下来分析表的注册、表中规则的添加、表中规则的删除、表中规则的替换也应该比较容易了。 在上节分析时,我们应该有注意到一个细节,即xt_table_info->entries[]是指向每一个CPU对应于该xt_table的所有规则的首地址,而一个表里面所有的规则是按照连续内存存取的。

2014-06-22 19:02:33 6077 1

原创 Linux netfilter 学习笔记 之三 ip层netfilter的table、rule、match、target结构分析

上一节分析了ip层hook回调函数的注册以及调用流程,本节我们就开始分析每一个模块的具体实现。 工欲善其事必先利其器,一个功能模块的代码实现与其数据结构的设计有很大的关系,所以我们本节主要是分析table、rule、match、target相关的数据结构,争取本节能把数据结构的定义以及数据结构之间的关系分析明了。 在分析table、rule、match、target之前,先把它们之间的联系

2014-06-22 14:35:18 11090 7

原创 Linux netfilter 学习笔记 之二 ip 层netfilter的hook 注册以及执行hook函数的概要分析

上一节分析了hook机制,本节简单介绍下三层防火墙借助hook机制,实现的总体框架 1 三层netfilter hook点的注册与注销我们知道使用iptables,添加规则时需要指定表,在iptables中有filter、nat、mangle三张表,因为我们接下来几节分析的内容也是从这三个table表加上连接跟踪,此处我们也已这四个模块来将,而不是按HOOK点的分类来分析1.1 f

2014-06-21 23:42:13 9083 2

原创 Linux netfilter 学习笔记 之一 HOOK机制的分析与应用

ddddd

2014-06-19 23:29:33 8094 5

原创 Linux IGMP PROXY 学习笔记 之二 igmp proxy的处理流程分析

上一节中我们分析了linux kernel中igmp proxy相关的数据结构与实现需求分析,本节我们分析kernel中对组播数据流和组播数据的处理流程。       对于目的ip地址为组播地址的数据,可以分为两类:1、  四层协议类型为igmp的igmp管理数据包2、  四层协议类型为udo的组播数据流而协议栈ip层数据处理完后,在函数ip_rcv_finish里则会进行组播路由

2014-06-01 21:52:42 12162 5

hwmon_driver_V1.0.tar.gz

实现一个虚拟的温度传感器驱动,涉及的知识点包括 1. 实现一个虚拟的i2c总线控制器; 2. 实现一个虚拟的i2c设备,用于模拟温度传感器,主要用于提供转换寄存器、配置寄存器,主要提供四路温度。 3. 实现一个虚拟的i2c驱动,用于和模拟温度传感器通信,主要实现配置温度采集及转换的channel、读取温度; 4. 实现一个虚拟的hwmon driver,该driver实现了四路温度的采集,实现temp_input,并实现show接口,而在show接口中,通过与模拟温度传感器通信,完成温度的采集等功能。 通过实现platform device、platform driver,实现i2c adapter的注册操作。

2020-05-16

virtual_uart_driver.tar.gz

此驱动linux虚拟串口控制器驱动,可用于无开发板模式下雪串口控制器驱动,用于学习uart_driver的开发流程

2020-04-18

virtual_tty_driver.tar.gz

本驱动模块主要实现一个虚拟的串口驱动,该串口驱动仅仅是用于tty子系统驱动的开发学习。针对本驱动,目前实现的是loopback的功能,即应用程序向次虚拟串口驱动写数据时,该驱动程序会将写入的数据再返回应用程序。

2020-04-13

virtual_tty_driver.tar.gz

本驱动模块主要实现一个虚拟的串口驱动,该串口驱动仅仅是用于tty子系统驱动的开发学习。针对本驱动,目前实现的是loopback的功能,即应用程序向次虚拟串口驱动写数据时,该驱动程序会将写入的数据再返回应用程序。

2020-04-12

virtual_spi_controller_test.tar.gz

虚拟spi控制器驱动模拟代码,并模拟了spi device以及应用层测试程序。通过模拟程序,可当我们在没有开发板时,练习spi驱动的流程

2020-03-25

virtual_i2c_controller_test.tar.gz

虚拟的i2c adapter驱动以及虚拟 i2c device的创建,从而可以用于练习linux i2c device driver以及i2c adapter驱动开发流程

2020-03-23

linux-kconfig.tar.gz

移植linux3.10的kconfig工具,使用该工具之后,可以针对不同的需求,生成不同的编译配置文件,完成不同应用组合的构建功能。 (busybox、buildroot也是借助linux 的kconfig工具实现类似功能)

2019-09-01

Linux netfilter 学习笔记

本文档主要为本人博客里的《Linux netfilter学习笔记》的集合,本文主要包括《ip 层netfilter的hook 注册以及执行hook函数的概要分析》、《ip层netfilter的table、rule、match、target结构分析》、《 ip层netfilter的table注册及规则的添加》、《ip层netfilter的table中规则的匹配检查》、《ip层netfilter的filter表的创建及其hook函数分析》、《ip层netfilter的连接跟踪模块的概念及相关的数据结构分析》、《 ip层netfilter的连接跟踪模块初始化》、《ip层netfilter的连接跟踪模块代码分析》、《ip层netfilter的连接跟踪模块 学习小结》、《ip层netfilter的NAT模块初始化以及NAT原理》、《ip层netfilter的NAT模块代码分析》等内容

2019-02-24

windows下定时关机程序

该软件为windows下的定时关机小程序,通过该程序可实现定时关机功能

2019-02-24

linux platform架构解析资料

Linux platform driver 机制和传统的 device driver 机制 ( 通 过 driver_register 函数进行注册 ) 相比,一个十分明显的优势在 于 platform 机制将设备本身的资源注册进内核,由内核统一管理,在驱动程 序中使用这些资源时通过 platform device 提供的标准接口进行申请并使 用。这样提高了驱动和资源管理的独立性,并且拥有较好的可移植性和安全 性 ( 这些标准接口是安全的 )

2019-02-24

linux 2.6 内核设备驱动模型精华

linux 2.6 内核设备驱动模型精华描述,包括链表、hash链表、kobject等

2019-02-24

C ++ 面 试 最新

程序员 面试 帮助程序员 面试 帮助程序员 面试 帮助

2009-08-25

c++思想编程 c++思想编程 c++思想编程

c++编程的思想 c++编程的思想 c++编程的思想 c++编程的思想

2009-06-26

c#有关课件

c#有关课件

2009-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除