免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1716 | 回复: 5
打印 上一主题 下一主题

[网络子系统] 关于netfilter中hooknum的疑问 [复制链接]

论坛徽章:
1
卯兔
日期:2014-05-29 10:21:33
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-05-28 13:35 |只看该作者 |倒序浏览


在init函数里面注册了一个hook:

struct nf_hook_ops nfho;
void init(){
nfho.hook           = intercept_pkts;
nfho.pf               = AF_INET;
nfho.hooknum     = NF_INET_FORWARD;
nfho.priority        = NF_IP_PRI_FIRSR;

ret = nf_register(&nfho);
.......
}


initercept_pkts(unsigned int hooknum,struct sk_buff *_skb,.........)
{
                printk("hooknum = %d\n",hooknum);

               .........
}



问题是:

    initercept_pkts函数里面打印的hooknum的值是个随机数。


  这个地方的值不应该就是那5个hook点对应的值吗?这里为什么会出现随机值呢?
不是NF_HOOK宏传入AF_INET和NF_INET_FORWARD当参数的时候才会调用到initercept_pkts函数吗?

   麻烦哪位大神给解释一下好吗。

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
2 [报告]
发表于 2014-05-28 14:25 |只看该作者
回复 1# li_freedom
  initercept_pkts函数里面打印的hooknum的值是个随机数。


NF_INET_FORWARD应该一直打印2的,怎么会随机呢?  你随机是什么概念?(0-4之间随机,还是出现其他的数了)
   

论坛徽章:
1
卯兔
日期:2014-05-29 10:21:33
3 [报告]
发表于 2014-05-28 14:35 |只看该作者
回复 2# 瀚海书香

对  我知道那个定义是2   但是我打印出来的不是2   是个随机数  如32148042  -12560131等这种值,很奇怪为什么会出现这种情况。
   

当调用initercept_pkts函数的时候不是应该内核里面调用的NF_HOOK(AF_INET,NF_INET_FORWARD,。。。。)的时候才有可能调用的我注册的hook函数吗?

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
4 [报告]
发表于 2014-05-28 16:03 |只看该作者
回复 3# li_freedom
当调用initercept_pkts函数的时候不是应该内核里面调用的NF_HOOK(AF_INET,NF_INET_FORWARD,。。。。)的时候才有可能调用的我注册的hook函数吗?

是这样的。
应该是你代码写的有问题,我在本地验证了一下不会出现随机的情况。

   

论坛徽章:
0
5 [报告]
发表于 2014-05-28 16:28 |只看该作者
回复 1# li_freedom


    unsigned int    hooknum;

论坛徽章:
1
卯兔
日期:2014-05-29 10:21:33
6 [报告]
发表于 2014-05-29 09:03 |只看该作者
问题解决了   是因为内核版本的问题。函数参数改变了  呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP