Android init.rc 服务套接字数据流,“连接被拒绝”

2024-04-09

我正在开发一个使用 tcpdump 获取网络数据的项目。为了简化问题,让我们用我编写的脚本替换 tcpdump。

#!/system/bin/sh
while :
do
     echo print out from socket
     sleep 1
done

我把它放在手机上的/system/xbin/echo_test下

-rwxr-xr-x root     root           70 2017-02-08 12:15 echo_test

因此,当我输入命令“echo_test”时,它会不断打印出“从套接字打印”来模拟数据。

现在真正的事情是,要从服务运行此脚本并在手机启动时通过套接字传输数据,我获取了启动映像并修改了 ramdisk。

在 init.rc 文件中,我添加了以下几行。

service echo_test /system/xbin/echo_test
     user root
     group root
     class late_start
     seclabel u:r:init:s0
     socket echo_test stream 0666 system system

在 file_contexts 文件中,我添加了带有现有 SELinux 上下文的套接字文件。

/dev/socket/echo_test   u:object_r:logd_socket:s0

我选择 logd_socket 因为似乎有一个现有的 logd 套接字文件(如果我在这里做错了,请告诉我......)

/dev/socket/logd    u:object_r:logd_socket:s0

然后我重新打包启动镜像并闪回手机。手机启动没有任何问题。但是当我使用 netcat 测试套接字时,我收到“连接被拒绝”错误。当我尝试从 Java 访问套接字时,我遇到了同样的错误。

root@hammerhead:/ # netcat -U /dev/socket/echo_test                                               
Ncat: Connection refused.

Netcat 在其他 Unix 域套接字上表现良好,

root@hammerhead:/ # netcat -U /dev/socket/logd                                               
500 Command too large for buffer

检查 kmsg 只给我这一行:

root@hammerhead:/ # cat /proc/kmsg | grep echo_test
<5>[    3.409779] init: Starting service 'echo_test'...

Netstat 还显示套接字处于活动状态。

root@hammerhead:/ $ netstat | grep echo_test
unix  2      [ ]         STREAM                     6360         /dev/socket/echo_test

这是套接字文件权限,

srw-rw-rw- system   system            u:object_r:logd_socket:s0 echo_test

我在这里缺少什么?提前致谢。

edit:

我使用的是 Android 6.0.1 的 Nexus 5


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android init.rc 服务套接字数据流,“连接被拒绝” 的相关文章

随机推荐

  • 将本地文件的内容读取到 Rails 中的变量中

    我想做的就是从本地文件中获取所有内容并将其存储在变量中 如何 File read icon full filename each l r l 只给我一部分 在 PHP 中 我刚刚使用file get contents data File r
  • 硬币兑换 DP 解决方案以跟踪硬币

    尝试为一般的硬币找零问题编写一个 DP 解决方案 该解决方案还可以跟踪使用了哪些硬币 到目前为止 我已经可以为我提供所需的最低数量的硬币 但无法弄清楚如何获取使用了哪些硬币以及使用了多少次 如果使用硬币 我尝试设置另一个带有值的表 布尔值
  • Javascript 域模型对象约定

    如果我必须在 C 中创建域模型对象 我可能会这样做 public class Person Public string Name get set Public string Gender get set Public int Age get
  • 使用文本框自动滚动到底部

    我有一个由 ms access 制作的 mdb 文件 它有一个表单 表单内部有一个大文本框 制作此文本框的目的是通过在文本框中添加消息来显示某些工作的进度 txtStatus value txtStatus value Doing some
  • 如何通过 COM 公开 .netstandard2.0 库以便在 VB6 中使用?

    我有一个 dotnet 核心库 一个框架 4 7 2 库和一个 vb6 应用程序 我想编写一个公共库供他们所有人访问 因此选择 netstandard2 0 我尝试了 netstandard2 0 库和 vb6 之间的 4 7 2 框架包装
  • Grails:两个域对象之间的多重关系

    我正在尝试在 Grails 中的两个域类之间实现两种不同类型的关系 考虑以下 我有两个域类 一个作者类和一个书籍类 其中一个作者拥有很多书籍 class Author String name class Book String title
  • 在 SQL Management studio 中更改 CommandTimeout

    如何更改 SQL Management Studio 中的 CommandTimeout 如果您在使用表设计器时遇到超时 请更改工具 gt 选项 gt 设计器 gt 表和数据库设计器下的 事务超时时间 值 这将消除此消息 超时已到 操作完成
  • pandas 六个月的日期范围

    所以 这是我的数据框 PatientNumber QT Answer Answerdate DiagnosisDate 1 1 transferring No 2017 03 03 2018 05 03 2 1 preparing food
  • epoll_wait()接收socket关闭两次(read()/recv()返回0)

    我们有一个使用 epoll 来侦听和处理 http 连接的应用程序 有时 epoll wait 会连续两次收到 fd 上的 close 事件 含义 epoll wait 返回连接 fd 其中 read recv 返回 0 这是一个问题 因为
  • pg (node-postgres) 是否自动清理数据

    我在用node postgres对于生产应用程序 我想知道是否有什么我应该关心的 数据是否自动清理node postgres 我在 github 页面上找不到任何相关信息 https github com brianc node postg
  • BrokeredMessage Azure ServiceBus 的虚假传递和接收

    我创建了一个 BrokeredMessage 实例 并希望围绕它的传递计数与队列的最大传递计数来测试我的代码 我不想建立一个真正的队列来发送和接收消息 但在消息传递之前 deliverycount 属性不会初始化 我怎样才能伪造这个 我设法
  • Ninject:将某物与其自身绑定是什么意思?

    Ninject 具有以下功能self binding like Bind
  • Rollup 函数 - 替换 NULL

    我的 SQL 的最后部分似乎遇到了麻烦 当在我的 SQL 中使用汇总函数实现分组依据时 会出现 NULL 如何修改 NULL 以便在此聚合 SQL 中将其替换为 TOTAL Current table returned Name Activ
  • 在Python中将数据作为后台进程写入磁盘

    我有一个 Python 程序 基本上执行以下操作 for j in xrange 200 1 Compute a bunch of data 2 Write data to disk 1 大约需要2 5分钟2 大约需要 1分钟 请注意 内存
  • 如何在多线程模式下使用 Gunicorn 运行 Flask

    我有用 Flask 编写的网络应用程序 正如大家所建议的 我不能在生产中使用 Flask 所以我想到了枪与烧瓶 在 Flask 应用程序中 我正在加载一些机器学习模型 它们的总大小为 8GB 我的 Web 应用程序的并发性可以达到1000
  • Laravel 中的菜单逻辑应该放在哪里?

    在 Laravel 中放置菜单数据逻辑的最佳概念位置是什么 如果我使用菜单包放在哪里 在Base Controller创建额外的功能或不同的东西 Note 这个答案是为 Laravel 3 编写的 可能适用于最新的 Laravel 4 也可
  • numpy.random.choice 的性能

    我更新了代码和时间 我正在尝试提高代码中函数的性能 我必须生成一个包含随机元素的列表 但是 列表的不同部分必须填充来自不同集合的元素 代码示例如下 我必须生成数百万个这样的列表 一次一个 函数 foo1 是最快的 但它不能满足我的需要 它可
  • 应用程序因“正在发送信号”而终止。但没有例外或其他信息

    我正在开发一个通过蓝牙记录数据的应用程序 但在收集数据数小时后它会间歇性崩溃 使得很难追踪错误 logcat 输出不是很有帮助 https i stack imgur com rDZbB png https i stack imgur co
  • CSRF 和 X-CSRF-Token 的区别

    使用上有什么区别X CSRF Token在 HTTP 标头中或token在隐藏字段中 何时使用隐藏字段 何时使用标头以及为什么 我觉得X CSRF Token是当我使用 JavaScript AJAX 但我不确定时 CSRF 保护有多种方法
  • Android init.rc 服务套接字数据流,“连接被拒绝”

    我正在开发一个使用 tcpdump 获取网络数据的项目 为了简化问题 让我们用我编写的脚本替换 tcpdump system bin sh while do echo print out from socket sleep 1 done 我