質問するのはこれが初めてなので、私の間違いをお許しください。
Android Play ストアで入手できるこのアプリのような traceroute 機能を実装したいと考えています。
traceroute google.com
WindowsでCMDを入力すると、使用されているすべての中間IPが表示されることを知っています。
今私が試したこと。
コマンドを使用してみますtraceroute
が、Androidはtraceroute
ルート化されたデバイスのみをサポートしていません。
Process process =Runtime.getRuntime().exec("traceroute yahoo.com");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
int i;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((i = reader.read(buffer)) > 0)
output.append(buffer, 0, i);
reader.close();
Log.d("*************", ""+output);
そのため、pingコマンドを使用して達成しようと考えましたが、成功しませんでした.pingコマンドを使用すると、必要に応じて、アプリの表示の上になく、google.comのIPのみが表示されます。
Process process = Runtime.getRuntime().exec("/system/bin/ping -t 1 -c 1 google.com");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
int i;
char[] buffer = new char[4096];
StringBuffer output = new StringBuffer();
while ((i = reader.read(buffer)) > 0)
output.append(buffer, 0, i);
reader.close();
Log.d("*************", ""+output);
これを達成する方法を教えてください。一部のリンクまたは一部のチュートリアルは非常に役立ちます。
よろしくお願いします。