首页
学习
活动
专区
圈层
工具
发布

eBPF在android上的使用

对于eBPF可以简单的理解成kernel实现了一个虚拟机机制,将类C代码编译成字节码(后文有详细解释),挂在到内核的钩子上,当钩子被触发时,kernel在虚拟机的"沙盒"中运行字节码,这样既能方便的实现很多功能...BCC在android系统上也可以运行,但是要对系统进行一定程度的修改,后续可能会写单独的文章进行讲解。对于内核开发者我还比较关注怎么自己来实现监控的功能,下文也将做简单的讲解。 ?...四、eBPF在Android平台的使用 经过上面枯燥的讲解,大家应该对eBPF有了基础的认识,下面我们就来通过android平台上的一个监控性能的小例子来实操下。...可以使用下面的命令调试动态加载 ? 4. 用户空间程序实现 下面我们需要编写用户空间的显示程序,本质上就是在用户态通过系统调用把BPF map给读出来。 ? ?...至此,如何在android平台使用eBPF实现统计系统中每个pid在一段时间内系统调用的次数的功能就介绍完了。

6.2K10

在Android P上使用Http

前言 不少同学在适配Android P的时候会遇到not permitted by network security policy问题: //使用HttpUrlConnection时遇到的异常 W/System.err...表示,为保证用户数据和设备的安全,针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接,因此运行...Android P 系统的安卓设备无论是接收或者发送流量,未来都不能明码传输,需要使用下一代(Transport Layer Security)传输层安全协议,而 Android Nougat 和 Oreo...在Android P系统的设备上,如果应用使用的是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求,https则不会受影响,同样地,如果应用嵌套了webview,webview也只能使用...所以我们可以采取第三种方案。采用第三种方案需要在 res下新增一个 xml 目录,然后创建一个名为:network_security_config.xml 文件(名字自定) ,内容如下: <?

2.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MongoDB在Android上的使用体验

    【前言】一般来讲,Android使用的数据库都是自带的SQLite数据库。Web重量级的MySQL、Orcacle、NOSQL等都不适用于Android项目的开发。...但是我发现了一个Web上最近几年比较火的一个数据库 ---- MongoDB。查看它的官网发现,它还可以用于Android开发,而且官方文档也给出了一些API说明。...于是我决定写下这篇博客分享一下MongoDB在Android上怎么使用。...【说明】:MongoDB也可以在iOS上面使用,我是做安卓开发的,本文只讲解MongoDB在Android上面的使用,iOS的使用情况请上MongoDB官网自行查阅。...'org.mongodb:stitch-android-sdk:4.1.0' } 然后在module的build.gradle的android节点里面文件中添加java 1.8支持: android

    5K20

    ProGuard 在 Android 上的使用姿势

    如果以上还不足以说服您使用 ProGuard,其实移除无用代码和混淆所有名称还有其他更多的优化效果: 在一些版本的 Android 设备上,DEX 代码会在安装或者运行时被编译成机器码。...混淆通过两种方式来减少代码:让表示名称的字符串更短;在这些方法或者属性有相同的签名情况,下这些字符串更容易被复用,最终减少了字符串池的数目。 使用 ProGuard 是开启资源压缩的前提条件....每个 Android 应用都应该使用代码压缩吗?我认为是的! 但是在您激动的跳起来之前,请先继续阅读下去。当您开启 ProGuard 时,在某些非常微妙的情况下会让您的应用崩溃。...这些警告的一个原因就是,您的构建路径中没有加入需要依赖的 JARs,如使用了 provided (仅编译时)依赖。而有时候,在 Android 上这些代码的依赖在运行时并不会被真正的调用。...tools 目录下(SDK/tools/proguard/proguard-android.txt),但在新版的 SDK Tools 和 Android Gradle 插件版本2.2.0+上,可以在构建时从

    4K40

    为什么我在 Linux 上使用 exa 而不是 ls?

    我们生活在一个繁忙的世界里,当我们需要查找文件和数据时,使用 ls 命令可以节省时间和精力。但如果不经过大量调整,默认的 ls 输出并不十分舒心。...跟踪文件 你可以使用 exa 来跟踪某个 Git 仓库中新增的文件。 image.png 树形结构 这是 exa 的基本树形结构。--level 的值决定了列表的深度,这里设置为 2。...扩展文件属性 当你使用 exa 探索 xattrs(扩展的文件属性)时,--extended 会显示所有的 xattrs。...image.png 递归 当你想递归当前目录下所有目录的列表时,exa 能进行递归。 image.png 我相信 `exa 是最简单、最容易适应的工具之一。...它的颜色编码让我更容易在多个子目录中进行搜索,它还能帮助我了解当前的 xattrs。

    3K40

    我在 AI 技术上的突破

    在当今数字化时代,AI技术的飞速发展为各行各业带来了前所未有的变革。在我的工作领域中,通过大模型API对复杂工作流的优化,成为了一次具有深远意义的突破。...例如,在一个市场调研项目中,我们需要收集海量的市场数据,包括消费者行为、竞争对手动态、行业趋势等信息。...传统方式下,数据收集依赖人工搜索多个数据源,如各大数据库、行业报告网站、社交媒体平台等,这个过程不仅耗费大量人力和时间,还容易出现遗漏。...在数据分析阶段,大模型展现出了其强大的智能分析能力。它可以对整理好的数据进行多维度的深度挖掘,发现传统分析方法难以察觉的潜在模式和关联。...基于大模型API优化后的工作流,决策制定变得更加科学和迅速。决策者可以直接参考大模型生成的分析报告和建议,结合实际情况做出准确的决策。

    51210

    如何正确的在 Android 上使用协程 ?

    第一类是 Medium 上热门文章的翻译,其实我也翻译过: 在 Android 上使用协程(一):Getting The Background 在 Android 上使用协程(二):Getting started...在 Android 上使用协程(三) :Real Work 说实话,这三篇文章的确加深了我对协程的理解。...如何配合 ViewModel 、LiveData 、LifeCycle 等使用呢?我会通过简单的示例代码来阐述 Android 上的协程使用,你也可以跟着动手敲一敲。...协程在 Android 上的使用 GlobalScope 在一般的应用场景下,我们都希望可以异步进行耗时任务,比如网络请求,数据处理等等。当我们离开当前页面的时候,也希望可以取消正在进行的异步任务。...还记得上面 MainScope() 的定义吗?没错,搬过来直接使用就可以了。

    4.6K30

    在Linux上使用Chrome运行Android应用

    Google在今年的I/O上发布了一个移植跨界应用  名为App Runtime for Chrome(Beta)这个东西可以让Android系统的App运行于ChromeOS下...选择此文件夹   然后官方提供的chromeos-apk   基于node写的一个工具  用于转换apk文件   但是在我的linux下面无法使用23333 于是@.../ 用户名与密码都是 www.linuxidc.com 具体下载目录在 /2014年资料/9月/26日/在Linux上使用Chrome...启动   然后点击你要的app图标就可以了  并不是所有的apk都可以运行 我这里测试了一下网易云音乐   输入法调用的是系统的输入法  我的这个是搜狗输入法...Windows 上使用 Chrome 运行 Android 应用 见 http://www.linuxidc.com/Linux/2014-09/107199.htm

    5.2K00

    如何使用MEAT在iOS设备上采集取证信息

    该工具旨在帮助安全取证人员在iOS设备上执行不同类型的信息采集任务,将来该工具会添加针对Android设备的支持。...在iOS设备上执行信息采集 -filesystem 执行文件系统采集 -filesystemPath 文件系统路径,需配合--filesystem...开启Verbose模式 支持的采集类型 iOS设备-逻辑采集 在MEAT上使用逻辑采集功能,将指示工具通过越狱设备的AFC提取可访问的文件和文件夹。...AFC2、Apple File Conduit 2 在MEAT上使用文件系统采集功能,可以允许该工具开启AFC2服务,并将目标设备上所有的文件和文件夹拷贝至我们的主机系统中。...该方法还可以使用-filesystemPath参数来进行修改,并让MEAT提取指定的目录。

    2.5K10

    我在 GitHub 上见过哪些奇葩的 Chrome 插件?

    而这其中,有不少插件代码还开源并托管到 GitHub 上。 今天抽空跟大家分享下,我曾看过的那些比较沙雕的 Chrome 插件。...之后,在短短数月内,该游戏瞬间火爆各大社交网络,成为 2014 年最受欢迎的手游之一,当时我身边不少朋友的手机上都安装了这款游戏。 一款爆品的诞生,往往也伴随着一些赝品的争相模仿。...该游戏由电子科技大学的一名学生所研发,通过在 Chrome 上安装这款游戏,你便可以在 GitHub 上的 commit 强愉快的玩耍章鱼猫小游戏。 可以说是非常有创意了。...没关系,装上这款插件,就可以把你电脑上的网页微信伪装成云笔记,让你神不知鬼不觉地上微信了。 伪装到这地步,可以说真的很丧心病狂了。...这时,你只需要在你电脑上装上这款插件,扮成不懂访问外国网站的小白用户,便可以一劳永逸,远离尘世喧嚣了。 希望这款插件能救你于水深火热之中。 以上,即是本次分享。不多,但有趣。

    1.5K20

    使用Termux在Android上运行SSH服务器

    借助出色的Termux终端仿真器应用程序,您可以在Android上运行SSH服务器。 以前,我使用SSHDroid来实现此目的,但是使用Termux更好,因为您可以使用包管理器工作。...sshd 您的ssh服务正在端口8022上运行,以下是测试命令 ssh localhost -p 8022 添加您的公钥 您无法在Termux中进行密码身份验证,因此需要将OpenSSH公钥放入~/...如果还没有OpenSSH密钥对,则可以使用以下命令生成一个在你需要使用ssh登录的机器上: ssh-keygen 您可以输入或不输入密码,如果没有另外指定,您的密钥对将保存在~/.ssh/id_rsa...OpenSSH 如果您使用的是OpenSSH(在Linux或Cygwin上),则可以直接使用它: ssh $IP -p 8022 希望将来Termux允许将sshd注册为适当的服务,它将在系统启动时自动启动...现在,我的.bashrc文件中有'sshd'命令,并且正在使用Tasker启动Termux。您还可以使用Termux小部件以小部件快速启动sshd。

    6.8K20

    在Windows Mobile上使用WINCE自带数据库

    通过数据库,可以方便地存储和检索数据,极大地提高工作效率。...在Windows CE .NET 4.2上,自带了一个数据库,具体我们可以参考MSDN上的网页:Microsoft Windows CE .NET 4.2 Database Reference。... m_ceOid;   //存储数据库对象标志 3.在主对话框中给出装配数据库卷、卸载数据库卷、创建数据库、打开数据库、写数据库、读数据库、关闭数据库等等操作。...实例工程是一个WM6平台上的WINCE数据库,基于对话框的应用程序,程序运行效果如下图所示: ?...图1:程序运行图 另外,我们可以在设备的“My Documents”目录下,找到“Workerinfo.db”文件,正如我们在头文件中所设置的路径,如下图2所示: ?

    2.3K90

    使用eBPF在Kubernetes上监控PostgreSQL数据库

    在本文中,我们重点介绍使用 Anteon 的 Kubernetes PostgreSQL 监控功能来监控 PostgreSQL 数据库。...这适用于所有类型的数据库,包括使用最广泛的数据库之一:PostgreSQL。...虽然 IANA 注册的默认 TCP 端口是 5432,但可以使用任何非特权端口。为了避免混淆,我们将前端称为数据库客户端,将后端称为数据库服务器。...Kubernetes 中的 Anteon 和 PostgreSQL 在我们的 Web 界面中,对于每个 PostgreSQL 数据库部署,你可以轻松查看客户端查询、按查询类型分类以及每个请求的状态,如下面的图片所示...结论:使用 eBPF 在 Kubernetes 上监视 PostgreSQL 数据库 总之,我们的基于 eBPF 的监视解决方案已集成到 Anteon 平台 中,为部署在 Kubernetes 上的 PostgreSQL

    92810

    我在AWS上发现数千个开放数据库的经历

    从所有节点、Pod和运行在其上的应用程序收集的日志集中在一个地方,却对全世界开放。我只是第一个到达那里的人。一些数据库已经被勒索软件破坏。一家我发现被入侵的公司正在为这些公司提供服务。...我在我的实例上使用Docker镜像启动了一个ELK栈。在同一台机器上启动了MasScan,它开始扫描CIDR地址块。...实时车队指标(关于每辆车):IMEI(唯一蜂窝标识符)位置(坐标)gsm信号强度燃油状态错误代码电池状态这是真的吗?有时我难以理解数据库是真实的还是蜜罐。...所以,我在谷歌上搜索了我在数据库中找到的任何内容。通常,我找到了真实的网站,并以此知道该向谁报告。(描述:ElasticSearch中的文档。)(描述:生产网站上的在线文档。)...如你所见,我发现的一些资产已经被“黑客攻击”(更准确地说,是被勒索软件破坏)。可以使用像elasticsearch-dump这样的工具来备份(和恢复)数据库。

    10010

    ​Android aapt 在 Mac 和 Windows 上使用方法小结

    和尚我因为公司项目在小米市场上线时被拒,提示 apk 解析错误,需要用 aapt 解析查看安装包是否正常。以前还真的没有接触过 aapt 工具。...据了解,aapt 是 Android SDK 自带的工具,即 Android Asset Packaging Tool,是一个管理资源文件的工具 。看网上教程很简单,然而和尚在使用过程中却各种不能用。...SDK tools 为前提;和尚我的电脑并没有配置; 终端输入:open .bash_profile -> 配置 Path:/Users/…/Library/Android/sdk/build-tools...Windows 环境 两端的访问方式都是一样的,只是省掉了配置 aapt 的环节。 在本地找到 SDK 下的 aapt.exe 程序; ? cmd 命令输入 aapt.ext 整体路径; ?...---- 和尚我遇到的问题主要是把完整路径补充完整在运行即可;实际用法尝试还是很浅显,希望大家不要遇到和尚我这种问题~

    3.6K20
    领券