[原创]获取ip对应的MAC

先ping对应的ip,然后再arp取对应的mac,用swing做展示;

支持批量查询,界面如下:

比较关键的代码如下:

Process process;
//win:ping -n
//linux:ping -c
Runtime.getRuntime().exec("ping -n 1 " + ip);//ping ip,这是ip对应的mac会保存在本地arp表中
process = Runtime.getRuntime().exec("arp -g " + ip);//取得mac
InputStreamReader isr = new InputStreamReader(process.getInputStream());
BufferedReader reader = new BufferedReader(isr);
String buffer = null;
reader.readLine();// 跳过第一行
reader.readLine();
reader.readLine();
while ((buffer = reader.readLine()) != null) {
buffer=buffer.trim().replaceAll("\\s+", " ");//去多余空格
String[] array = buffer.split("\\s");
if (ip.equals(array[0])) {
return array[1];
}
}

不过,目前只是在windowxp上测过,linux上ping和arp的参数不同,所以上面这部分不能在linux上使用

 

最近非常累,不知道写点啥
但这个月就快过了,还是要写点东西
这也算是调用本地程序的例子,对初学者应该还是有用的

» 转载保留版权:《[原创]获取ip对应的MAC》
» 本文链接地址:https://www.xidige.com/210

打开支付宝扫一扫,即可进行扫码打赏哦

扫码支持
扫码打赏,你说多少就多少

标签:

分享到:

扫一扫 在手机阅读、分享本文

上一篇: 下一篇:
评论区0人评论183人参与

电子邮件地址不会被公开。 必填项已用*标注

*

loading

赞助商广告