2009-11-14 98 views
-1

我开始在智能防火墙上工作,但在此之前,我需要清楚地了解非常基本的防火墙是如何工作的。因为我和我的团队在C中最舒服,我们将使用它。基本的HTTP防火墙

可能有人给C语言编写的

回答

6

一个非常基本的防火墙开发一个正确防火墙的例子并非易事。您需要全面了解底层操作系统的网络堆栈以及OSI模型各层的各种协议。

The netfilter/iptables project,负责最广泛使用的Linux数据包过滤软件,它是开源的,它应该为您提供一个很好的防火墙内容。这当然不是“非常基本”的类别,但我会对所谓的“非常基本的”任何防火墙软件保持警惕。

+0

我知道它不是微不足道的,而是一个最基本的防火墙,它演示了数据包过滤应该存在。 – 2009-11-14 15:45:26

+1

@Ankit:根本没有。 (应该存在)这是因为TCP/IP不是基本的。 – EFraim 2009-11-14 16:26:34

2

通常,大多数Linux防火墙都是shell脚本编译,它们将字符串组织起来发送到iptables或有时ebtables命令,具体取决于是否正在使用桥接。另外,如果正在使用流量整形,他们会与tc实用程序通话。

Shorewall是这样的防火墙的一个例子,但它做了很多。它可以让你设置各种类型的NAT,围绕VPN等的安全性。

它看起来像你想在C中完全做到这一点。我会推荐obtaining the source to iptables,并熟悉其内核对象提供的ioctl钩子。在这一点上,你将能够开始编写自己的包装来完成你需要做的事情。

注意:Root需要是运行应用程序的用户,请确保您为此设计(或围绕)。