当前位置:  技术问答>linux和unix

用netfilter钩子函数统计输出包的个数,出错了!

    来源: 互联网  发布时间:2016-03-26

    本文导语:  我在netfilter的post_routing挂载点上注册了一个处理函数post_handler,这个处理函数每执行一次就对一个全局变量count自加1(在程序的其他地方没有对count的操作),然后返回NF_ACCEPT.我将这个模块加载后执行ping -c 10 127.0.0...

我在netfilter的post_routing挂载点上注册了一个处理函数post_handler,这个处理函数每执行一次就对一个全局变量count自加1(在程序的其他地方没有对count的操作),然后返回NF_ACCEPT.我将这个模块加载后执行ping -c 10 127.0.0.1后,count的值为20.我的问题是用ping发了10个包后为什么count的值不是10而是20.如果我把post_handler的返回值改为NF_DROP或着NF_STOLEN,count的值就是10.哪位能不能帮我把这个问题分析下,谢谢了!!!

|
postrouting在mangle表和nat表中, 在对packet进行ACCEPT时,你得到的count会被计算两次.

而如果是DROP或者STOLEN,则在mangle时就被丢弃了,当然不会重复计算.

|
有可能是你的ping的时回环地址,然后又进入到这个函数了,你试试ping其他的地址是不是也会出现这样的情况。

|
不知道你怎么写的代码
如果是写一个netfilter的match或者target模块再使用的话是不会出现这个问题

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 从netfilter里注册的函数获得的sk_buff的数据包如何重组?
  • 在网上看了netfilter资料两天,确认一下关于netfilter程序的几个问题:
  • netfilter 和 IPTABLES 是一回事吗?
  • 有关netfilter编译时出现的一些小错误
  • linux内核桥这一块有一个Netfilter文件夹,是做什么用的?
  • 请问哪里能找到netfilter的connection tracking的实现或源吗分析的相关文章。
  • 请教前辈们关于netfilter/iptables的问题
  • 关于netfilter开发,急
  • netfilter的怪问题
  • 关于使用netfilter,如何把数据送到用户空间?
  • netfilter中可以使用什么同步机制?
  • netfilter里如何获得TCP包的数据?
  • 关于netfilter开发的问题
  • netfilter处理的数据包是什么样的
  • 请问连接镜像端口后数据包经过netfilter中hook点NF_IP_PRE_ROUTING时如何操作
  • 我要写一个用来修改packet的模块(就是iptables的插件可以向netfilter中添加一些过滤的规则),需要看那些书,请大侠们指教????
  • 在netfilter中可以用copy_to_user和copy_from_user吗
  • 在netfilter中使用NF_QUEEN把数据交由用户进程处理,碰到倒霉事,郁闷啊。。
  • 菜人netfilter问题,急急急,请高手帮忙 急急急急急急急急急急急急
  • 请问在netfilter的forward点上怎么将原来从eth0发送的数据包转向由eth1发送啊?
  • 100分+一颗诚心 期待netfilter Hook程序解惑 每天都在线,期待交流


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3