详解Android利用Iptables实现网络黑白名单(防火墙)-创新互联

一、概述

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比福绵网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式福绵网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖福绵地区。费用合理售后完善,十余年实体公司更值得信赖。

为了使读此简笔的人对Iptables有一个简单的了解,此处强行百度了一波概念,如果想深入的了解Iptables的各种配置规则和内核对其的管理运行机制请自行www.baidu.com,这些并不是本简笔的目的所在。

闲言少叙,开始正文

---->以下概述来自baidu,读者可酌情跳过

iptables的前身叫ipfirewall (内核1.x时代),是从freeBSD上移植过来的,能够工作在内核当中的,对数据包进行检测的一款简易访问控制工具。但是ipfirewall工作功能极其有限(它需要将所有的规则都放进内核当中,这样规则才能够运行起来,而放进内核,这个做法一般是极其困难的)。当内核发展到2.x系列的时候,软件更名为ipchains,它可以定义多条规则,将他们串起来,共同发挥作用,而现在,它叫做iptables,可以将规则组成一个列表,实现绝对详细的访问控制功能。

他们都是工作在用户空间中,定义规则的工具,本身并不算是防火墙。它们定义的规则,可以让在内核空间当中的netfilter来读取,并且实现让防火墙工作。而放入内核的地方必须要是特定的位置,必须是tcp/ip的协议栈经过的地方。而这个tcp/ip协议栈必须经过的地方,可以实现读取规则的地方就叫做 netfilter.(网络过滤器)

---->以下是本文所关注的重点

二、Iptables网络黑白名单(防火墙)实现细节

因为考虑到一些权限的问题所以在实现方法上采用的是创建一个systemserver来运行这些方法。并提供出manager到三方应用,这样在调用时可以排除一些权限的限制。同时本文只是做一个简单的参考概述,所以在后文中只提供了增加黑白名单的方法和iptables规则,并没有提供相应的删除规则等,原理类似大家可自行补充添加。

2.1、创建systemserver

2.1.1、 在/system/sepolicy/service.te中添加

type fxjnet_service, system_api_service, system_server_service, service_manager_type;

网页名称:详解Android利用Iptables实现网络黑白名单(防火墙)-创新互联
当前链接:http://hbruida.cn/article/cosohp.html