Android下基于Iptables的一种app网络访问控制方案(二)

Android下基于Iptables的一种app网络访问控制方案(二)3.如何在Android系统中集成?以上通过adb shell命令行在Android设备上将方案调通之后,接下来考虑如何集成在Android系统中。作为一个整体解决方案,需要至少解决两部分功能:(1)网络访问规则。包括规则定义、存储、对外接口、对内转化成Iptables命令。(2)Iptables命令执行。第一部分比较简单,在此不详述。主要看第二部分。对于某一个垂直功能,And

大家好,又见面了,我是你们的朋友全栈君。

3.如何在Android系统中集成?

以上通过adb shell命令行在Android设备上将方案调通之后,接下来考虑如何集成在Android系统中。作为一个整体解决方案,需要至少解决两部分功能:

(1)网络访问规则。包括规则定义、存储、对外接口、对内转化成Iptables命令。

(2)Iptables命令执行。

第一部分比较简单,在此不详述。主要看第二部分。

对于某一个垂直功能,Android经典的架构一般是由Java层的服务和接口、C++层的守护进程、Linux内核这由上到下的三层架构。网络管理架构也是如此。

Java层的服务包括NetworkManagementService/ConnectivityService/NetworkStatsService等,可以以AIDL对外提供接口。C++层的守护进程是Netd

可以在NetworkManagementServiceNetd扩充接口实现执行Iptables命令:

(1)在INetworkManagementService.aidl中定义扩充接口。

(2)在NetworkManagementService.java中实现接口。

NetworkManagementService通过一个NativeDaemonConnector类的成员变量,与Netd通信(通过Socket),可以通过这个成员变量向NetdIptables命令。新增加一种命令类型专门处理Iptables命令。

(3)在Netd中实现对(2)中下发的命令的处理。

CommandListenerNetd中负责侦听Java层命令。NetdConstants中已经有执行Iptables命令的接口,可以在此基础上扩展。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163442.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 浅谈WeakHashMap

    浅谈WeakHashMapJavaWeakHashMap到底Weak在哪里,它真的很弱吗?WeakHashMap的适用场景是什么,使用时需要注意些什么?弱引用和强引用对JavaGC有什么不同影响?本文将给出清晰而简洁

    2022年7月2日
    26
  • 微信小程序反编译教程_微信小程序防止反编译

    微信小程序反编译教程_微信小程序防止反编译最近写爬虫需要小程序反编译,过程总结下…..通过微信PC版,打开需要反编译的小程序,小程序将产生缓存文件(但他是加密的),通过”小程序解密包”工具将加密的缓存文件解密成为”XXX.wxapkg”文件然后通过wxappunpacker工具反编译下载地址:链接:https://pan.baidu.com/s/1nqg97PxkFTt1TnEWECikYQ提取码:bsu91.找到小程序加密文件微信PC版查看设置->文件管理->打开文件夹然后往上一层返回一步例如:………

    2025年5月28日
    4
  • 微信第三方登录接口购买_微信授权登录第三方网页

    微信第三方登录接口购买_微信授权登录第三方网页随着手机微信的崛起,腾讯发布的微信联登确实很诱惑pc端的伙伴们,现在就说说在pc端用微信扫一扫实现微信第三方登陆的方式。  第一步:获取AppID AppSecret(不做解释,自己去微信公众平台申请)第二步:生成扫描二维码,获取codehttps://open.weixin.qq.com/connect/qrconnect?appid=AppID&redirect_uri=http://…

    2025年6月19日
    5
  • 宽字节注入原理分析[通俗易懂]

    宽字节注入原理分析[通俗易懂]什么是宽字节?如果一个字符的大小是一个字节的,称为窄字节;如果一个字符的大小是两个字节的,成为宽字节。像GB2312、GBK、GB18030、BIG5、Shift_JIS等这些编码都是常说的宽字节,也就是只有两字节英文默认占一个字节,中文占两个字节什么是宽字节注入?原理:宽字节注入是利用了mysql的一个特性,即mysql在使用GBK编码时,在url解码时会认为两个字符是一个汉字(前一个ASCII码要大于128,才表示到汉字的范围)通常情况下,一个utf-8编码的汉子占用3个字节,一个GBK编

    2022年10月15日
    3
  • 旋转的描述【1】——方向余弦矩阵

    旋转的描述【1】——方向余弦矩阵目录刚体定点旋转 1 定义 2 表示方法 2 1 方向余弦矩阵 2 2 旋转矢量 2 2 1 等效旋转矢量 2 2 2 罗德里格参数 2 3 四元数 2 4 欧拉角 3 相关转化刚体定点旋转 1 定义我们对 Markdown 编辑器进行了一些功能拓展与语法支持 除了标准的 Markdown 编辑器功能 我们增加了如下几点新功能 帮助你用它写博客 全新的界面设计 将会带来全新的写作体验 在创作中心设置你喜爱的代码高亮

    2025年11月18日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号