JAVA如何根据IP获取客户端Mac地址?
JSF/JAVA如何根据IP获取客户端Mac地址?
需要对用户的 ip 和 mac 地址进行验证,这里用到获取客户端ip和mac地址的两个方法,留存。 1。获取客户端ip地址( 这个必须从客户端传到后台): jsp页面下,很简单,request。getRemoteAddr() ; 因为系统的VIew层是用JSF来实现的,因此页面上没法直接获得类似request,在bean里做了个强制转换 Java代码 public String getMyIP() { try { FacesContext fc = FacesContext。
getCurrentInstance(); HttpServletRequest request = (HttpServletRequest)fc。getExternalContext()。getRequest(); return request。
getRemoteAddr(); } catch (Exception e) { e。printStackTrace(); } return ""; } 2。获取客户端mac地址 调用window的命令,在后台Bean里实现 通过ip来获取mac地址。
方法如下: Java代码 public String getMACAddress(String ip){ String str = ""; String macAddress = ""; try { Process p = Runtime。
getRuntime()。exec("nbtstat -A " + ip); InputStreamReader ir = new InputStreamReader(p。getInputStream()); LineNumberReader input = new LineNumberReader(ir); for (int i = 1; i 1) { macAddress = str。
substring(str。indexOf("MAC Address") + 14, str。length()); break; } } } } catch (IOException e) { e。printStackTrace(System。
out); } return macAddress; } 完整代码: Java代码 import java。io。IOException; import java。io。InputStreamReader; import java。
io。LineNumberReader; public class GetMACAddress { public String getMACAddress(String ipAddress) { String str = "", strMAC = "", macAddress = ""; try { Process pp = Runtime。
getRuntime()。exec("nbtstat -a " + ipAddress); InputStreamReader ir = new InputStreamReader(pp。getInputStream()); LineNumberReader input = new LineNumberReader(ir); for (int i = 1; i 1) { strMAC = str。
substring(str。indexOf("MAC Address") + 14, str。length()); break; } } } } catch (IOException ex) { return "Can't Get MAC Address!"; } // if (strMAC。
length() < 17) { return "Error!"; } macAddress = strMAC。substring(0, 2) + ":" + strMAC。substring(3, 5) + ":" + strMAC。
substring(6, 8) + ":" + strMAC。substring(9, 11) + ":" + strMAC。substring(12, 14) + ":" + strMAC。substring(15, 17); // return macAddress; }。
答:详情>>
问:同事ip:10.101.107.28 我的IP:10.101.104.23我们在...
答:你们公司是WINDOWS域环境吗,如果是的话,你在网上邻居里应该能看到对方的主机。让她把文件夹共享出来就可以。 如果不是WINDOWS域,那得看你们是不是在一个...详情>>
问:数据结构顺序表的建立,可定义顺序表 #define maxnum elemtyp...
答:打开VC ,然后点击新建,出来界面之后选择Win32 Console Application并输入工程的名称和选择项目的位置,然后出现“一个空工程”,在点击“...详情>>