OpenWrt应用过滤是一款上网行为管理插件,支持屏蔽抖音、斗鱼、王者荣耀等热门APP,并且特征库支持自定义。如果自己知道抓包分析协议,可以修改特征库文件,增加自己想要过滤的APP。
插件中支持的APP都是可以自定义的,只需要编辑特征库文本文件就可以实现菜单的自动更新,非常方便。
特征库的自定义也没有多复杂,直接参照现有特征库文件模板进行修改即可,特别是那些可以通过域名过滤的APP,添加是非常简单的, 游戏类的APP可能复杂点,需要通过七层特征进行过滤。
应用过滤插件官网
www.openappfilter.com
特征库文件
特征库文件用于存储所有APP的特征码,为非加密的文本文件,一般用.cfg后缀表示,可以通过文本文档编辑。
特征码格式
特征码用于定义每个APP的协议特征,比如可以定义端口号、域名、七层内容等
格式
$id
$name
:[
$proto
;
$sport
;
$dport
;
$host
url;
$request
;
$dict
]
-
$id
: 唯一的APP编号,不能重复 -
$name
: APP的名称,比如抖音 -
$proto
: 传输层协议,tcp或udp -
$sport
: 源端口,1-65535,不设置表示匹配所有,一般不用设置源端口 -
$dport
: 目的端口,1-65535,不设置表示匹配所有 -
$host
: http或者https请求的域名,比如www.baidu.com -
$dict
: 七层内容字典,格式xx:aa|yy:bb,其中xx,yy是位置,表示第几个字节,而aa,bb表示十六进制内容,示例:00:a0|02:08|03:0a,表示第0个位置为0xa0,第2个位置为0x08,第3个位置为0x0a,注意第一位从0开始,如果位置为负数,表示从最后一个开始,一般不要用负数表示。
如何自定义特征库
下载特征库模板文件
首先我们要去官网随便下载一个特征库文件,注意解压后得到.cfg文件。
打开特征库文件
下载后可以通过文本文档或者其他文本工具打开,可以看到类似这样的内容,一行定义一个APP
8001 百度:[tcp;;;baidu.com;;]
8002 新浪:[tcp;;;sina.com;;]
8003 搜狐:[tcp;;;sohu.com;;]
8004 网易:[tcp;;;163.com;;,tcp;;443;126.com;;]
8005 凤凰网:[tcp;;;ifeng.com;;]
8006 人民网:[tcp;;;people.com.cn;;]
8007 凤凰网:[tcp;;;ifeng.com;;]
增加APP特征
可以在同一个分类中复制某个APP特征,追加到该分类的最后一行,这样用于保证appid中的分类字段是统一的 appid的低3位表示分类中的编号,高位表示分类id,比如8001,其中8表示分类,为常用网址,而001为编号,表示百度。
复制后首先需要修改appid,保证组内唯一,最好是组内编号最大值加1,比如当前最大值为8012,那新的appid就设置成8013,这样方便统一管理。
比如现在要增加一个常用网站google,那新增的特征码定义如下:
8008 谷歌:[tcp;;;www.google.com;;]
如果只想匹配443端口,可以定义为
8008 谷歌:[tcp;;443;www.google.com;;]
上传特征库
修改完成后需要保存特征库文件,然后在应用过滤插件中上传更新该特征库即可,这样就可以勾选新加的APP了。
如何在路由器中抓包
对于特征比较简单的APP,可以直接添加域名,如果不知道APP访问了哪些域名,可以通过路由器中的抓包工具提取,
openwrt中一般都集成了tcpdump抓包工具,可以通过命令抓包保存为pcap文件,导出来后可以通过wireshark分析。
在我之前的文章中也讲解了如何在路由器中抓包,不会抓包的可以查看
原文始发于微信公众号(OpenWrt):OpenWrt应用过滤插件自定义特征库
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论