Android IP路由策略和防火墙
Android IP路由策略和防火墙
Platform: RK3368
OS: Android 6.0
Kernel: 3.10.0
文章目录
- Android IP路由策略和防火墙
- ip route, ip rule, iptables简介
- ip route
- ip rule
- iptables
- Android路由策略
- Android路由策略优先级
- 命令查看当前路由策略
- Android路由表
- 命令查看路由表
- 命令查看所有路由表:
- 命令查看主路由表:
- Android防火墙
ip route, ip rule, iptables简介
ip route
ip route 是用于配置路由器静态路由的命令,在Linux系统中,它是iproute2工具套件的一部分,用于操作路由表。ip route命令的功能非常强大,可以显示、添加、删除、修改路由,以及清除整个路由表或路由缓存。使用ip route时,可以对多达255个路由表中的任何一个进行操作,而route命令则主要在主路由表(表254)上运行。
主要功能:
- 显示路由:通过
ip route show命令可以查看当前的路由表信息。 - 添加路由:使用
ip route add命令可以添加新的路由条目。 - 删除路由:通过
ip route del命令可以删除路由表中的特定路由。 - 修改路由:虽然ip route命令本身没有直接的“修改”选项,但可以通过删除后重新添加的方式来实现路由的修改。
应用场景:
ip route命令在网络配置和管理中非常有用,特别是在需要手动设置路由规则的场景下,如跨网段通信、配置默认网关等。
ip rule
ip rule 命令用于设置路由策略数据库中的规则,以实现基于策略的路由(Policy Routing)。它允许网络管理员根据数据包的源地址、目标地址、服务类型等条件来设置路由规则,使得数据包可以按照不同的规则进行转发。
主要功能:
- 添加规则:使用
ip rule add命令可以添加新的路由规则。 - 删除规则:通过
ip rule del命令可以删除路由策略数据库中的特定规则。 - 查看规则:
ip rule show命令用于显示当前的路由策略规则。
应用场景:
ip rule命令在需要实现复杂路由策略的场景下非常有用,如多出口网络、基于应用或用户身份的路由选择等。
iptables
iptables 是Linux下的防火墙软件,用于实现网络访问控制。它工作在L2、L3、L4层,可以对经过的数据包进行检测、转发、丢弃、修改、流控等操作。
主要功能:
- 包过滤:iptables可以根据规则对数据包进行过滤,允许或拒绝特定的数据包通过。
- 连接跟踪:iptables可以跟踪网络连接的状态,以便对后续的数据包进行更精细的控制。
- 网络地址转换(NAT):iptables可以实现源地址转换(SNAT)和目的地址转换(DNAT),用于隐藏内部网络地址或实现负载均衡等。
- 重整包头:iptables可以修改数据包的头部信息,如TTL值、TOS字段等。
表与链:
iptables定义了四种表和五种链,以实现对数据包流转的精细控制。四种表包括raw、mangle、nat和filter,它们按照优先级从高到低排列。五种链包括PREROUTING、INPUT、FORWARD、OUTPUT和POSTROUTING,分别对应数据包进入和离开系统的不同阶段。
应用场景:
iptables在网络安全和管理中扮演着重要角色,可以用于构建防火墙、实现NAT、控制网络流量等。通过合理配置iptables规则,可以有效地保护网络安全,提高网络性能。
Android路由策略
Android路由策略优先级
代码位置:
system/netd/server/RouteController.cpp
较小的值表示更高的优先级
| 优先级编号 | 路由规则名称 | 描述 |
|---|---|---|
| 10000 | RULE_PRIORITY_VPN_OVERRIDE_SYSTEM | VPN覆盖系统路由的优先级 |
| 10500 | RULE_PRIORITY_VPN_OVERRIDE_OIF | VPN覆盖特定输出接口的路由优先级 |
| 11000 | RULE_PRIORITY_VPN_OUTPUT_TO_LOCAL | VPN输出到本地的路由优先级 |
| 12000 | RULE_PRIORITY_SECURE_VPN | 安全VPN路由的优先级 |
| 13000 | RULE_PRIORITY_EXPLICIT_NETWORK | 显式网络路由的优先级 |
| 14000 | RULE_PRIORITY_OUTPUT_INTERFACE | 输出接口路由的优先级 |
| 15000 | RULE_PRIORITY_LEGACY_SYSTEM | 遗留系统路由的优先级 |
| 16000 | RULE_PRIORITY_LEGACY_NETWORK | 遗留网络路由的优先级 |
| 17000 | RULE_PRIORITY_LOCAL_NETWORK | 本地网络路由的优先级 |
| 18000 | RULE_PRIORITY_TETHERING | 网络共享(如热点)路由的优先级 |
| 19000 | RULE_PRIORITY_IMPLICIT_NETWORK | 隐式网络路由的优先级 |
| 20000 | RULE_PRIORITY_BYPASSABLE_VPN | 可绕过VPN的路由优先级 |
| 21000 | RULE_PRIORITY_VPN_FALLTHROUGH | VPN穿透(未匹配VPN规则时使用的)路由的优先级 |
| 22000 | RULE_PRIORITY_DEFAULT_NETWORK | 默认网络路由的优先级 |
| 23000 | RULE_PRIORITY_DIRECTLY_CONNECTED | 直接连接网络的路由优先级 |
| 32000 | RULE_PRIORITY_UNREACHABLE | 不可达路由的优先级(通常用于黑洞路由) |
命令查看当前路由策略
# ip rule list
0: from all lookup local
10000: from all fwmark 0xc0000/0xd0000 lookup legacy_system
10500: from all oif eth0 uidrange 0-0 lookup eth0
13000: from all fwmark 0x10063/0x1ffff lookup local_network
13000: from all fwmark 0x10064/0x1ffff lookup eth0
14000: from all oif eth0 lookup eth0
15000: from all fwmark 0x0/0x10000 lookup legacy_system
16000: from all fwmark 0x0/0x10000 lookup legacy_network
17000: from all fwmark 0x0/0x10000 lookup local_network
19000: from all fwmark 0x64/0x1ffff lookup eth0
22000: from all fwmark 0x0/0xffff lookup eth0
23000: from all fwmark 0x0/0xffff uidrange 0-0 lookup main
32000: from all unreachable
第 0 条规则为最高优先级,表示所有的连接,首先遍历 local 表,用ip route命令查看local表的具体规则:
# ip route show table local
broadcast 10.0.0.0 dev eth0 proto kernel scope link src 10.3.7.130
local 10.3.7.130 dev eth0 proto kernel scope host src 10.3.7.130
broadcast 10.255.255.255 dev eth0 proto kernel scope link src 10.3.7.130
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
Android路由表
命令查看路由表
使用ip route命令查看路由表:
ip route show table <table_name>
通过读取rt_tables文件查看当前系统有哪些路由表:
# cat /data/misc/net/rt_tables
255 local
254 main
97 local_network
98 legacy_network
99 legacy_system
1002 eth0
命令查看所有路由表:
# ip route show table all
default via 10.3.0.1 dev eth0 table eth0 proto static
10.0.0.0/8 dev eth0 table eth0 proto static scope link
10.0.0.0/8 dev eth0 proto kernel scope link src 10.3.7.130
broadcast 10.0.0.0 dev eth0 table local proto kernel scope link src 10.3.7.130
local 10.3.7.130 dev eth0 table local proto kernel scope host src 10.3.7.130
broadcast 10.255.255.255 dev eth0 table local proto kernel scope link src 10.3.7.130
broadcast 127.0.0.0 dev lo table local proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1
unreachable default dev lo table 0 proto kernel metric 4294967295 error -101
unreachable default dev lo table 0 proto kernel metric 4294967295 error -101
unreachable default dev lo table 0 proto kernel metric 4294967295 error -101
unreachable default dev lo table 0 proto kernel metric 4294967295 error -101
fe80::/64 dev eth0 proto kernel metric 256
unreachable default dev lo table 0 proto kernel metric 4294967295 error -101
local ::1 dev lo table local proto none metric 0
local fe80::6bf:dfff:fe8c:675c dev lo table local proto none metric 0
ff00::/8 dev eth0 table local metric 256
unreachable default dev lo table 0 proto kernel metric 4294967295 error -101
命令查看主路由表:
ip route命令默认打印就是主路由表.
# ip route show table main
10.0.0.0/8 dev eth0 proto kernel scope link src 10.3.7.130
Android防火墙
命令查看防火墙:
/ # iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
bw_INPUT all -- anywhere anywhere
fw_INPUT all -- anywhere anywhere Chain FORWARD (policy ACCEPT)
target prot opt source destination
oem_fwd all -- anywhere anywhere
fw_FORWARD all -- anywhere anywhere
bw_FORWARD all -- anywhere anywhere
natctrl_FORWARD all -- anywhere anywhere
......
相关文章:
Android IP路由策略和防火墙
Android IP路由策略和防火墙 Platform: RK3368 OS: Android 6.0 Kernel: 3.10.0 文章目录 Android IP路由策略和防火墙ip route, ip rule, iptables简介ip routeip ruleiptables Android路由策略Android路由策略优先级命令查看当前路由策略 Android路由表命令查看路由表命令…...
MySQL insert ... select 语句锁表导致数据写不进去
问题现象 调用后台接口向表 t1 insert 写入数据时一直等待直到超时,猜测表 t1 被其它事务加锁了没有释放。 问题分析 在发生死锁时,通过执行下面命令查看事务和锁信息: select * from information_schema.INNODB_TRX 用来查看正在运行的事…...
Android摄像头Camera2和Camera1的一些总结
Android 系统对摄像头的同时使用有限制,不能同时使用摄像头进行预览或者录制音视频。 例如:界面上有两个SurfaceView, 这两个SurfaceView不能同时预览或者录制音视频,只能有一个正常工作(一个SurfaceView预览前置摄像头ÿ…...
【Linux 从基础到进阶】Linux中的用户认证与授权
Linux中的用户认证与授权 1. 引言 在Linux系统中,**用户认证(authentication)和授权(authorization)**是两个核心的安全机制,用来控制系统资源的访问和管理用户操作权限。用户认证确保登录的用户是合法的…...
用户界面设计:视觉美学与交互逻辑的融合
1、什么是用户界面 用户界面(UI)是人与机器之间沟通的桥梁,同时也是用户体验(UX)的重要组成部分。用户界面设计包括两个核心要素:视觉设计(即产品的外观和感觉)和交互设计ÿ…...
ZK集群搭建:详细步骤与注意事项
在大数据和分布式系统日益重要的今天,ZooKeeper(简称ZK)作为一种分布式协调服务,扮演着举足轻重的角色。它主要用于管理大型分布式系统中的配置信息、命名、同步等。下面将详细介绍如何搭建一个ZooKeeper集群,帮助大家…...
如何将csdn文章导出为pdf
前言 在csdn上浏览文章的时候我发现有的文章支持pdf导出,但是有的文章不支持pdf导出,为了解决能将csdn上所有文章都能以pdf格式导出遂作此文。 正文 先上代码: (function(){use strict;var contentBox $("div.article_content")…...
【艾思科蓝】Imagen:重塑图像生成领域的革命性突破
【连续七届已快稳ei检索】第八届电子信息技术与计算机工程国际学术会议(EITCE 2024)_艾思科蓝_学术一站式服务平台 更多学术会议请看 学术会议-学术交流征稿-学术会议在线-艾思科蓝 目录 引言 一、Imagen模型的技术原理 1. 模型概述 2. 工作流程 …...
java类和对象(下): 封装 static成员 内部类
前言: 在前期的知识点中,我们学习了java中this函数的使用和相关的概念。这期我们将介绍封装的概念,以及常见内部类的使用,让我们开车吧!!!! 本期目录: 6. 封装 7. st…...
外包干了3周,技术退步太明显了。。。。。
先说一下自己的情况,大专生,21年通过校招进入武汉某软件公司,干了差不多3个星期的功能测试,那年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我才在一个外包企业干了3周的功…...
VIVO算法题——数位之积
记录算法究极无敌菜菜菜鸟的垃圾思维 题目: 现给定任意正整数 n,请寻找并输出最小的正整数 m(m>9),使得 m 的各位(个位、十位、百位 … …)之乘积等于n,若不存在则输出 -1。 菜鸟…...
OPC Router快速打通设备层与influxDB数据通讯
随着时代演化,数据量呈几何倍数增加的情况下出现了时序数据库。时序数据库是基于时间进行存储的数据库,每一条数据中都有一个时间戳,这种数据库特别适合存储那些随着时间变化的数据,通过一些工具处理后,能够分析出数据…...
鸿蒙开发 四十四 ArkTs BuilderParam传递UI(二)
子组件多个BuilderParam,必须通过参数的方式传入,如果界面中有多个界面需要传递,可以定义多个尾随闭包,如图: 在自定义组件中调用: 在使用时候调用是作为参数传递给自定义的组件,参数是界面&…...
同期数分析-留存率
目录 同期数分析 加载数据 单月实现 统计每个月的订单量 求2月份的订单量和用户数量 求2月之前的历史订单量 筛选出2023年2月的新增的用户数 计算2023年2月在后面的留存情况 完整的2023年2月份同期群结果 遍历合并和分析 引入月份列表 遍历 调整成留存率的形式 回…...
Java前后端交互:构建现代Web应用
在现代Web应用开发中,前后端分离是一种常见的架构模式。后端通常负责数据处理和业务逻辑,而前端则负责用户界面和用户体验。Java作为后端开发的强大语言,提供了多种方式与前端进行交互。本文将探讨Java后端与前端交互的几种主要方式ÿ…...
vue3中用axios请求怎么添加cookie
在 Vue 3 中使用 axios 发起请求时,可以通过配置 axios 的请求选项来携带 Cookies。具体来说,确保跨域请求时,设置 withCredentials: true,以便发送和接收 Cookies。 1. Axios 配置携带 Cookie 首先确保你在 axios 请求中设置了…...
informer学习笔记
一、informer讲解 infomer 要解决的三大问题: Attention计算的更快Decoder要一次性输出所有预测堆叠encoder也要更快 1. Attention 在长序列中,并非每一个位置的Attention都重要,对于每一个Q来说,只有一小部分的K与其有较强的…...
Elasticsearch介绍和使用
一、Elasticsearch 强大的搜索和分析能力: Elasticsearch 是一个基于 Lucene 的分布式搜索和分析引擎。它能够快速地对大量数据进行全文搜索、结构化搜索和复杂的数据分析操作。对于大型数据集,它可以高效地处理各种查询需求,包括关键词搜索…...
【Flutter】基础入门:代码基本结构
通过这个简单的 Flutter 示例程序,我们可以快速了解 Flutter 的代码结构,理解每个部分的作用。 import package:flutter/material.dart; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}…...
如何进行数据库缩容 | OceanBase应用实践
作者:关炳文,爱可生 DBA 团队成员,负责数据库相关技术支持。 本文详细介绍了OceanBase V3.2版的集群中,面对数据文件缩容的场景的一套缩容方案,作为大家的参考。 缩容场景 某银行运行的一套采用1-1-1架构的OceanBase…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
