计算机网络的课程设计要做防火墙,老师没有限制在什么系统上面做,所以决定在Linux上实现。找了一下相关的资料,发现其实Linux有提供Netfilter/Iptables,为用户提供防火墙的功能,稍微看了一下,使用Iptables能够很方便地配置用户想要的防火墙,但是好像只能做过滤、数据报修改以及网络地址转换,好像不能做获取其中信息的功能,而且看了一下网上其他人的提问或者博客,好像想做类似的功能还是需要直接使用Netfilter。而如果想要使用Netfiler的话,需要编写hook函数,这个过程中不得不避免要编写模块。所以这里记录一下我在这个过程中做的一些尝试以及遇到的问题。

  使用的平台:Ubuntu 14.10

  内核版本: 3.16.0-23-generic  (这个很重要啊,不用的内核可能函数都是不一样的,网上的大部分教程用的内核版本都是2.6)

2015.4.23

  第一次我是编写一个hello world,在加载模块的时候以及移除模块的时候各输出一次,这里做的都是跟着网上的教程写的。

代码如下:

 1 #include <linux/module.h>
 2 #include <linux/kernel.h>
 3 #include <linux/init.h>
 4 
 5 
 6 static int __init lkp_init(void);
 7 static int __exit lkp_exit(void);
 8 
 9 static int __init lkp_init(void){
10         printk("<1>Hello,world!\n");
11         return 0;
12 }
13 
14 static int __exit lkp_exit(void){
15         printk("<2>Hello,world!\n");
16         return 0;
17 }
18 
19 module_init(lkp_init);
20 module_exit(lkp_exit);

更多相关文章

  1. LINUX内核PCI扫描过程
  2. 详解Linux内核之双向循环链表
  3. 第一次发帖望各位大神帮顶啊!mini2440上的Linux2.6.32.2内核中含
  4. [置顶] Linux 内核学习(1)
  5. Linux selinux关闭方法和防火墙关闭方法
  6. linux内核段属性机制(以subsys_initcall和module_init为例)
  7. 【Linxu内核设计与实现】-第7章 中断和中断处理
  8. Linux2.6内核调度器介绍
  9. iptables:传统的Linux防火墙管理程序

随机推荐

  1. Android逆向分析常用网站
  2. Linux系统Android SDK 下载版本,报错Warni
  3. android(2.0以后版本) 中读取联系人和通
  4. 更新SDK后eclipse报错This Android SDK r
  5. Android中常用的Intent.Action整理
  6. android 常用JVM配置参数
  7. webView去掉右侧导航条
  8. android之android.os.NetworkOnMainThrea
  9. Android执行命令行命令(获取系统Logcat)
  10. android面试与总结