corbie8205
驱动牛犊
驱动牛犊
  • 注册日期2007-01-24
  • 最后登录2007-02-27
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1252回复:2

新手问题!关于防火墙规则设置的问题。请帮忙!

楼主#
更多 发布于:2007-02-02 15:54
  

参考了很多例子学习编写防火墙。
现在遇到了关于规则设置的问题。

是这样,我在用户程序中,以指针链表的形式,存储了我的规则。
我是用delphi写的,代码就不贴了。

我的思路是
先计算好规则列表需要的内存大小。
然后传给驱动,
由驱动分配一块内存给自己。
然后我从上层把规则内容传给驱动分配的内存。

现在分配内存的代码写完了。
可是我却不明白驱动中该怎么做了?

也使用链表吗?
还有用其他的方法使用那块内存中的规则内容。

希望大虾们能提点以下,感激不尽。
多谢多谢。


ajy
ajy
驱动牛犊
驱动牛犊
  • 注册日期2002-07-09
  • 最后登录2012-12-12
  • 粉丝0
  • 关注0
  • 积分101分
  • 威望20点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-02-05 02:00
我认为链表不链表的倒无所谓了, 关键你要设计好规则的数据结构.
将filter函数至于数据包的接收和发送函数中, 卡住咽喉就可以了.
当然要讲究效率, 而且要卡住所有的包.(可是放到何处才能卡住所有出入的包, who knows?nobody)
至于驱动中该怎么做, 当然要你自己做了!
corbie8205
驱动牛犊
驱动牛犊
  • 注册日期2007-01-24
  • 最后登录2007-02-27
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-02-06 11:29
规则结构定义好了。
比如结构大小为32
我的思路是用指针偏移的方式定义2个指针。
第一个指向规则内存,第二个则用来以32作为递增量计算偏移地址。

然后循环读取32b到一个内存快,并把块强制转换成规则的指针类,
然后进行判断操作。

大虾们看看可行么?

我初学,现在遇到了很多问题。
我有时候概念还是有些混淆,希望大虾们指导!
游客

返回顶部