wjlkoorey258

2016年7月24日

(十三)洞悉linux下的Netfilter&iptables:为防火墙增添功能模块【实战】

摘要: 为netfilter/iptables增添新功能模块:ipp2p 一个防火墙功能模块包含两部分:内核空间的ko模块和用户空间的so模块。如下: 而且文件的命令都非常有讲究。例如我们有个模块名叫AAA,那么内核中该模块的文件名一般为ipt_AAA.c和ipt_AAA.h;对应的用户空间模... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(527) 评论(0) 推荐(0)

(十二)洞悉linux下的Netfilter&iptables:iptables命令行工具源码解析【下】

摘要: iptables用户空间和内核空间的交互 iptables目前已经支持IPv4和IPv6两个版本了,因此它在实现上也需要同时兼容这两个版本。iptables-1.4.0在这方面做了很好的设计,主要是由libiptc库来实现。libiptc是iptables control library的简称,... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(1341) 评论(0) 推荐(0)

(十一)洞悉linux下的Netfilter&iptables:iptables命令行工具源码解析【上】

摘要: 预备知识:part1: 初见getopt_long() 在分析iptables源码时,作为命令解析的核心函数getopt_long()不得不提。随便百度或google搜索关于该函数的介绍有很多例子和解释,这里我只举一例,目的是让大家了解传递给iptables命令的每个参数是如何被正确识别并... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(954) 评论(0) 推荐(0)

(十)洞悉linux下的Netfilter&iptables:网络地址转换原理之SNAT

摘要: 源地址转换:SNAT SNAT主要应用于下列场景: 这种情况下,我们只有一个公网地址A,而又有三台主机需要同时上网,这时就需要SNAT了。它的主要作用是将那些由私网发来的数据包skb的源地址改成防火墙的公网地址A,这是因为目的主机在响应源地址为私网地址的数据包时,私网地址不能在网络... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(404) 评论(0) 推荐(0)

揭开网络编程常见API的面纱【上】

摘要: Linux网络编程API函数初步剖析 今天我们来分析一下前几篇博文中提到的网络编程中几个核心的API,探究一下当我们调用每个API时,内核中具体做了哪些准备和初始化工作。 1、socket(family,type,protocol) 当我们在开发网络应用... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(127) 评论(0) 推荐(0)

揭开网络编程常见API的面纱【下】

摘要: Linux网络编程数据收发的API流程分析 只要把数据在协议栈中的流动线路和脉络弄清楚了,关于协议栈的实现部分,理解起来就轻松多了。在网络编程章节的数据接收过程中,我们主要介绍过read()、recv()、recvfrom()还有一个recvmsg()没介绍到,今天我们就来看一下这几个... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(114) 评论(0) 推荐(0)

如何看待操作系统的用户空间和内核空间?

摘要: 作为中央核心处理单元的CPU,除了生产工艺的不断革新进步外,在处理数据和响应速度方面也需要有权衡。稍有微机原理基础的人都知道Intel X86体系的CPU提供了四种特权模式ring0~ring3,其中ring0特权最高,ring3的特权最低,之所以要做这样的区分一个主要目的是保护资源,通俗... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(1227) 评论(0) 推荐(0)

用户空间和内核空间通讯之【系统调用】

摘要: 现在,越来越多的应用程序需要编写内核和用户级代码的程序来一起协作完成具体的任务,而用户与空间和内核空间的通讯也就是一个不可回避的话题了。针对于需要和内核空间通信的具体应用而言,其开发模式和套路相对来说比较固定,主要概括起来有两大步骤: 第一步,编写内核服务程序利用内核空间提供的权限和服务来接收、... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(1899) 评论(0) 推荐(0)

Android开发调试中遇到的Waiting for HOME解决方案

摘要: 今晚由于种种未知的原因,陪伴了我两年的系统终于被我给格了。在整理硬盘资料过程中发现之前搭建的Android开发环境也没了。唉,C盘划的少的孩子伤不起啊,硬盘小的孩子更伤不起啊。索性就心血来潮把Android的开发环境给搭起来,运行了一个久违的HelloAndroid程序。我嘞个去,启... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(136) 评论(0) 推荐(0)

用户空间和内核空间通讯之【proc文件系统】

摘要: 今天我们介绍另一种用户内核空间通信的方法:proc文件系统。 proc文件系统作为linux提供的一种虚拟文件系统并不占用实际外围存储空间,它仅存在于内存中,系统断电即消失。proc文件系统最开始的设计主要是为满足内核向用户态进程报告其状态而设计,并没有为输入做规定和说明。随着发展,现在的pr... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(902) 评论(0) 推荐(0)

导航