水滴
发布时间: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的约定就可以很简单完成。 加入的软件包可以是网上可下载的开源软件或自行.........【阅读全文】
发布时间:2018-05-08 10:45:14
OpenWrt是一个典型的嵌入式Linux工程,了解OpenWrt的Makefile工作过程对提高嵌入式Linux工程的开发能力有极其重要意义。 OpenWrt的主Makefile文件只有100行,可以简单分为三部分,1~17行为前导部分,19~31为首次执行部分,33~101为再次执行部分。一、前导部分 &nbs.........【阅读全文】
发布时间:2018-05-08 10:30:06
Libpcap库主要函数说明函数名称:pcap_t *pcap_open_live(char *device, int snaplen, int promisc, int to_ms, char *ebuf)函数功能:获得用于捕获网络数据包的数据包捕获描述字。参数说明:device参数为指定打开的网络设备名。snaplen参数定义捕获数据的最大字节数。promisc指定是否将网络接口置于.........【阅读全文】
发布时间:2018-05-08 10:28:43
Linux通-消息队列 对于本地进程间通信,普通管道提供了相关进程(都有想相同的祖先)之间通信的一种方法,但是普通管道存在两种局限性。首先它只能在相关进程间使用,其次它是半双工的,即使一些系统提供全双工的管道但为了可移植性,我们不应作此假设。命名管道解决了第一个局限性,他能在不相关的进程之间进行数据.........【阅读全文】
发布时间:2018-01-10 10:00:26
驱动、设备都挂载到平台总线查看总线的命令#ls /sys/bus/查看设备号的命令#cat /proc/devices ......【阅读全文】
发布时间:2018-01-09 14:55:42
/*hello drivers*/#include #include /*声明开源 没有内核版本限制*/MODULE_LICENSE("Dual BSD/GPL");/*声明作者*/MODULE_AUTHOR("CDL");/*驱动加载调用初始化函数*/static int hello_init(void){ printk(KERN_EMERG "Hello World enter!\n"); .........【阅读全文】
发布时间:2018-01-06 20:31:30
在Ubuntu系统下arm-none-linux-gnueabi-gcc: not found 的解决办法 root@Zqj-Ubuntu:/# arm-linux-gcc -v/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: exec: /opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found出现这种情况的原因是:在64位Linux系.........【阅读全文】
发布时间:2017-12-08 09:17:23
1. 内核函数说明1 1 ieee80211_local/ieee80211_hw 位置:ieee80211_i.h每个数据结构代表一个无线设备(ieee80211_hw嵌入到ieee80211_local)ieee80211_hw是ieee80211_local在驱动中的可见部分包含无线设备的所有操作信息 sta_info.h代表每一个station可能是mesh,IBSS.........【阅读全文】
发布时间:2017-11-28 10:27:54
对于一个普通的linux设备驱动模块,以下是一个经典的makefile代码,使用下面这个makefile可以完成大部分驱动的编译,使用时只需要修改一下要编译生成的驱动名称即可。只需修改obj-m的值。ifneq ($(KERNELRELEASE),)obj-m:=hello.oelse#generate the pathCURRENT_PATH:=$(shell pwd)L.........【阅读全文】
发布时间:2017-05-24 09:18:04
字符截取Linux 的字符串截取很有用。有八种方法。假设有变量 var=http://www.aaa.com/123.htm1. # 号截取,删除左边字符,保留右边字符。echo ${var##*/}##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符即删除 http://www.aaa.com/结果是 123.htm3. .........【阅读全文】
发布时间:2017-04-10 13:54:52
1.1. 微信连wifi 参考文档 http://mp.weixin.qq.com/wiki/10/0ef643c7147fdf689e0a780d8c08ab96.html http://www.cnblogs.com/txw1958/p/wechat-tutorial.html http://www.cnblogs.com/txw1958/p/5059444.html http://www.9miao.com/forum.php?mod=viewthrea.........【阅读全文】
发布时间:2017-04-10 13:46:09
1. hostapd配置interface=ath0driver=atherosctrl_interface=/var/run/hostapd-ath0ssid=ChinaNet-1265max_num_sta=255auth_algs=1wpa=2wpa_passphrase=1227918265rsn_pairwise=TKIP CCMPwpa_key_mgmt=WPA-PSKwps_state=2ap_pin=12345670ap_setup_locked=0device_type=6-0050F204-1device_name=ChinaNet-126.........【阅读全文】