OpenAppFilter 自定義特征庫


OpenAppFilter 自定義特征庫

來源 https://zhuanlan.zhihu.com/p/419053529

視頻 www.bilibili.com/video/BV11z4y1z7tQ/

源碼 https://github.com/Lienol/openwrt-OpenAppFilter

參考 https://github.com/liuran001/openwrt-packages

 

應用過濾開源版本支持自定義特征碼, 你可以隨意添加各種app進行過濾,添加方式也很簡單,只需要修改配置文件即可,配置菜單會自動生成,不需要修改任何代碼。

准備工作

這里介紹高級教程,如果你是新手,直接修改特征庫文件后通過web頁面上傳即可
  1. 一台刷了OpenWrt應用過濾固件的路由器
  2. 下載安裝winscp客戶端(用於下載和更新特征庫文件)

WinSCP 是一個 Windows 環境下使用的 SSH 的開源圖形化 SFTP 客戶端。同時支持 SCP 協議。它的主要功能是在本地與遠程計算機間安全地復制文件,並且可以直接編輯文件。

下載地址

3. 下載安裝ssh客戶端(如xshell、putty等,新手可以忽略)

ssh工具用於連接openwrt路由器進行命令行操作,如果不會命令行,也可以不用ssh工具,用命令行操作的目的是更新特征庫后系統不重啟生效。

下載特征庫

打開winscp工具,新建一個連接,配置如下圖所示

登錄信息就是web頁面登錄的用戶名密碼

連接成功后會顯示路由器中的文件列表

可以在界面中切換目錄,我們需要進入/etc/appfilter/目錄

可以看到該目錄下有feature.cfg文件,該文件就是特征庫文件,可以右鍵點擊下載到本地電腦的目錄

特征庫格式說明

修改特征庫是最重要的環節,我們需要熟悉特征庫文件的配置結構

特征碼格式:

  • 特殊格式

#class 標記一個分類,分類名稱已經固定,不要自己添加

#開頭表示注釋,不會解析成特征碼

  • 單個app特征碼格式:
id name:[proto;sport;dport;host url;request;dict]

特征庫文件中的app名稱是和web頁面一一對應的,修改了特征庫文件,對應web頁面也會同步修改,只需要修改配置文件就可以增加一個app過濾規則,方便自定義。

上面介紹了特征碼的結構,特征碼有很多種配置方式,比如基於端口、基於協議、基於內容、基於url等。

修改實例

考慮到大部分人不知道抓包分析,對於高級點的特征碼無法捕獲,這里介紹如何添加一條url特征碼,類似於url過濾,因為大部分視頻類的app是可以通過url進行過濾掉的。

如新華網域名為 那么我們可以添加到特征庫,當然也可以添加www.xinhuanet.com, 支持模糊匹配,注意http和https不能加入特征碼。

最終特征碼可以這樣寫:

8077 新華網:[tcp;;;xinhuanet.com;;]

當然也可以增加一個端口號

8077 新華網:[tcp;;443;xinhuanet.com;;]

我們將它添加到常用網址類目中,在添加前配置如下:

添加后如下:

添加完成后保存文件

注意這里文件還是保存到電腦本地,還需要上傳到路由器才行

我們通過winscp點擊本地文件點擊上傳即可。

上傳成功后特征庫還沒有生效,需要重新讓模塊讀取特征庫。

這里有兩種方式:

  1. 直接重啟路由器(適合不會用ssh命令的用戶)
  2. 通過ssh客戶端命令行操作重啟服務

重啟成功后打開web頁面可以看到新添加的特征庫已經在配置菜單中,可以直接勾選進行過濾了,如果過濾存在問題表示特征碼填寫錯誤。

如何通過命令行重啟服務(適合高級用戶)

  1. ssh進入路由器后台
  2. 卸載應用過濾內核模塊
  3. 刪除/tmp/appfilter目錄,該目錄中存放的文件用於頁面顯示app配置

rm /etc/appfilter -fr

rmmod oaf

  1. 重啟應用過濾服務,重新加載新的特征庫

/etc/init.d/appfilter restart

 
============= End
 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM