获取MAC地址和IP地址

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();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值