摘要: 首先找几本网络编程的书看。基本了解IP/TCP协议的工作流程。然后利用原始套接字来捕获数据包,学会对数据包的一些简单利用(可以把我前一篇文章的函数全用一遍)。接着就可以开始防火墙之旅了。做一个防火墙,我们首先要知道怎样捕获数据包。http://www.ibm.com/developerworks/cn/education/linux/l-packet/index.html上面的网站介绍了4种捕获数据包的方法,我选择采用的是用netfilter。这种方法需要内核编程。要进行内核编程,首先要建立内核树。http://forum.ubuntu.org.cn/viewtopic.php?f=97&am 阅读全文
posted @ 2012-06-24 23:20 HanZ 阅读(457) 评论(1) 推荐(0)
摘要: 说明请看这里http://www.ibm.com/developerworks/cn/linux/l-netlink/index.html这里主要是贴在新的内核版本(3.2.0-29)能运行的代码。imp2_k.c 1 #ifndef __KERNEL__ 2 #define __KERNEL__ 3 #endif 4 5 #ifndef MODULE 6 #define MODULE 7 #endif 8 9 #include <linux/module.h> 10 #include <linux/kernel.h> 11 #include <linux/ini 阅读全文
posted @ 2012-08-30 10:44 HanZ 阅读(392) 评论(0) 推荐(0)
摘要: 转自:http://blog.chinaunix.net/space.php?uid=7201775&do=blog&id=25901读了一下《Professional Linux Kernel Architecture》的Network这一章。由于本书讲得比较新,可以说是市面上目前讲Linux内核版本最新的著作了,涉及到了2.6.24版本。其中,有很多微妙的变化,由于struct sk_buff是内核网络机构的基础,因此我也比较关心这个结构的变化:struct sk_buff {/* These two members must be first. */struct sk_b 阅读全文
posted @ 2012-07-11 17:50 HanZ 阅读(359) 评论(0) 推荐(0)
摘要: from:《软件综合开发案例教程》Linux Socket(BSD Socket)需要使用的头文件数据类型: <sys/types.h>函数定义: <sys/socket.h>Socket接口函数 网络连接函数 scoket 创建套接字 bind 绑定本机端口 connect 建立连接 listen 监听端口 accept 接受连接 recv, recvfrom ... 阅读全文
posted @ 2012-06-24 23:13 HanZ 阅读(167) 评论(0) 推荐(0)