package pkg;
import java.io.*;
/**
* 获取MAC地址【转载】
*
*/
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("192.168.0.100");// YOUR IP
System.out.println(mac);
mac = getmac.getMacAddressName("R61007");// YOUR HOST-NAME
System.out.println(mac);
}
}
获取ip地址的方法有二:
1.通过HttpServletRequest对象获取,可以在HttpServlet中获取,也可以在jsp中获取
a.在HttpServlet中获取
request.getRemoteAddr();
request.getRemoteHost();
b.在jsp中获取
在body中写下如下代码
<%
String a = request.getRemoteAddr();
String b = request.getRemoteHost();
String c = java.net.InetAddress.getLocalHost().getHostAddress();
%>
<script type="text/javascript">
var sys = ${it};
b = "<%=a%>";
</script>
2.不通过中间环节获取
String ip = java.net.InetAddress.getLocalHost().getHostAddress();
柳德才
13691193654
18942949207
QQ:422157370
liudecai_zan@126.com湖北-武汉-江夏-庙山