Android系统安全 — 6.2 Ethernet安卓架构

这篇具有很好参考价值的文章主要介绍了Android系统安全 — 6.2 Ethernet安卓架构。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Android Ethernet架构介绍

整个Ethernet系统架构如下图所示:

  • 以太网服务(EthernetService)的启动与注册流程;
  • 应用层调用使能ethernet功能的方法流程来分析,从应用层如何将指令一步一步传到底层kernel;
  • 底层kernel如何一步一步上报Uevent(例如网线的插拔等)给framework层实现。
    Android系统安全 — 6.2 Ethernet安卓架构

由SystemServer启动的时候生成的ConnecttivityService创建,负责启动关闭wpa_supplicant,启动和关闭WifiMonitor线程,把命令下发给wpa_supplicant以及更新WIFI的状态。处理其它模块通过IWifiManager接口发送过来的远端WiFi操作。

2. Android 以太网框架主要服务及其作用

2.1 Android framework层

ConnectivityService :ConnectivityService 是系统网络连接的管理服务,同时也是整个Android系统网络的核心。主要处理App对于网络的监听和请求,以及网络变化时候通知App;另外该服务还会处理Wifi/Telephony/Ethernet等各个网络链路的注册,与信息的更新,以及网络评测和网络评分。
NetworkPolicyManagerService:NetworkPolicyManagerService是网络策略的管理,主要是对某些App的网络数据限制以及放行等。主要通过App的Uid来限制。
NetworkManagementService:NetworkManagementService是网络管理服务。其为ConnectivityService 和其他一些部分Framework Service建立了与Netd之间的通信通道(Android N以后Framework 与 Netd之间的通信,从socket变为了Binder调用,所以framework 其他一些服务目前也是有能力获取到Netd的client端,从而与Netd进行通信的)。
NetworkStatsService:NetworkStatsService主要根据不同的iface收集上下行网络数据,并配合NetworkPolicyManagerService服务对特定的app做网络数据限制及放行。
EthernetServiceImp:主要提供接口,供App来设置和更新网络,比如静态IP,以及网络类型等等,真正工作的是EthernetTracker这个类,这个类最终通过NetworkPolicyManagerService来和Netd进行通信。
EthernetNetworkFactory:EthernetNetworkFactory是NetworkFactory的子类,从名字可以看出该类是个工厂类。主要功能是通过AsyncChannel接受来自ConnectivityService 的禁止自动连接、网络有效性(NetworkMonitor的网络检测结果)、由于网络不可上网等原因主动断开网络。同时通过NetworkAgent(网络代理,其内部也是AsyncChannel)向ConnectivityService更新网络状态NetworkInfo(断开、连接中、已连接);更新链路配置LinkProperties(本机网口、IP、DNS以及路由信息等);更新网络能力NetworkCapabilities(信号强度、是否收费等)。

2.2 Android native 层

Android 以太网框架Native层目前从在两套机制,一套是通过Binder调用实现,另外一套是通过socket通信。从Android的版本修改来看,Google更希望使用Binder调用,所以后面Android版本很有可能会将socket通信都换为Binder通信。

NetdNativeService:NetdNativeService 是Framework层INetd的server端,提供Framework层访问Netd。NetdNativeService是Netd进程的核心,负责Android 网络管理和控制。通过xxxController将Framework的网络配置和管理指令通过Syscall的方式传递给底层kernel。
NetlinkManager:其利用SocketListener的方式监听底层Kernel的Uevent事件,并且通过注册NetdUnsolicitedEventListener方式,将底层Uevent事件上报到Framework层,例如网线的插拔等
XXXListener:MDnsSdListener等Listener,主要通过socket监听来自Framework层的指令,以及监听底层的Uevent通过socket上报到framework层。文章来源地址https://www.toymoban.com/news/detail-499357.html

3.Wifi Ethernet源码

frameworks/base/core/java/android/net/
    ---EthernetManager.java
    ---IEthernetManager.aidl
    ---ConnectivityManager.java
    ---NetworkPolicyManager.java
    ---NetworkAgent.java

frameworks/opt/net/ethernet/java/com/android/server/ethernet/
    ---EthernetService.java
    ---EthernetServiceImpl.java
    ---EthernetTracker.java
    ---EthernetNetworkFactory.java
    ---EthernetConfigStore.java

frameworks/base/services/core/java/com/android/server/
    ---NetworkManagementService.java
    ---NativeDaemonConnector.java
    ---NativeDaemonEvent.java
    ---ConnectivityService.java

frameworks/base/services/core/java/com/android/server/net/
    ---NetworkStatsService.java
    ---NetworkPolicyManagerService.java

到了这里,关于Android系统安全 — 6.2 Ethernet安卓架构的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android安卓安全和隐私保护

             Android是一款由Google开发的移动操作系统,它的发展历史可追溯到2003年,至今经历20年发展成一款广泛使用的智能手机操作系统,并延伸到其他移动领域,如平板电脑、智能电视等。         2003年,安迪·鲁宾(Andy Rubin)和他的团队创立了Android公司。该公司

    2024年02月10日
    浏览(27)
  • Android 安卓MVP架构(带视频),大专生面试阿里P7居然过了

    MainActivity: package com.brk.mvp; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity implements View { private TextView news; private Button add; private Button less; MainPresenter mainPresenter = new MainPresenter(this);

    2024年04月16日
    浏览(35)
  • 【Android安全】安装mitmproxy Https抓包证书 | 安卓SSL抓包

    macbook上 mitmproxy 抓取安卓手机https流量 重点是安装mitmproxy Https抓包证书 手机需要root,macbook上需要安装好mitmproxy 需要完成下文1-3: https://github.com/doug-leith/cydia (接入有线网并开启无线热点) 启用 IP 转发: sudo sysctl -w net.inet.ip.forwarding=1 保存文件: https://github.com/doug-leith/cy

    2024年01月22日
    浏览(35)
  • 安卓系统安全权限相关内容

            一.安卓系统中的权限机制是为了保护用户的隐私和数据安全而设计的。应用程序在访问敏感信息或使用系统资源(如相机、位置、联系人等)之前,必须请求并获得用户的明确许可。 以下是安卓系统中权限机制的基本工作原理: 1. 权限声明:开发者在创建应用程序

    2024年04月25日
    浏览(21)
  • Android 13 Ethernet变更

    Android13 有线变更 以太网相关的功能在Android12 和13 网络部分变化是不大的,Android11 到Android 12 网络部分无论是代码存放目录和代码逻辑都是有较多修改的,主要包括以下几个部分 限制了设置有线网参数设置接口方法 新增有线网开启关闭接口方法 新增了 updateConfiguration 接口方

    2024年02月02日
    浏览(66)
  • 安卓Android类原生系统官网集合

    由于Miui的平板系统一言难尽,所以一直在使用类原生系统,最近在找网络上有人汇总了原生系统的链接,根据自己的理解和网络介绍,整理成以下方便自己和他人使用。 google套件 https://opengapps.org/ 目前有些系统已经删库了,比如像魔趣等,所以链接是否需要自己去验证了,

    2024年02月02日
    浏览(29)
  • Windows11安装安卓/Android子系统运行安卓应用程序详细教程

    开启电脑的虚拟化支持,在控制面板-程序和功能-启用和关闭windows功能。选择 Hyper-V 和 虚拟机平台 ,然后重启电脑即可。 访问 https://store.rg-adguard.net/ 搜索 https://www.microsoft.com/store/productId/9P3395VX91NR 下载最大的一个文件,即安卓子系统文件 下载地址: http://tlu.dl.delivery.mp.mi

    2024年02月03日
    浏览(46)
  • 最佳Android系统 | 运行在台式机、笔记本手提电脑的安卓Android系统

    最佳Android系统 | 运行在台式机、笔记本手提电脑的安卓Android系统 2022年2月1日 团队技术探索 Android 您是否知道,即使有几个升级版本,如Windows 10和10.1,即使这样,Android应用程序也在不断增长,因为它们使用起来很有趣并且具有非常友好的用户界面?但是如果你没有预先安

    2024年02月05日
    浏览(45)
  • 新鲜出炉的 MVVM 脚手架 —— KtArmor-MVVM,面试安卓系统架构

    } 通过 @BindViewModel 注解viewModel 变量,KtArmor-MVVM 通过 反射 ,自动创建 LoginViewModel 实例, 并赋值给 viewModel 变量。直接使用即可! @BaseUrl(API.BASE_URL) // 看这里!! interface ApiService { @POST(API.LOGIN) suspend fun login(@Query(“username”) username: String, @Query(“password”) password: String): BaseRe

    2024年04月10日
    浏览(37)
  • [渗透测试]—6.2 无线网络安全漏洞和攻击技术

    在本章节中,我们将学习一些常见的无线网络安全漏洞和攻击技术,如WPS漏洞、Evil Twin攻击等。我们将尽量讲解得详细、通俗易懂,并提供尽可能多的实例。 Wi-Fi保护设置(WPS)是一种简化无线网络配置的技术,可以通过输入PIN码或按下物理按钮的方式快速连接无线网络。然

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包