程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> github項目filter_firewall說明,github開源項目

github項目filter_firewall說明,github開源項目

編輯:關於C語言

github項目filter_firewall說明,github開源項目


本文編寫的目的:

本文是對上傳到github上的項目進行說明。github鏈接:filter_firewall有任何意見或者建議可以Email:[email protected]

項目介紹:

包過濾型防火牆,對訪問本地網絡的數據包進行操作,包括允許訪問(Accept)和阻止訪問(Drop)兩種方式。

開發環境:

  操作系統:Ubuntu 12.04, Linux內核為3.15版本

  開發工具:vim

  開發語言:C

  開發作者:

模塊描述

1.數據包攔截

  內核模塊,采用netfilter框架進行數據包過濾,在網絡層捕獲數據包,查看過濾規則表,如果是需要過濾的,則Drop掉數據包,不允許進入用戶空間。如果不在過濾規則表的,則允許進入,正常訪問。

2.用戶配置過濾規則

  用戶空間模塊,與內核模塊進行交互,采用命令行參數的方式進行配置命令行選項如下:

選項 含義 取值 狀態 -A append規則鏈 NA 完成 -D delete規則鏈 NA 未完成 -p 端口 short 完成 -I 操作Input鏈 NA 完成 -O 操作Output鏈 NA 未完成 -F 操作Forward鏈 NA 未完成 -r 操作結果 drop | accept 完成 -f 來源IP ip值 完成 -t 轉發IP ip值 未完成

對於未完成的命令行選項避免使用。

For Example:

filter_client -A -p 80 -I -r drop -f 192.168.1.105

通過配置以上鏈能夠阻塞ip地址為192.168.1.105對本機80號端口的訪問。

關於如何使用本項目:

  首先聲明本項目主要用於學習交流,作者水平有限,對本項目有任何意見或者建議可以email:[email protected](注:18277973721非作者正在使用的手機號碼).

  下面介紹如何使用本項目.

  重新編譯源代碼=====>>加載內核模塊======>>利用用戶模塊配置重定向信息。下面給出些許步驟命令

  cd kernelspace

  make clean

  make

  make install

  ==================================

  cd userspace

  make clean

  make

  ./filter_client -A -p 80 -I -r drop -f 192.168.1.105

  查看log:tail /var/log/syslog或者tail /var/log/message 或者dmesg

 最後:

  最近陸陸續續往github上貼代碼,處於學習階段希望多吸收些開發者的經驗。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved