1
私のネットワーク上のすべてのIPアドレスを検索したいと思います。ANDROIDネットワーク上のすべてのIPアドレスを取得
たとえば、私はボタンとリストビューでアクティビティを持っています。
私がボタンをクリックすると、私はnetowrk上のすべてのIPアドレスを取得し、リストビューに入れます。私の英語のため申し訳ありません
=)
私のネットワーク上のすべてのIPアドレスを検索したいと思います。ANDROIDネットワーク上のすべてのIPアドレスを取得
たとえば、私はボタンとリストビューでアクティビティを持っています。
私がボタンをクリックすると、私はnetowrk上のすべてのIPアドレスを取得し、リストビューに入れます。私の英語のため申し訳ありません
=)
はこれを試してみてください。
private static class NetworkSniffTask extends AsyncTask<Void, Void, Void> {
private static final String TAG = "NetworkSniffTask";
private WeakReference<Context> mContextRef;
private NetworkSniffTask(Context context) {
mContextRef = new WeakReference<>(context);
}
@Override
protected Void doInBackground(Void... voids) {
Log.e(TAG, "Let's sniff the network");
try {
Context context = mContextRef.get();
if (context != null) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo connectionInfo = wm.getConnectionInfo();
int ipAddress = connectionInfo.getIpAddress();
String ipString = Formatter.formatIpAddress(ipAddress);
Log.e(TAG, "activeNetwork: " + String.valueOf(activeNetwork));
Log.e(TAG, "ipString: " + String.valueOf(ipString));
String prefix = ipString.substring(0, ipString.lastIndexOf(".") + 1);
Log.e(TAG, "prefix: " + prefix);
for (int i = 0; i < 255; i++) {
String testIp = prefix + String.valueOf(i);
InetAddress name = InetAddress.getByName(testIp);
String hostName = name.getCanonicalHostName();
if (name.isReachable(1000))
Log.e(TAG, "Host:" + hostName);
}
}
} catch (Throwable t) {
Log.e(TAG, "Well that's not good.", t);
}
return null;
}
}
あなたのサブネットの無線LANからマスク、およびpingあなたのサブネット上のすべての可能なIPアドレスを取得することができます。 –
あなたは私に例を教えてください? –
いいえ、申し訳ありません、私はあなたの代わりにあなたの仕事をしません。サブネットマスクwfom wifiを取得するような特定の操作を行う方法がわからない場合は、最初にgoogleを実行してから、結果を見つけられない場合は質問してください –