android联网控制的实现

经过命令行控制防火墙来实现的app

限制 uid为1001的app访问wifi的脚本为ui

#!/system/bin/sh
命令行

service iptables start接口

iptables -t filter -F OUTPUT进程

iptables -t filter -A OUTPUT -o tiwlan+ -m owner --uid-owner 1001 -j REJECT || exitip

iptables -t filter -A OUTPUT -o wlan+ -m owner --uid-owner 1001 -j REJECT || exitit

iptables -t filter -A OUTPUT -o eth+ -m owner --uid-owner 1001 -j REJECT || exittable

exit扩展

---------------------配置

-t table

这个选项指定命令要操做的匹配包的表。若是内核被配置为自动加载模块,这时若模块没有加载,(系统)将尝试(为该表)加载适合的模块。这些表以下:filter,这是默认的表,包含了内建的链INPUT(处理进入的包)、FORWARD(处理经过的包)和OUTPUT(处理本地生成的包)


-F -flush

清空所选链。这等于把全部规则一个个的删除。

-A -append

在所选择的链末添加一条或更多规则。当源(地址)或者/与 目的(地址)转换为多个地址时,这条规则会加到全部可能的地址(组合)后面。


-o --out-interface [!][name]

-o --输出接口[名称]

这是包经由该接口送出的可选的出口名称,包经过该口输出(在链FORWARD、OUTPUT和POSTROUTING中送出的包)那么将匹配全部任意接口。

--uid-owner userid

若是给出有效的user id,那么匹配它的进程产生的包。


-j 目标跳转

指定规则的目标;也就是说,若是包匹配应当作什么。目标能够是用户自定义链(不是这条规则所在的),某个会当即决定包的命运的专用内建目标,或者一个扩展(参见下面的EXTENSIONS)。若是规则的这个选项被忽略,那么匹配的过程不会对包产生影响,不过规则的计数器会增长。

相关文章
相关标签/搜索