科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道linux防火墙实现技术比较(6)

linux防火墙实现技术比较(6)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

此文着重阐述linux下的防火墙的不同实现之间的区别,以ipchains, iptables, checkpoint FW1为例。

作者:51CTO.COM 2007年11月9日

关键字: 防火墙 Linux CheckPoint iptables ipchains

  • 评论
  • 分享微博
  • 分享邮件

  许多初读内核的人对函数指针的应用很不适应,在netfilter中更是用的非常广泛。大量register函数的应用,使得netfilter非常的模块化,但是给初学者带来的问题也不小。

  这里是linuxforum上的一份帖子,如果看代码时对函数指针的指向总是糊里糊涂的话,可借鉴一下这个思路(当然关键还是要找到指针初始化的地方):

  >Linux内核技术

  >herze (stranger ) 01/15/01 02:54 PM

  >高手指点:PPP的发送函数在那里?

  >在Linux内核2.4.0中对于PPP数据包已经打好的包,内核中的ppp_generic.c文件中发送的流程好像如下

  >ppp_file_write()->ppp_xmit_process()->ppp_push()(可能也由其它的发送流程,但是最后都是

  >用到了ppp_push())这个函数,而这个函数调用了一个struct channel中struct ppp_channel中的

  >struct ppp_channel_ops 中的一个函数指针

  >int (*start_xmit)(struct ppp_channel *, struct sk_buff *)来进行发送的,但是下面我就不明白了。

  >虽然在drivers/char/cyclades.c和drivers/char/serial167.c中找到了

  >start_xmit( struct cyclades_port *info )但是函数说明都不相同。

  >请教:

  >int (*start_xmit)(struct ppp_channel *, struct sk_buff *)

  >到底这个函数指针是指到了什么地方?

  >是不是和具体的硬件有关,但是我怎么在内核中找不到对应的函数?

  >Linux内核技术

  >yawl (stranger ) 01/15/01 11:31 PM

  >思路这样 [re: herze]

  >内核中常有这样的类似处理,查找这种函数指针的一个好办法,就是找那种结构的实例,对于你的问题,就是找

  >ppp_channel_ops,最终会找到async_ops(ppp_async.c)和sync_ops(ppp_synctty.c),没看过这块的

  >具体代码,不敢多说,但思路如此。

  九 后记

  尽管此文中是在【12】的基础之上完成的,但是在内容上并未完全包括前者,感兴趣的朋友在那篇文章上可能能找到一些有趣的原始信息。由于时间关系,本文在此主题上的探讨仍显粗浅,对此只能说抱歉了。

  十 参考文献

  【1】了解Check Point FW-1状态表

  http://magazine.nsfocus.com/detail.asp?id=538

  【2】A Stateful Inspection of FireWall-1

  http://www.dataprotect.com/bh2000/

  【3】Linux IPCHAINS-HOWTO

  http://www.linuxdoc.org

  【4】防火墙新生代:Stateful-inspection

  http://www.liuxuan.com/safe/anquan/html/firewall/04.htm

  【5】netfilter站点上的文档

  http://netfilter.kernelnotes.org

  【6】Application Gateways and Stateful Inspection:A Brief Note Comparing and Contrasting

  http://www.avolio.com/apgw+spf.html

  【7】Internet Firewalls:Frequently Asked Questions

  http://www.interhack.net/pubs/fwfaq

  【8】Writing a Module for netfilter

  http://www.linux-mag.com/2000-06/gear_01.html

  【9】ipchains的源代码分析

  http://www.lisoleg.net/lisoleg/network/ipchains.zip

  【10】内核防火墙netfilter入门

  http://magazine.nsfocus.com/detail.asp?id=637

  【11】Check Point Firewall-1 on Linux, Part Two

  http://www.securityfocus.com/frames/?focus=linux&content=/focus/linux/articles/checkpoint2.html

  【12】防火墙技术分析讲义

  http://bj.aka.org.cn/Lectures/003/Lecture-3.1.1/Lecture-3.1.1/firewall.txt

  【13】IP分片重组的分析和常见碎片攻击 v0.2

  http://magazine.nsfocus.com/detail.asp?id=584

  【14】利用LLKM处理网络通信---对抗IDS、Firewall

  http://security.nsfocus.com/showQueryL.asp?libID=431

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章