java在Win7 64位 获取客户端的IP,MAC,计算机名

package com.javaweb.util;

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;

import javax.servlet.http.HttpServletRequest;

public class ClientInformation {
//得到客户端IP地址
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.getHeader("HTTP_CLIENT_IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}

//得到客户端MAC地址
public static String getMACAddress(String ip) {
String str = "";
String macAddress = "";
System.out.println("ipppppppppppppppppp"+ip);
try {
Process p = Runtime.getRuntime().exec("cmd /c C:\\Windows\\sysnative\\nbtstat.exe -a " + ip);
InputStreamReader ir = new InputStreamReader(p.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
for (int i = 1; i < 100; i++) {
str = input.readLine();
if (str != null) {
if (str.indexOf("MAC") > 1) {
macAddress = str.substring(str.indexOf("=") + 2,
str.length());
break;
}
}
}
} catch (IOException e) {
e.printStackTrace(System.out);
}
return macAddress;
}

//得到客户端计算机名
public static String getComputerName(String ip){
String computerName = "";
String str = "";
try {
Process    p = Runtime.getRuntime().exec("cmd /c C:\\Windows\\sysnative\\nbtstat.exe -a " + ip);
InputStreamReader ir = new InputStreamReader(p.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
for (int i = 1; i < 100; i++) {
try {
str = input.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (str.indexOf("唯一") > 1) {
computerName = str.substring(0, str.indexOf("<")).trim();
break;
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return computerName;
}
}
时间: 2024-10-10 14:13:49

java在Win7 64位 获取客户端的IP,MAC,计算机名的相关文章

Java编程实现获取本机IP和计算机名的功能

import java.net.InetAddress; import java.net.UnknownHostException; public class Test { public static void main(String[] args) { try { InetAddress inetAddress = InetAddress.getLocalHost(); System.out.println("本机IP:" + inetAddress.getHostAddress()

关于是用dotnet获取本机IP地址+计算机名的方法

印象中在maxscript帮助文档里找到过方法,但是当时没记下来.只能通过dotnet实现了. 如果电脑有无线网卡和本地连接,可能会出现乱码,也问了写dotnet的朋友,提供了一些思路,不过最终还是使用了这个笨办法. fn getIP_PCname = ( cc = (dotnetclass "System.Net.Dns") oo = cc.GetHostAddresses(cc.GetHostName()) for ip = 1 to oo.count do ( getip = f

win7+64位+Java学习基本软件安装+环境配置+eclipse(IDE)

一.下载安装JDK 1.安装包下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html 根据需要进行下载,我的电脑是win7+64位,所以选择版本:jdk-9.0.1_windows-x64_bin.exe 2.双击安装包 ,点击下一步,建议不要装在C盘,我一般习惯性将所有软件装在E盘下面,首先是安装JDK: 3.继续点击下一步,安装完jdk-9.0.1,会自动安装jre-9.

[转]Win7 64位搭建本地SVN服务器 Apache+Subversion

转载地址:http://blog.sina.com.cn/s/blog_4f072a7001015j5z.html 一.工具下载 01.SVN 服务器Subversion:Setup-Subversion-1.6.17.msi 02.SVN 客户端TortoiseSVN:本文选用版本为(64位)TortoiseSVN-1.6.16.21511-x64-svn-1.6.17.msi 03.TortoiseSVN中文语言包:本文选用版本为LanguagePack_1.6.16.21511-x64-z

win7下android开发环境搭建(win7 64位)

一.安装 JDK 下载JDK最新版本,下载地址如下: http://www.oracle.com/technetwork/java/javase/downloads/index.html 二.下载并安装 Eclipse http://www.eclipse.org/downloads/ win7下android开发环境搭建(win7 64位),码迷,mamicode.com

win7 64位安装redis 及Redis Desktop Manager使用

win7 64位安装redis 及Redis Desktop Manager使用     喻高咏 论坛徽章: 3 写基于dapper的一套自动化程序,看到 mgravell的另一个项目,StackExchange.Redis,之前在.NET上用过一段时间redis,不过一直是其它的驱动开发包,这个根据作者介绍,是个高性能的线程安全的.NET c#开发redis客户端的库.说的很吊,不过我确信mgravell出品的东西都是精品.说多无益,先把redis在win上的开发环境搭一下.redis官方没有

Win7 64位旗舰版系统安装和配置IIS7.0的方法

Win7 64位旗舰版系统安装和配置IIS7.0的方法分享给大家,IIS是Internet Information Services的缩写,是一个World Wide Web server.Gopher server和FTP server全部包容在里面. IIS意味着你能发布网页,并且有ASP(Active Server Pages).JAVA.VBscript产生页面,有着一些扩展功能.笔者就给大家分享下Win7系统下IIS7的详细安装配置. 推荐:雨林木风Ghost win7系统下载   操

WIN7 64位配置Oracle SQL Developer工具

在使用Oracle SQL 的过程中,很多参考资料,辅导机构,各种书籍绝大多数都是使用PL/SQL进行讲解,但是问题是PL/SQL对WIN7 64位系统支持不好,网上有各种各样的配置教程,我尝试了很多,都没能很好的解决,其实最好的解决方法就是使用从Oracle SQL 官网下载的Oracle SQL Developer,配置好Oracle SQL Developer,妈妈再也不用担心我不能使用数据库了. 现介绍详细的安装配置步骤: 步骤1,安装Oracle 11g(服务器端和客户端) 1. Or

WIN7 64位系统安装JDK并配置环境变量

首先,下载JDK安装包,到官网http://www.oracle.com/technetwork/java/javase/downloads/index.html进行下载,点左边的Java Platform (JDK) 7u51进入下一个下载页面, 2 点左边的Accept License Agreement,接受许可协议,方能下载,由于我装的WIN7 64位系统,所以选对应的64位安装包, 3 Windows x64 对应的 jdk-7u51-windows-x64.exe 下载, 4 下载完