Android 是否可以获取进程TCP连接的5元组?

Android 是否可以获取进程TCP连接的5元组?,android,ip,Android,Ip,我有一个进程的UID,我想监视它,要做到这一点,我需要获得5元组、源IP地址、目标IP地址、源端口号、目标端口号和以编程方式使用的协议,并且不需要根访问 这可能吗?如果是,怎么做 先谢谢你 //Q由于Android基于Linux,因此/proc/net/中有四个文件。一个用于TCP、TCP6、UDP和UDP6,分别保存所有连接的信息及其相应的进程id。要获取此信息,我首先通过获取所有已安装应用程序的列表 ActivityManager actvityManager = (ActivityMana

我有一个进程的UID,我想监视它,要做到这一点,我需要获得5元组、源IP地址、目标IP地址、源端口号、目标端口号和以编程方式使用的协议,并且不需要根访问

这可能吗?如果是,怎么做

先谢谢你


//Q

由于Android基于Linux,因此/proc/net/中有四个文件。一个用于TCP、TCP6、UDP和UDP6,分别保存所有连接的信息及其相应的进程id。要获取此信息,我首先通过获取所有已安装应用程序的列表

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

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

这可能吗?-“我当然希望不会,因为那将是一个巨大的隐私漏洞。”Commonware解决了这个问题/proc/net/tcp保存我正在查找的信息。