水滴
发布时间:2018-09-04 10:50:11
SHA256原理详解为了更好的理解SHA256的原理,这里首先将算法中可以单独抽出的模块,包括常量的初始化、信息预处理、使用到的逻辑运算分别进行介绍,甩开这些理解上的障碍后,一起来探索SHA256算法的主体部分,即消息摘要是如何计算的。1.1 常量初始化SHA256算法中用到了8个哈希初值以及64个哈希常量其中.........【阅读全文】
发布时间:2018-08-21 14:51:38
################################################################################## VlinkOS Makefile for blue-apply program .........【阅读全文】
发布时间:2018-07-17 08:49:48
Linux定时器-select通过select函数实现linux高精度定时器timeval的结构如下:struct timeval{ long tv_sec;/*secons* long tv_usec;/*microseconds*/}精确到microseconds也即微妙。一、秒级定时器void seconds_sleep(unsigned seconds){ struct timeval tv;&nb.........【阅读全文】
发布时间:2018-07-01 19:02:31
物理地址映射 对于系统含有mmu(内存管理单元), 实现物理地址地址到虚拟地址之间映射关系,Linux内核中操作,基本都是对虚拟地址的操作,实现对外设设备的控制1. 物理地址映射 文件arch/arm/mach-exynos/cpu-exynos4.c文件,实现物理地址到虚拟地址的映射,当系统初.........【阅读全文】
发布时间:2018-06-26 17:09:15
1. 动态库 $(CC) -shared $(CURCFLAGS) $(CURLDFLAGS) -o libDot11pTr.so $(CUR_OBJS)2. 静态库 $(AR) -cr libDot11pData.a $(CUR_OBJS)3. 静态库生成动态库 $(CC) -shared -fPIC $(CURCFLAGS) $(CURLDFLAGS) -o libDot11p.so $(CUR_OBJS) -Wl.........【阅读全文】
发布时间:2018-06-25 22:36:46
简介: Linux驱动按照编译方式可分为:驱动在linux内核内进行编译;驱动在linux内核外模块化编译。 1. 驱动在linux内核进编译: (1)添加make menuconfig 菜单栏,实现宏定义 (2)设备注册 (3)驱动注册 2.驱动模块化编译: &n.........【阅读全文】
发布时间:2018-05-20 12:41:36
web服务器搭建(一) ----lighttpd移植 在上一篇博客当中,我们已经在ubuntu下对lighttpd进行了验证,并实现了通过浏览器弹页面的功能,接下来我们需要将lighttpd移植到我们的开发板中1. 嵌入式交叉编译Makefile2. 需要将lighttpd所依赖模块、lighttpd、 lighttpd.conf、index.xml.文件上传到开发板相应目录3.........【阅读全文】
发布时间:2018-05-20 09:21:19
LINUX嵌入式交叉编译环境搭建 根据自己选择的开发板,选择相应的交叉变异工具,我自己的板子是ARM A9 交叉编译工具arm-linux-gcc-4.3.2.tar.gz, 系统ubuntu 16.04。 通过添加common.mak文件使得在以后的Makefile中都可以使用环境变量,当然也可以使用export进行变量声明。1. 交叉编译工具进行解压.........【阅读全文】
发布时间:2018-05-18 17:46:39
Linux-Rawsoket通信 为了满足能够从2层直接读取相应数据编写了raw通讯接口, 直接代码。1. server#include pthread.h#include sys/socket.h#include sys/ioctl.h#include sys/time.h#include asm/types.h#include math.h#include string.h#include stdlib.h#include unistd.h#include signal.h#inc.........【阅读全文】
发布时间:2018-05-18 17:14:50
Linux协议添加 要让?络协议栈能够接收?种新协议是很简单的,由于已经有报?作为输?,我们要做的仅仅是编写协议,使协议可以正常接收;#include #include #include >#include #include #include ......【阅读全文】
发布时间:2018-05-08 13:40:52
1 应用背景及介绍 Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。 &nbs.........【阅读全文】
发布时间:2018-05-08 12:05:20
(十)洞悉linux下的Netfilter&iptables:网络地址转换原理之SNAT 源地址转换:SNAT SNAT主要应用于下列场景: 这种情况下,我们只有一个公网地址A,而又有三台主机需要同时上网,这时就需要SNAT了。它的主要作用是将那些由私网发来的数据包skb的源地址改成防火墙的公网地址A,.........【阅读全文】
发布时间:2018-05-08 12:03:59
(九)洞悉linux下的Netfilter&iptables:网络地址转换原理之DNAT 网络地址转换:NAT Netfitler为NAT在内核中维护了一张名为nat的表,用来处理所有和地址映射相关的操作。诸如filter、nat、mangle抑或raw这些在用户空间所认为的“表”的概念,在内核中有的是以模块的形式存在,如filt.........【阅读全文】
发布时间:2018-05-08 11:58:19
(七)洞悉linux下的Netfilter&iptables:如何理解连接跟踪机制?【下】 连接跟踪系统的初始化流程分析 有了前面的知识,我们再分析连接跟踪系统的初始化ip_conntrack_standalone_init()函数就太容易不过了。还是先上ip_conntrack_standalone_init()函数的流程图:该函数的核心上.........【阅读全文】
发布时间:2018-05-08 11:57:25
(六)洞悉linux下的Netfilter&iptables:如何理解连接跟踪机制?【中】 Netfilter连接跟踪的详细流程 上一篇我们了解了连接跟踪的基本框架和大概流程,本篇我们着重分析一下,数据包在连接跟踪系统里的旅程,以达到对连接跟踪运行原理深入理解的目的。 连接跟.........【阅读全文】
发布时间:2018-05-08 11:20:26
(五)洞悉linux下的Netfilter&iptables:如何理解连接跟踪机制?【上】 如何理解Netfilter中的连接跟踪机制? 本篇我打算以一个问句开头,因为在知识探索的道路上只有多问然后充分调动起思考的机器才能让自己走得更远。连接跟踪定义很简单:用来记录和跟踪连接的状态。问:为什么又需要连.........【阅读全文】
发布时间:2018-05-08 11:19:15
(四)洞悉linux下的Netfilter&iptables:包过滤子系统iptable_filter 内核中将filter模块被组织成了一个独立的模块,每个这样独立的模块中都有个类似的init()初始化函数。编写完该函数后,用module_init()宏调用初始化函数;同样当模块被卸载时调用module_exit()宏将该模块卸载掉,该宏主要.........【阅读全文】
发布时间:2018-05-08 11:17:54
(三)洞悉linux下的Netfilter&iptables:内核中的rule,match和target 在2.6的内核中默认维护了三张表(其实是四张,还有一个名为raw的表很少被用到,这里不对其进行分析介绍了):filter过滤表,nat地址转换表和mangle数据包修改表,每张表各司其职。我们对这三张表做一下简要说明:.........【阅读全文】
发布时间:2018-05-08 11:16:44
(二)洞悉linux下的Netfilter&iptables:内核中的ip_tables小觑 Netfilter框架为内核模块参与IP层数据包处理提供了很大的方便,内核的防火墙模块(ip_tables)正是通过把自己所编写的一些钩子函数注册到Netfilter所监控的五个关键点(NF_IP_PRE_ROUTING,NF_IP_LOCAL_IN,NF_IP_FORWARD,NF_IP_LOCAL_OUT,NF.........【阅读全文】
发布时间:2018-05-08 11:15:32
(一)洞悉linux下的Netfilter&iptables:什么是Netfilter? 本人研究linux的防火墙系统也有一段时间了,由于近来涉及到的工作比较纷杂,久而久之怕生熟了。趁有时间,好好把这方面的东西总结一番。一来是给自己做个沉淀,二来也欢迎这方面比较牛的前辈给小弟予以指点,共同学习,共同进步。 .........【阅读全文】
发布时间:2018-05-08 11:13:45
iptables深入解析 ct是netfilter非常重要的基础和架构核心.它为状态防火墙,nat等打下基础. 一直觉的它很神秘,所以就下定决心分析一下. 这里依然不从框架开始说,而是从实际代码着手. 参考内核 kernel3.8.13 先看看它的初始化:Net/netfilter/nf_con.........【阅读全文】
发布时间:2018-05-08 11:11:52
一、netlink简介 netlink协议是一种基于socket的IPC机制,可用于内核与用户空间进程、用户空间进程与用户空间进程通信,如图所示: netlink协议基于BSD socket和AF_NETLINK地址簇(address family),使用32位的端口号寻址(以前称作PID),每个netlink.........【阅读全文】
发布时间:2018-05-08 11:09:14
本文通过一个编程实例来更深入地了解netlink。功能描述:1. 本实例包含2个部分:内核模块和用户程序2.用户程序通过netlink socket建立与kernel module连接,并向kernel module发送一条信息。3.内核在接收到用户的信息后,向用户程序发送一条确认信息。说明:对于不知如何编译内核模块以及用户程序的童鞋请google内.........【阅读全文】
发布时间:2018-05-08 10:52:50
这里内核模块分两中,一种是模块代码本身就在kernel.org官方内核中的,另一种是外加模块如额外驱动的需求。(在这里吐槽一下openwrt把内核本身的模块也搞的这么麻烦,还需要在另外的文件中加配置,不然就算内核本身选上并编译成了.ko但就是不给你install到根文件系统,.........【阅读全文】
发布时间:2018-05-08 10:51:11
OpenWrt是一个比较完善的嵌入式Linux开发平台,在无线路由器应用上已有100多个软件包。人们可以在其基础上增加软件包,以扩大其应用范围。OpenWrt在增加软件方面使用极其方便,按照OpenWrt的约定就可以很简单完成。 加入的软件包可以是网上可下载的开源软件或自行.........【阅读全文】