博客专栏  >  互联网   >  linux内核驱动&Netfilter

linux内核驱动&Netfilter

本专栏主要介绍linux内核驱动开发,以及Netfilter/iptables机制分析与实践

关注
9 已关注
16篇博文
  • 【Linux 驱动】Netfilter/iptables (八) Netfilter的NAT机制

    NAT是Network Address Translation的缩写,意即“网络地址转换”。从本质上来说,是通过修改IP数据首部中的地址,以实现将一个地址转换成另一个地址的技术。当然在某种情况下,修改...

    2015-12-27 21:28
    1070
  • 【Linux 驱动】Netfilter/Iptables (七) 内核协议栈skb封装分析(续六)

    上文介绍了netfilter机制下,如何重造并发送一个skb,涉及到内核协议栈编程,而不是我们平时所说的用户层socket网络编程。我们先来介绍下上面skb重构程序涉及到的几个函数: 首先,有必要说...

    2015-12-25 15:24
    1181
  • 【Linux 驱动】Netfilter/iptables (六) 内核协议栈编程(发送skb)

    内核态基于 Netfilter 构造skb数据包 前面第四篇介绍了 Netfilter Hook 机制,我们知道了数据包在协议栈中传递时会经过不同的HOOK点,而每个HOOK点上又被Netfilte...

    2015-12-25 10:33
    1800
  • 【Linux 驱动】Netfilter/iptables (五) 数据包过滤

    通过前面的学习,我们窥探了整个Netfilter框架,下面我们就通过一些编程实例来进一步学习。一. 基于网络设备接口进行数据包过滤 根据hook函数接收的参数中的 struct net_device...

    2015-12-22 14:48
    1486
  • 【Linux 驱动】Netfilter/iptables (四) 窥探 Netfilter Hook 机制

    上篇文章介绍了注册和注销Netfilter/iptables,其中对于hook函数,我们没有具体到数据包的规则处理,直接一律来者皆拒(NF_DROP)。 ok,我们接着前面,深入探索下hook函数:...

    2015-12-22 14:46
    1277
  • 【Linux 驱动】netfilter/iptables (三) 注册和注销Netfilter hook

    继前面介绍了 netfilter hook,这里我们开始进行实例讲解: wqlkp.c:#include #include #include #include MODULE_LICENSE("...

    2015-12-22 10:58
    1188
  • 【Linux 驱动】netfilter/iptables (二) Netfilter hook 数据结构

    Netfilter是Linux 2.4.x 引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤(filter)、网络地址转换(NAT)和基于协议类型...

    2015-12-22 10:57
    1236
  • 【Linux 驱动】netfilter/iptables (一) 基础概念

    在介绍netfilter/iptables之前,我们先来了解下防火墙: 防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。它通过访问控制机制,确定哪些内部服...

    2015-12-20 13:15
    1133
  • 【Linux 驱动】中断处理(二)下半部tasklet

    前面我们介绍了Linux驱动的[中断处理程序机制] 由于其本身存在一些局限,所以它只能完成整个中断处理流程的上半部分。这里我们则着重介绍下半部。

    2015-12-17 16:23
    522
  • 【Linux 驱动】中断处理(一)上半部

    关于中断大家应该很熟悉,无论是操作系统的学习也好还是微机原理也好都会接触到中断。以前进行单片机单板开发的时候,会有外部中断,定时器中断以及串口中断,就是有一个事件触发(外部中断则是外部有按键触发(边缘...

    2015-12-20 10:43
    755
  • 【Linux 驱动】异步通知机制

    异步通知机制:一旦设备就绪,则主动通知应用程序,这样应用程序根本就不需要查询设备状态,是一种“信号驱动的异步I/O”。 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器...

    2015-12-16 22:41
    733
  • 【Linux驱动】内存管理

    关于linux内存管理的概念请参考笔者前面的博文: linux内存管理(一)基础篇 linux内存管理(二)伙伴算法 linux内存管理(三)slab分配器下面的驱动程序中的函数的区别,以及对应...

    2015-12-15 20:28
    631
  • 【Linux驱动】轮询操作select()和poll()

    使用非阻塞I/O的应用程序通常会使用select()和poll()系统调用查询可对设备进行无阻塞的访问。select()和poll()系统调用最终会引发设备驱动中的poll()函数被执行。 sele...

    2015-12-12 15:27
    1072
  • 【Linux驱动】阻塞型I/O(一)

    校招结束很久了,回顾校招,除了阿里的笔试没通过以后,其余的均通过了笔试拿到面试机会(海康威视由于进错考场考错了试卷,没有拿到面试资格,不过后面去霸面,最后顺利拿到offer),在拿到几个还算重量级的o...

    2015-12-11 21:19
    628
  • 【Linux驱动】阻塞型I/O(二+并发控制)

    承接上文,这里继续学习linux内核驱动并发控制阻塞型I/O。 废话不多说,直接看代码,基础接口函数请自行查阅相关资料,比如《LDD》。 另外并发控制信号量和linux应用层的信号量概念和原理是差...

    2015-12-11 20:49
    643
  • 【Linux驱动】字符设备驱动

    本文假定读者具备一定linux基础以及对linux驱动基础有所了解。➜ ~ cat /proc/version Linux version 3.13.0-43-generic (buildd@ak...

    2015-12-04 12:41
    589
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部