0

我有一个要监视的进程的 UID,为此我需要以编程方式获取 5 元组(源 IP 地址、目标 IP 地址、源端口号、目标端口号和使用的协议)并且没有root访问权限。

这甚至可能吗?(如果是,如何?)

先感谢您

//Q

4

1 回答 1

0

由于 Android 是基于 Linux 的,因此 /proc/net/ 中有四个文件。TCP、TCP6、UDP 和 UDP6 的一个分别保存所有连接的信息及其对应的进程 ID。为了获得这些信息,我首先通过以下方式获得了所有已安装应用程序的列表

ActivityManager actvityManager = (ActivityManager)
this.getSystemService( ACTIVITY_SERVICE );
List<RunningAppProcessInfo> procInfos = actvityManager.getRunningAppProcesses();

然后只需将进程名称与您感兴趣的进程进行匹配以获取 proc id 并解析 tcp 文件以匹配与进程 id 的连接。

于 2012-12-26T05:27:20.843 回答