如何开始编写Linux防火墙?

4

我希望开发一个Linux防火墙,使用C/C++语言。

有没有编写防火墙的简单示例代码?

应该使用哪些库?

更新:虽然有一些Linux防火墙,但我想开发一个简单的防火墙来学习。


1
我想为了学习而开发一个简单的防火墙。 - Amir Saniyan
1
正如@BasileStarynkevitch所说,它已经存在了,但如果您想了解更多,请查看http://www.netfilter.org/,并注意https://dev59.com/ynVD5IYBdhLWcg3wU56H上的警告。 - Rich
2
你想做什么并不清楚。那个“防火墙”具体应该做什么?只是设置netfilter规则吗?深度数据包检查?使用哪些协议?为什么要自己编写,而不使用已经存在的众多防火墙之一呢? - Sven Marnach
@Sven,同意,但是“防火墙”不是一个非常精确的术语。 - Basile Starynkevitch
到底是谁关闭了这个如此合理的问题。 - étale-cohomology
显示剩余2条评论
1个回答

4
你可以从使用Netfilters API(http://www.netfilter.org/)开始。我认为这是数据包过滤的良好起点。我在内核空间中与该API一起工作了很多。我不确定是否有适用于用户空间的库,但我必须告诉你,在内核中使用netfilters开发某些东西非常容易。
例如,iptables使用了netfilters API。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接