2009-11-14 94 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需要是運行應用程序的用戶,請確保您爲此設計(或圍繞)。