自定义博客皮肤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)
  • 资源 (9)
  • 收藏
  • 关注

转载 Linux内核和用户空间通信的方式(一)— proc文件和mmap共享内存

动态的将内核空间的物理地址和大小传给用户空间。本文也演示了内核空间和用户空间进行通信可以使用的两种常用方法:proc文件系统和mmap共享内存。整个内核模块,在模块插入时建立proc文件,分配内存。卸载模块的时候将用户空间写入的内容打印出来。以下是内核模块的代码和用户空间的测试代码。/*This program is used to allocate memory

2016-02-28 20:11:04 844

转载 mmap--最简单的测试程序(用户空间与内核空间数据交换&&用户态和内核态的数据交换用例)

//内核模块测试程序#include #include #include #include  static unsigned long p = 0; static int __init shao_init(void){         //分配共享内存(一个页面)         p = __get_free_pages(GFP_KERNEL, 0);

2016-02-28 20:10:02 904

转载 Linux网络编程:原始套接字的魔力【续】

如何从链路层直接发送数据帧       本来以为这部分都弄完了,结果有朋友反映说看了半天还是没看到如何从链路层直接发送数据。因为上一篇里面提到的是从链路层“收发”数据,结果只“收”完,忘了“发”,实在抱歉,所以就有这篇续出来了。       上一节我们主要研究了如何从链路层直接接收数据帧,可以通过bind函数来将原始套接字绑定到本地一个接口上,然后该套接字就只接收从该接口收上来的对应的数据

2016-02-28 19:55:44 544

转载 Linux网络编程:原始套接字的魔力【下】

可以接收链路层MAC帧的原始套接字       前面我们介绍过了通过原始套接字socket(AF_INET, SOCK_RAW, protocol)我们可以直接实现自行构造整个IP报文,然后对其收发。提醒一点,在用这种方式构造原始IP报文时,第三个参数protocol不能用IPPROTO_IP,这样会让系统疑惑,不知道该用什么协议来伺候你了。       今天我们介绍原始套接字的另一种用法

2016-02-28 19:54:48 409

转载 Linux网络编程:原始套接字的魔力【上】

基于原始套接字编程       在开发面向连接的TCP和面向无连接的UDP程序时,我们所关心的核心问题在于数据收发层面,数据的传输特性由TCP或UDP来保证:       也就是说,对于TCP或UDP的程序开发,焦点在Data字段,我们没法直接对TCP或UDP头部字段进行赤裸裸的修改,当然还有IP头。换句话说,我们对它们头部操作的空间非常受限,只能使用它们已经开放给我们的诸如源、目的I

2016-02-28 19:53:59 478

转载 mmap - 用户空间与内核空间

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]mmap概述共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式, 因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据: 一次从输入文件到共享内存区,另一次从共享内存区到输出文

2016-02-28 19:40:26 747

转载 PF_RING实现分析(转自大神独孤九贱)

版权所有,转载请注明出处独孤九贱内核版本:Linux 2.6.30.9PF_RING版本:4.1.0最近看了一个PF_RING的实现,看了个大概,发上来大家讨论讨论,共同学习。一、什么是PF_RINGPF_RING是一个第三方的内核数据包捕获接口,类似于libpcap,它的官方网址是:http://www.ntop.org/PF_RING.html

2016-02-28 09:25:29 3864

转载 Linux内核实践 - 如何添加网络协议[三]:实现

版权声明:本文为博主原创文章,未经博主允许不得转载。内核版本:2.6.34接上篇《添加网络协议》。        为了用户方便查看brcm设备的工作状态,使用proc文件系统是很好的方式。一个网络协议模块可以注册到网络空间中register_pernet_subsys(),这个函数会为子空间分配一个id号,通过id可以在网络空间中找到分配给该子空间的内存:init_net->g

2016-02-28 09:22:36 405

转载 Linux内核实践 - 如何添加网络协议[二]:实现

版权声明:本文为博主原创文章,未经博主允许不得转载。内核版本:2.6.34实现思路:      报文在网络协议栈中的流动,对于接收来讲,是对报文的脱壳的过程,由于报文是已知的输入,只要逐个解析协议号;对于发送来讲,是各层发送函数的嵌套调用,由于没有已知的输入,只能按事先设计好的协议进行层层构造。但无论报文怎样的流动,核心是报文所在设备(skb->dev)的变化,相当于各层之

2016-02-28 09:21:04 932 1

转载 Linux内核实践 - 如何添加网络协议[一]:目的

版权声明:本文为博主原创文章,未经博主允许不得转载。        本文只是一个内核网络协议的实践的例子,先说明添加的目的,下篇开始具体的实现。        内核版本:2.6.34;在支持802.1主机上,报文的一般格式:         现在需要支持一种新的协议[二层] – BRCM协议,与IP等协议不同,它位于2层,拥有6字节的头部和4字节的尾部,添加的层次决定了

2016-02-28 09:19:38 353

转载 Linux平台Boost的编译方法

本博客(http://blog.csdn.net/livelylittlefish )贴出作 者(三二一@小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正!Linux平台Boost的编译方法 Boost的编译使用的不是已经成为公认标准的make,而是专门为Boost开发的工具bjam(boost jam)。本文以boost1.40为例,在Linu

2016-02-16 19:51:26 303

NALDecoder.rar

真正vlc可以播放的代码 下载多个选择出来的好代码

2015-10-09

Visual C++/DirectX9 3D游戏开发导引源码

Visual C++/DirectX9 3D游戏开发导引

2011-08-30

ftp文件下载客户端

mfc 新手源代码 用最少的代码 让你理解 下载与上传的实现 我自己改造的 逻辑非常清楚 可以自己尝试 加入多线程 等

2010-02-11

10TCPServer(windows socket api )

windows 程序设计源代码 非常适合新手 windows socket api 我就是 看这个过来的

2010-02-11

10TCPClient (windows api socket)

windows 程序设计 实例 api函数 新手专用的简单源码 非常标准的

2010-02-11

刘文涛 网络安全开发包 难得宝库

winpcap libnet libnids libdnet netsniffer 开发包 刘文涛书对应的开发包 花了很多天才弄到的 在windows 使用的 linux部分开发包不适合

2010-02-01

libdnet开发包 网络安全开发包详解 专用的 刘文涛 Windows

非常难得 我是费了很大劲 才弄到 分享给大家

2010-01-30

这个是程序员非常好用的词典

这个是程序员非常好用的词这个是程序员非常好用的词典这个是程序员非常好用的词典典

2010-01-24

vc++实例源码 关于新手用的

这个东西呢 是我 下载的 应该适合新手使用吧 就这样吧

2010-01-24

空空如也

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

TA关注的人

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