1
ローカルネットワークを192.168.1.0
から192.168.1.255
に5000ポートでpingしようとしていますが、Arduinoボードも5000ポートでネットワークに接続しています。私はボードのMacアドレスを持っていて、IPアドレスを見つけようとしています。これは私のコードネットワーク全体をpingしてデバイスを見つける
static void pingLocal() {
for (int i = 0; i <= 255; i++) {
ping("192.168.1." + i + ":5000");
}
}
private static void ping(String url) {
try {
Process mIpAddrProcess = Runtime.getRuntime().exec("/system/bin/ping -c 1 " + url);
int mExitValue = mIpAddrProcess.waitFor();
System.out.println(" mExitValue " + mExitValue);
if (mExitValue == 0) {
Log.d("log", "true");
} else {
Log.d("log", "false");
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
static String getIPFromArpCache(String mac) {
if (mac == null)
return null;
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader("/proc/net/arp"));
String line;
while ((line = br.readLine()) != null) {
Log.d("line", line);
String[] splitted = line.split(" +");
if (splitted.length >= 4 && mac.equals(splitted[3])) {
String ip = splitted[0];
if (ip.split(".").length == 4) {
return ip;
} else {
return null;
}
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
assert br != null;
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
で、あなただけのモデムがARPキャッシュ内のMACアドレスを持って見ることができるように、これは結果
02-20 19:57:07.465 12103-12103/ir.shafadoc.handset D/line: IP address HW type Flags HW address Mask Device
02-20 19:57:07.466 12103-12103/ir.shafadoc.handset D/line: 192.168.1.33 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.466 12103-12103/ir.shafadoc.handset D/line: 192.168.1.26 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.467 12103-12103/ir.shafadoc.handset D/line: 192.168.1.19 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.467 12103-12103/ir.shafadoc.handset D/line: 192.168.1.12 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.467 12103-12103/ir.shafadoc.handset D/line: 192.168.1.31 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.468 12103-12103/ir.shafadoc.handset D/line: 192.168.1.24 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.468 12103-12103/ir.shafadoc.handset D/line: 192.168.1.17 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.469 12103-12103/ir.shafadoc.handset D/line: 192.168.1.10 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.470 12103-12103/ir.shafadoc.handset D/line: 192.168.1.29 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.470 12103-12103/ir.shafadoc.handset D/line: 192.168.1.22 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.470 12103-12103/ir.shafadoc.handset D/line: 192.168.1.15 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.471 12103-12103/ir.shafadoc.handset D/line: 192.168.1.8 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.471 12103-12103/ir.shafadoc.handset D/line: 192.168.1.1 0x1 0x2 c0:a0:bb:9a:e4:ad * wlan0
02-20 19:57:07.472 12103-12103/ir.shafadoc.handset D/line: 192.168.1.27 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.472 12103-12103/ir.shafadoc.handset D/line: 192.168.1.20 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.472 12103-12103/ir.shafadoc.handset D/line: 192.168.1.13 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.473 12103-12103/ir.shafadoc.handset D/line: 192.168.1.32 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.473 12103-12103/ir.shafadoc.handset D/line: 192.168.1.25 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.473 12103-12103/ir.shafadoc.handset D/line: 192.168.1.18 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.474 12103-12103/ir.shafadoc.handset D/line: 192.168.1.11 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.474 12103-12103/ir.shafadoc.handset D/line: 192.168.1.30 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.475 12103-12103/ir.shafadoc.handset D/line: 192.168.1.23 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.475 12103-12103/ir.shafadoc.handset D/line: 192.168.1.16 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.475 12103-12103/ir.shafadoc.handset D/line: 192.168.1.9 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.476 12103-12103/ir.shafadoc.handset D/line: 192.168.1.28 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.476 12103-12103/ir.shafadoc.handset D/line: 192.168.1.21 0x1 0x0 00:00:00:00:00:00 * wlan0
02-20 19:57:07.477 12103-12103/ir.shafadoc.handset D/line: 192.168.1.14 0x1 0x0 00:00:00:00:00:00 * wlan0
です。なにが問題ですか?どのようにしてネットワークを発見し、MacからIPアドレスを見つけることができますか?
を働いています。あなたは何を期待していますか? – zed
私のボードMacアドレスはarpキャッシュに表示されるはずです@zed –
どのIPアドレスですか?このログには表示されますか? – zed