• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 內核模塊編程的第一次嘗試

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    第一次編寫內核模塊程序。 萬事開頭難,內核模塊編程也不例外。 Makefile如下: [playmud@server kmod] more Makefile TARGET :=hello4 WARN :=-W -Wall -Wstrict-prototypes -Wmissing-prototypes INCLUDE := -isystem /lib/modules/`uname -r`/build/includ
    第一次編寫內核模塊程序。

    萬事開頭難,內核模塊編程也不例外。

    clearcase/" target="_blank" >cc00">Makefile如下:

    [playmud@server kmod]$ more Makefile
    TARGET  :=hello4
    WARN    :=-W  -Wall -Wstrict-prototypes -Wmissing-prototypes
    INCLUDE := -isystem /lib/modules/`uname -r`/build/include
    CFLAGS  :=-c -O2 -DMODULE -D__KERNEL__ $ $
    CC      := gcc


    SRC     :=$(TARGET).c
    $.o: $
            $(CC)  $(SRC) $(CFLAGS)

    clean:
            rm -rf $(TARGET).o

    程序如下hello4.c:

    #include <linux/module.h>
    #include <linux/kernel.h>
    #include <linux/init.h>

    static int init_hello_4(void)
    {
       printk(KERN_ALERT "Hello, world 4\n");
       return 0;
    }


    static void cleanup_hello_4(void)
    {
       printk(KERN_ALERT "Goodbye, world 4\n");
    }


    module_init(init_hello_4);
    module_exit(cleanup_hello_4);


    /*增加下列內容以后,安裝內核模塊的時候不再提示缺少License*/
    MODULE_LICENSE("GPL");          


    MODULE_AUTHOR("Playmud");    // 內核模塊作者
    MODULE_DESCRIPTION("Test only!"); // 內核模塊的描述


    MODULE_SUPPORTED_DEVICE("testdevice");

    通過命令:

    /sbin/insmod hello4.o

    加載,通過命令:

    /sbin/lsmod

    察看,通過命令:

    /sbin/rmmod hello4

    卸載

    成功以后,一時興奮,編譯了一個阻斷所有數據包的內核模塊,/sbin/insmod hookall.o

    回車以后猛然醒悟,為時已晚,所有網絡連接都斷了,只好去機房接起來顯示器,鍵盤。。。。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>