我正在尝试创建类似Fing的网络扫描工具。 ARP表扫描有效,不会产生任何错误,但是仅返回6个结果。 如果我在PC上运行“ arp -a”,则会得到11个结果(不包括静态结果)。如果我在Fing中运行它,则会得到11台设备。因此,我知道这样做的可能性。
我不确定是否有办法获取实时版本,而不是'/ proc / net / arp'中的缓存。
我在另一个站点上看到必须依次运行每个Ip。但是,我想避免这样做。
有什么办法可以解决我的问题
谢谢,山姆。
代码:
public void scanMacs() {
ArrayList<String> records = new ArrayList<String>();
try {
BufferedReader arpTable = new BufferedReader(new FileReader(new File("/proc/net/arp")));
String tableBuild = "";
String tableLine;
while((tableLine = arpTable.readLine()) != null) {
tableBuild += tableLine + "\n";
records.add(tableLine);
}
Log.d("TESTOUT",tableBuild);
} catch (IOException e) {
}
}