论坛风格切换切换到宽版
  • 825阅读
  • 2回复

[问题求助]关于NETFILTER HOOK的疑问 [复制链接]

上一主题 下一主题
离线tommytino.
 
发帖
2080
C币
-198682
威望
371
贡献值
1
银元
0
铜钱
4552
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
在一篇论文.中看到“基于netfilter 框架的计费网关主要在NF- IP- PRE -ROUTING和NF- IP- FORWARD 两个钩子上实现功能,也就是在PREROUTING链和FORWARD 链上处理数据包,由于钩子NF- IP-. PRE-ROUTING只在每次连接第一次要求转发数据包时.才被调用,而NF- IP- FORWARD 钩子会对所有个通过的数据包进行过滤,所以我们设计用户身份认证发生在PREROUTI.NG链阶段,通过重.定向规则指向的本地Web. 的cgi 程序完成这一认证功能。”.

想请教一下“钩子NF- IP- PRE-ROUTING只在每次.连接.第一次要.求转发数据包.时才被调用”这是作者自定义功能实现的还是PREROUTING就是这样呢?我的理解是每个数据包都会经过PREROUTING啊,作者却说是“每次连接第一次要求转发数据包时才被调用”?如果不是自定义实现的,如何鉴别第一次要求转发呢?--- 印刷


再请教一个问题:如.果接收到一个数据包,对.它做一.定的处理,并需要等待处理结果,即是决定发送或丢弃,在这种情况下如何“挂起”这个数据包,而继续处理其他数据包呢?--- 印刷

[ 本帖最后由 lihw_2002 于 20.08-1-23 23:02. 编辑 ]--- 印刷

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
发帖
1864
C币
-199171
威望
342
贡献值
1
银元
-4
铜钱
4126
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
Re:关于NETFILTER
>>想请教一下“钩子NF- IP- PRE-ROUTING只在每次连接第一次要求转发数据包时才被调用”这是作者自定义功能实现的还是PREROUTING就是这样呢?我的理解是每个数据包都会经过PREROUTING啊,作者却说是“每次连接第一次要求转发数据包时才被调用”?如果不是自定义实现的,如何鉴别第一次要求转发呢?

你的理解是对的,该文的表述有问题

>>再请教一个问题:如果接收到一个数据包,对它做一定的处理,并需要等待处理结果,即是决定发送或丢弃,在这种情况下如何“挂起”这个数据包,而继续处理其他数据包呢?

有一个QUEUE target,可以实现你的功能

离线grassgrass.
发帖
2055
C币
-140287
威望
348
贡献值
1
银元
-1
铜钱
4591
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
Re:关于NETFILTER
QUEUE target是结合iptables用的吧,要先设定规则,将符合规则的数据包排队到用户空间.

我想要的是不用iptables的规则设定,按自己保存在在内核中的条件进行匹配,匹配成功的就发送,不成功的就送到用户空间缓冲区中,等待处理结果,不能影响对后续数据包的处理,如果处理后决定发送,则在将缓冲区中的数据包送回内核继续转发.有没有这方面的例子呢?

或者用iptables将包都发送到用户空间,在用户空间中实现上面要求的功能.

谢谢关注!

[ 本帖最后由 lihw_2002 于 2008-1-24 14:04 编辑 ]
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个