0

監視したいプロセスのUIDがあり、そのためには5タプル(送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、および使用中のプロトコル)をプログラムで取得する必要があります。ルートアクセスなし。

これも可能ですか?(もしそうなら、どうやって?)

前もって感謝します

// Q

4

1 に答える 1

0

Android は Linux ベースなので、/proc/net/ に 4 つのファイルがあります。TCP、TCP6、UDP、および UDP6 用に 1 つずつ、すべての接続とそれに対応するプロセス ID の情報を保持します。この情報を取得するために、最初にインストールされているすべてのアプリのリストを取得しました

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

次に、関心のあるプロセスとプロセス名を照合してプロセス ID を取得し、tcp ファイルを解析して接続とプロセス ID を照合するだけです。

于 2012-12-26T05:27:20.843 に答える