亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2501 | 回復(fù): 7
打印 上一主題 下一主題

向netfilter框架注冊鉤子的問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-03-01 20:00 |只看該作者 |倒序瀏覽
我想寫一個可以動態(tài)加載與卸載的模塊,可以向下面的代碼所示,在模塊中注冊了兩個鉤子函數(shù):
int init_module()
{
*/初始化鉤子函數(shù)填充hook數(shù)據(jù)結(jié)構(gòu)*/
nf_hook.hook=nfkiller;
nf_hook.Pf=PF_INET;
nf_hookk.hooknum=NF_IP_FORWARD;//使用Ipv4的第一個hook
nf_hook.prioriyt=NF_IP_FIRST;//讓添加的函數(shù)首先執(zhí)行


cf_hook.hook=cfkiller;
cf_hook.Pf=PF_INET;
cf_hookk.hooknum=NF_IP_FORWARD;//使用Ipv4的第一個hook
cf_hook.prioriyt=NF_IP_FIRST;//讓添加的函數(shù)首先執(zhí)行

nf_register_hook(&nf_hook);//注冊鉤子函數(shù)
nf_register_hook(&cf_hook);

return 0;
}

請問可以這樣在一個模塊中注冊2個或者2個以上的鉤子函數(shù)嗎?可以的話,那數(shù)據(jù)包在經(jīng)過forward點時,這兩個鉤子函數(shù)的執(zhí)行順序是怎樣的?

論壇徽章:
36
IT運維版塊每日發(fā)帖之星
日期:2016-04-10 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-16 06:20:0015-16賽季CBA聯(lián)賽之廣東
日期:2016-04-16 19:59:32IT運維版塊每日發(fā)帖之星
日期:2016-04-18 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-19 06:20:00每日論壇發(fā)貼之星
日期:2016-04-19 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-25 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-06 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-08 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-13 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-28 06:20:00每日論壇發(fā)貼之星
日期:2016-05-28 06:20:00
2 [報告]
發(fā)表于 2011-03-01 21:10 |只看該作者
可以的,一次性注冊更多的都可以

論壇徽章:
0
3 [報告]
發(fā)表于 2011-03-02 10:41 |只看該作者
謝謝熱心的版主啦,^_^還有個問題就是,這個兩個鉤子函數(shù)的優(yōu)先級都是NF_IP_FIRST的話,那處理的先后順序是怎樣的。

論壇徽章:
36
IT運維版塊每日發(fā)帖之星
日期:2016-04-10 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-16 06:20:0015-16賽季CBA聯(lián)賽之廣東
日期:2016-04-16 19:59:32IT運維版塊每日發(fā)帖之星
日期:2016-04-18 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-19 06:20:00每日論壇發(fā)貼之星
日期:2016-04-19 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-25 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-06 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-08 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-13 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-28 06:20:00每日論壇發(fā)貼之星
日期:2016-05-28 06:20:00
4 [報告]
發(fā)表于 2011-03-02 11:57 |只看該作者
回復(fù) 3# onlyff608


    優(yōu)先級 和 hook 點一起確定一個 hook 函數(shù)的工作位置

論壇徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
5 [報告]
發(fā)表于 2011-03-02 12:34 |只看該作者
謝謝熱心的版主啦,^_^還有個問題就是,這個兩個鉤子函數(shù)的優(yōu)先級都是NF_IP_FIRST的話,那處理的先后順序是 ...
onlyff608 發(fā)表于 2011-03-02 10:41



    先注冊的先執(zhí)行,后注冊的后執(zhí)行,順序鏈。

論壇徽章:
36
IT運維版塊每日發(fā)帖之星
日期:2016-04-10 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-16 06:20:0015-16賽季CBA聯(lián)賽之廣東
日期:2016-04-16 19:59:32IT運維版塊每日發(fā)帖之星
日期:2016-04-18 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-19 06:20:00每日論壇發(fā)貼之星
日期:2016-04-19 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-04-25 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-06 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-08 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-13 06:20:00IT運維版塊每日發(fā)帖之星
日期:2016-05-28 06:20:00每日論壇發(fā)貼之星
日期:2016-05-28 06:20:00
6 [報告]
發(fā)表于 2011-03-02 13:53 |只看該作者
嗯,這個函數(shù) nf_register_hook 實現(xiàn)的也很清楚
int nf_register_hook(struct nf_hook_ops *reg)
{
        struct nf_hook_ops *elem;
        int err;

        err = mutex_lock_interruptible(&nf_hook_mutex);
        if (err < 0)
                return err;
        list_for_each_entry(elem, &nf_hooks[reg->pf][reg->hooknum], list) {
                if (reg->priority < elem->priority)
                        break;
        }

        list_add_rcu(&reg->list, elem->list.prev);
        mutex_unlock(&nf_hook_mutex);
        return 0;
}


只有當(dāng)帶注冊的 hook 優(yōu)先級低于全局鏈表中的某個元素的優(yōu)先級時,才會插到該元素的前面。

因此,如果兩個同優(yōu)先級的 hook 函數(shù),注冊在通過一個 hook 點,先注冊的先執(zhí)行。

但是,不建議這樣做。優(yōu)先級最好不要和已經(jīng)注冊的 優(yōu)先級相同。

論壇徽章:
0
7 [報告]
發(fā)表于 2011-03-03 16:59 |只看該作者
回復(fù) 5# dreamice


謝啦

論壇徽章:
0
8 [報告]
發(fā)表于 2011-03-03 17:04 |只看該作者
回復(fù) 6# Godbach

謝啦
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP