linux和unix下获取网卡Mac地址方法 各位,有谁做过在linux和unix下获取Mac地址方法,用java程序怎么写?有经验的提供一点参考,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java是不分操作系统的,跨平台的!java可以取得mac地址的.就是用process流.import java.io.*;public class GetMac{ //通过IP获取网卡地址 private String getMacAddressIP(String remotePcIP){ String str=""; String macAddress=""; try { Process pp= Runtime.getRuntime().exec ("nbtstat -A " + remotePcIP); InputStreamReader ir = new InputStreamReader(pp.getInputStream()); LineNumberReader input = new LineNumberReader (ir); for (int i = 1; i <100; i++) { str=input.readLine(); if (str!=null) { if(str.indexOf("MAC Address")>1) { macAddress=str.substring(str.indexOf("MAC Address")+14,str.length()); break; } } } } catch (IOException ex) {} return macAddress; } //通过机器名获取网卡地址 private String getMacAddressName(String remotePcIP){ String str=""; String macAddress=""; try { Process pp= Runtime.getRuntime().exec ("nbtstat -a " + remotePcIP); InputStreamReader ir = new InputStreamReader(pp.getInputStream()); LineNumberReader input = new LineNumberReader (ir); for (int i = 1; i <100; i++) { str=input.readLine(); if (str!=null) { if(str.indexOf("MAC Address")>1) { macAddress=str.substring(str.indexOf("MAC Address")+14,str.length()); break; } } } } catch (IOException ex) {} return macAddress; } public static void main(String[] args) { GetMac getmac; getmac=new GetMac(); String mac=""; mac=getmac.getMacAddressIP("10.67.0.6"); System.out.println(mac); mac=getmac.getMacAddressName("gxy "); System.out.println(mac); }} Sunny319(努力学习java中.) 命令还是有点问题的,我觉得应该是ifconfig eth0而不是netstat -A然后下面的str.indexOf("MAC Address")改成str.indexOf("HWaddr") 不错不错,谢谢楼上的良好建议!我是想把我的软件和用户的网卡绑定,这样用户就不会拿我的软件乱给别人免费用了,起到控制作用。这句话Process pp= Runtime.getRuntime().exec ("nbtstat -A " + remotePcIP);中的命令语句在任何平台下都能获取Mac地址么?其实我是想找个通用的命令而已,不然用户换了平台我监控不到Mac地址就完蛋了。不过楼上的我试一下,万分感谢!送分! 想租一个服务器,求推荐~~~~ mysql取值的问题 form表单怎么通过CSS排版? 用jsp向mysql插入数据 jsp 和socket的问题 关于session的问题,请教 tomcat+sqlserver/插入数据问题? 华为应聘java试题 为什么有一个页面总是出response already committed异常 问题 各位帮我看看,我这个jsp那儿有问题?谢谢,在线等。。。 如何让url参数值随机变化
java可以取得mac地址的.就是用process流.import java.io.*;public class GetMac
{
//通过IP获取网卡地址
private String getMacAddressIP(String remotePcIP){
String str="";
String macAddress="";
try {
Process pp= Runtime.getRuntime().exec ("nbtstat -A " + remotePcIP);
InputStreamReader ir = new InputStreamReader(pp.getInputStream());
LineNumberReader input = new LineNumberReader (ir);
for (int i = 1; i <100; i++)
{
str=input.readLine();
if (str!=null)
{
if(str.indexOf("MAC Address")>1)
{ macAddress=str.substring(str.indexOf("MAC Address")+14,str.length());
break;
}
}
}
}
catch (IOException ex) {}
return macAddress;
}
//通过机器名获取网卡地址
private String getMacAddressName(String remotePcIP){
String str="";
String macAddress="";
try {
Process pp= Runtime.getRuntime().exec ("nbtstat -a " + remotePcIP);
InputStreamReader ir = new InputStreamReader(pp.getInputStream());
LineNumberReader input = new LineNumberReader (ir);
for (int i = 1; i <100; i++)
{
str=input.readLine();
if (str!=null)
{
if(str.indexOf("MAC Address")>1)
{ macAddress=str.substring(str.indexOf("MAC Address")+14,str.length());
break;
}
}
}
}
catch (IOException ex) {}
return macAddress;
}
public static void main(String[] args)
{
GetMac getmac;
getmac=new GetMac();
String mac="";
mac=getmac.getMacAddressIP("10.67.0.6");
System.out.println(mac);
mac=getmac.getMacAddressName("gxy ");
System.out.println(mac);
}
}
然后下面的str.indexOf("MAC Address")改成str.indexOf("HWaddr")
我是想把我的软件和用户的网卡绑定,这样用户就不会拿我的软件乱给别人免费用了,起到控制作用。
这句话Process pp= Runtime.getRuntime().exec ("nbtstat -A " + remotePcIP);中的命令语句在任何平台下都能获取Mac地址么?其实我是想找个通用的命令而已,不然用户换了平台我监控不到Mac地址就完蛋了。
不过楼上的我试一下,万分感谢!送分!