来源:http://www.cnblogs.com/hxsyl/p/3422191.html
/**
* 获取客户端ip
*
* @param request
* @return
*/
public static String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
if ("0:0:0:0:0:0:0:1".equals(ip)) {
return "127.0.0.1";
}
return ip;
}
/**
* 获取MAC地址(如果获取ip为127.0.0.1的话就不会得到值了。)
* @throws UnknownHostException
* @throws SocketException
*/
public static String getMACAddress(String ip) throws SocketException, UnknownHostException {
if ("127.0.0.1".equals(ip)) {
return getLocalMac();
}
String str;
String macAddress = "";
try {
Process process = Runtime.getRuntime().exec("nbtstat -A " + ip);
InputStreamReader inputReader = new InputStreamReader(
process.getInputStream());
LineNumberReader lineReader = new LineNumberReader(inputReader);
for (int i = 1; i < 100; i++) {
str = lineReader.readLine();
if (str != null) {
if (str.indexOf("=") > 1) {
macAddress = str.substring(str.indexOf("=") + 2,
str.length());
break;
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
return macAddress;
}
//获取本机mac
private static String getLocalMac() throws SocketException, UnknownHostException {
InetAddress ia = InetAddress.getLocalHost();
// 获取网卡,获取地址
byte[] mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();
StringBuffer sb = new StringBuffer("");
for (int i = 0; i < mac.length; i++) {
if (i != 0) {
sb.append("-");
}
// 字节转换为整数
int temp = mac[i] & 0xff;
String str = Integer.toHexString(temp);
if (str.length() == 1) {
sb.append("0" + str);
} else {
sb.append(str);
}
}
return sb.toString().toUpperCase();
}
- 浏览: 73667 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (108)
- 数据库 (6)
- web前端 (13)
- java基础 (29)
- XML (3)
- CSS (1)
- JQuery (2)
- 杂谈 (1)
- struts2 (1)
- 配置 (2)
- 系统 (1)
- javaScript (1)
- tomcat (2)
- maven (5)
- jxl (1)
- spring (6)
- JAX-RS (2)
- servlet-api (1)
- js (1)
- itext (1)
- 面试 (4)
- java自定义注解 (1)
- jsp (3)
- linux (4)
- eclipse (1)
- ftp (1)
- 受益匪浅 (5)
- redis (5)
- java优化 (1)
- protobuf (1)
- virtualbox (1)
- 操作系统 (1)
- 异常 (1)
最新评论
发表评论
-
easyUI的iframe子页面操作父页面元素
2014-12-11 13:25 430曾经试过这样的方法 在iframe子页 ... -
javascript 将HTML转为 word,pdf 等(ie)
2014-08-18 13:39 903/** * @author wsf html转换工具 ... -
java 在linux 获取客户端ip和mac
2014-06-26 14:42 842public static String callCmd(St ... -
JSTL-EL表达式
2014-05-28 13:38 391JSTL-EL表达式 一个E ... -
session与cookie的异同
2014-05-22 15:57 4661.cookie 是一种发送到客户浏览器的文本串句柄,并保存 ... -
URL编码(传递特殊符号)
2014-05-20 10:04 779url编码是一种浏览器用来打包表单输入的格式,一 ... -
java实现验证码
2014-04-28 11:55 793/***************************** ... -
获取工程路径
2013-06-07 14:39 635<%String path = request.get ... -
一个不错的jquery讲解
2013-06-03 16:59 621http://www.cnblogs.com/zhangziq ... -
web程序使用时记得清理Tomcat缓存
2013-02-28 10:10 677当发布web程序时,如果在自己修改完页面或者js后启动程序没有 ... -
点击<a>标签,禁止页面自动跳到顶部的解决办法
2013-02-21 11:16 1626"平时开发的HTML表单,链接通常会使用 ... -
File Uploader:支持进度显示与文件拖拽的多文件上传前端JS脚本 .
2013-01-31 10:13 948File Uploader的前身是Ajax Upload。 ...
相关推荐
### Java 获取客户端 IP 和 MAC 地址 在Java Web开发中,有时我们需要获取客户端的IP地址甚至是MAC地址,以便进行安全验证、用户行为追踪等操作。本文将详细介绍如何通过Java来实现这一功能。 #### 一、获取客户端...
### Java 获取客户端 IP 地址 在 Web 开发中,获取客户端 IP 地址是一项非常重要的功能,尤其是在需要记录用户活动、实现地理位置定位...以上就是关于如何在 Java 中获取客户端 IP 地址及 MAC 地址的相关知识点介绍。
可以通过java获取客户端IPMAC主机名等信息。下载就能用,欢迎下载!
Java,运用了多线程内部执行,不影响其他登录验证操作。在Controller类获取客户端的IP地址的方法是:request....所以我们这里添加了条件验证,将客户端IP及Mac地址(同网段)与本地本地IP及Mac地址方法分开。
以下是一些关于如何在Java环境下获取客户端IP和MAC地址的知识点。 首先,获取客户端IP地址通常涉及到服务器端的编程。在Java中,可以通过`java.net`包中的`Socket`或`HttpServletRequest`类来获取。当客户端发起...
获取客户端提交申请时的ip地址,例如用于微信支付的获取客户端ip,根据配置不不同,有可能ipv4或ipv6,当服务器在自己电脑上,做测试是,可以使用127.0.0.1替代localhost
JAVA获取客户端IP地址和MAC地址 在JAVA中获取客户端的IP地址和MAC地址是非常重要的,特别是在服务器端需要记录客户端的信息时。下面我们将详细介绍如何获取客户端的IP地址和MAC地址。 一、获取客户端IP地址 在...
在Java编程中,获取服务器的IP地址和MAC地址是常见的需求,特别是在网络通信和系统管理中。本篇文章将详细介绍如何使用Java实现这一功能,包括针对单网卡和多网卡环境的情况。 首先,获取服务器的IP地址通常涉及到`...
通过客户端的ip地址获取mac地址,本文文件本人测过,可用,请大家放心下载,绝不骗积分
Java获取Linux服务器上的IP操作 Java获取Linux服务器上的IP操作是Java开发中的一项重要任务。然而,在Linux服务器上获取IP地址却存在一些问题。在本文中,我们将详细介绍Java获取Linux服务器上的IP操作,包括Linux...
在对网内主机进行监控时需要通过java获取远程机器的mac地址
### JavaScript 获取客户端IP与MAC地址方法详解 #### 一、背景介绍 在Web开发中,有时需要获取客户端的网络信息,比如IP地址和MAC地址。这些信息可用于多种用途,如定位用户位置、进行网络监控等。然而,由于隐私...
获取用户请求IP地址 根据IP地址获取mac地址
java中通过ip获取远程客户端的mac地址,支持跨平台
web端项目通过浏览器访问的项目获取客户端mac地址及ip地址,进行登录权限校验; web端通过浏览器访问的项目增加权限; 本次项目由于对数据安全性要求较为严格,所以增加了用户在登录时对于客户端电脑的ip地址和mac...
总之,通过上述方法,我们可以编写Java程序来获取客户端的MAC地址,同时确保代码具有良好的平台兼容性和错误处理机制。不过,需要注意的是,由于网络安全策略和操作系统的变化,这种方法可能在某些情况下无法成功...
以下是一个简单的Java示例,展示如何通过IP地址获取客户端的Mac地址: 首先,我们需要理解这个例子的基本流程: 1. 执行操作系统命令:通常,我们不能直接通过Java API获取Mac地址,而是需要借助操作系统提供的命令...
以下是一些获取客户端MAC地址的方法和相关知识点: 1. **JavaScript方法**: - 由于浏览器安全限制,JavaScript无法直接获取客户端的MAC地址,但可以通过一些间接手段尝试获取,如WebRTC API。WebRTC允许浏览器...
通过"一件获取本机IP、主机名、和Mac地址小工具",用户可以快速获取这些信息,对网络状态进行监控和诊断。对于IT专业人士来说,理解和掌握这些基础知识至关重要,因为它直接关系到网络的正常运行和问题排查。
在实际使用中,Java客户端通常具有简洁的用户界面,用户只需输入服务端的IP地址和端口号,以及认证信息,就能实现远程连接。 在实际应用中,VNC常用于系统维护、技术支持、远程办公等场景。例如,IT管理员可以通过...