当前位置: 首页 > news >正文

网站被电脑管家拦截做301跳转平台设计方案

网站被电脑管家拦截做301跳转,平台设计方案,专业网站建设开发,产品代理推广方案一、概述 为了使读此简笔的人对Iptables有一个简单的了解#xff0c;此处强行百度了一波概念#xff0c;如果想深入的了解Iptables的各种配置规则和内核对其的管理运行机制请自行www.baidu.com#xff0c;这些并不是本简笔的目的所在。 闲言少叙#xff0c;开始正文 ----此处强行百度了一波概念如果想深入的了解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; 2.2.2、在/system/sepolicy/service_contexts中添加如下 fxjnet u:object_r:fxjnet_service:s0 2.2.3、在frameworks/base/core/java/android/content/Context.java中添加 也可以不添加这个只不过为了后面调用方便所以添加了。如果跳过此步那么后面出现Context.FXJNET_SERVICE的地方都用字串代替即可。 public static final String FXJNET_SERVICEfxjnet; 2.2.4、在/frameworks/base/core/java/android/app/SystemServiceRegistry.java的静态代码块中添加如下代码注册service。 registerService(Context.FXJNET_SERVICE, FXJNETManager.class, new CachedServiceFetcher() { Override public FXJNETManager createService(ContextImpl ctx) { IBinder b ServiceManager.getService(Context.FXJNET_SERVICE); IFXJNETService service IFXJNETService.Stub.asInterface(b); return new FXJNETManager(ctx, service); }}); 2.2.5、在frameworks/base/services/java/com/android/server/SystemServer.java中添加如下代码将service加入systemserver中。 ServiceManager.addService(Context.FXJNET_SERVICE, new FXJNETService()); 2.2.6 、AIDL文件 package android.os; interface IFXJNETService{ void addNetworkRestriction(List ipName,int type); } 2.2.7、提供给外部的FXJNETManager package android.app; import android.os.IFXJNETService; import android.os.RemoteException; import android.content.Context; public class FXJNETManager{ IFXJNETService mService; public FXJNETManager(Context ctx,IFXJNETService service){ mServiceservice; } public void addNetworkRestriction(List ipName,int type) { try{ mService.addNetworkRestriction(ipName,type); }catch (RemoteException e){ } }//end addNetworkRestriction } 2.2.8、系统服务即AIDL的实现server package com.android.server; import android.os.IFXJNETService; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; public class FXJNETService extends IFXJNETService.Stub { final File file new File(/data/fxj/, firewall.sh); /** * 增加{网络IP访问}黑白名单数据 */ public void addNetworkRestriction(List ipName,int type) { String str getIPlist(type,ipName); setiptablesRestriction(); } //构建Iptables的规则1-黑名单 2-白名单 private String getIPlist(int type,List iplist){ StringBuilder sb new StringBuilder(); sb.append(echo runscript start\n); sb.append(iptables -F OUTPUT\n); if (type 1){ if (iplist ! null iplist.size() 0){ for (int i 0 ; i iplist.size() ;i){ String ipname iplist.get(i); sb.append(echo blacklist mode\n); sb.append(iptables -I OUTPUT -d ); sb.append(ipname); sb.append( -j DROP\n); } } }else if (type 2){ if (iplist ! null iplist.size() 0){ for (int i 0 ; i iplist.size() ; i){ String ipname iplist.get(i); sb.append(echo whitelist mode\n); sb.append(iptabless -P OUTPUT DROP\n); sb.append(iptables -I OUTPUT -d ); sb.append(ipname); sb.append( -j ACCEPT\n); } } } sb.append(run script end\n); return sb.toString(); } private void setiptablesRestriction(String ipName){ final FXJScriptRunner runner new FXJScriptRunner(file,ipName,new StringBuilder()); new Thread(new Runnable() { Override public void run() { runner.run(); } }).start(); } } 2.2.9、运行IPTABLES脚本命令的工具类 package com.android.server; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import android.os.FileUtils; import android.os.SystemProperties; import android.util.Log; public class FXJScriptRunner extends Thread{ private final File file; private final String script; private final StringBuilder res; public int exitcode -1; private final String TAG ScriptRunner ; public ScriptRunner(File file, String script, StringBuilder res, boolean asroot) { this.file file; this.script script; this.res res; } Override public void run() { // TODO Auto-generated method stub try { file.delete(); file.createNewFile(); final String abspath file.getAbsolutePath(); // make sure we have execution permission on the script file FileUtils.setPermissions(abspath, 00700, -1, -1); Runtime.getRuntime().exec(chmod 777 abspath).waitFor();//给创建的sh文件设置权限 // Write the script to be executed final OutputStreamWriter out new OutputStreamWriter( new FileOutputStream(file)); if (new File(/system/bin/sh).exists()) { out.write(#!/system/bin/sh\n); } out.write(script); if (!script.endsWith(\n)) out.write(\n); out.write(exit 0\n); out.flush(); out.close(); //通过 SystemProperties.set(ctl.start, fxjmotnitor)执行service来运行脚本 //fxjmotnitor为service名称,可以根据自己的爱好随便叫 SystemProperties.set(ctl.start, fxjmotnitor); } catch (Exception ex) { if (res ! null) res.append(\n ex); } finally { //destroy(); } } } 三、fxjmotnitor service的创建步骤如下。 3.1、在/system/core/rootdir/init.rc中添加如下使得service在开机时就运行起来 service fxjmotnitor /system/bin/sh /data/fxj/firewall.sh class main oneshot seclabel u:r:fxjmotnitor:s0 3.2、在/sepolicy/目录下创建fxjmotnitor.te文件内容如下 type fxjmotnitor, domain; type fxjmotnitor_exec, exec_type, file_type; init_daemon_domain(fxjmotnitor) allow fxjmotnitor shell_exec:file { entrypoint getattr read }; 3.3、在/sepolicy/file_contexts中添加 /data/fxj/firewall.sh u:object_r:fxjmotnitor_exec:s0 3.4、在sepolicy/Android.mk中的 BOARD_SEPOLICY_UNION \ #追加如下 ......\ fxjmotnitor.te \ ......\ 以上就是基于iptables规则对ip地址进行管控从而限制手机那些ip可以访问那些不可访问的流程实现之细节当然iptables的作用不仅仅局限于此有兴趣的可自行了解学习。也希望大家多多支持脚本之家。
http://www.dnsts.com.cn/news/80235.html

相关文章:

  • python做网站用插件做网站
  • 网站风格对比信息表网站建设方案预算
  • 网站建设提成方案石家庄网站建设今天改网名
  • 网站建设与管理方向WordPress代收插件
  • 百度网站建设多钱温州设计集团网站建设
  • 学习电子商务网站建设与管理的收获亚马逊官网中国网页版
  • 设计网站设计公司WordPress page filed
  • 网站建设 架构wordpress 新版
  • 郑州好的网站设计公司wordpress 模板层级
  • 网站建设结论与改进国家学历提升官网
  • 做网站算运营吗wordpress页面内容设计
  • 淮阳 网站建设网站维护 设计
  • wordpress音乐站源码建网站网络公司
  • 设计可以在哪个网站接单wordpress更新文章post.php错误
  • 网站可信度验证东莞合一网络科技有限公司
  • 苏州新区做网站公司电子商务网站建设期末
  • 服装订单接单网站淘宝联盟的网站怎么做
  • wordpress企业仿站安装下载app
  • wordpress网站分享微信群自建橱柜教程
  • 哈尔滨如何快速建站网页免费建站
  • 站长之家域名信息查询响应式网站建设
  • 茂名网站建设服务住房和城乡建设部主网站
  • php做视频分享网站微信小程序下单怎么弄商家
  • 男做直播网站泰安网络安全工程师培训
  • 网站内容管理后台系统怎么做建站申请
  • 网站开发定制合同范本seo网站系统
  • 站点的几种推广方式柳河网站建设
  • 做网站如何容易被百度抓取北京监理建设协会网站
  • 网站运营推广怎么做超级seo外链工具
  • 网站群建设花都网页设计