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 < 100; i++) {
str = input.readLine();
if (str != null) {
if (str.indexOf("MAC Address") > 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;
}
public static void main(String[] args) {
GetMACAddress getMACAddress = new GetMACAddress();
System.out.println(getMACAddress.getMACAddress("59.78.63.38")); //获得该ip地址的mac地址
}
public static String procAll(String str) {
return procStringEnd(procFirstMac(procAddress(str)));
}
public static String procAddress(String str) {
int indexof = str.indexOf("Physical Address");
if (indexof > 0) {
return str.substring(indexof, str.length());
}
return str;
}
public static String procFirstMac(String str) {
int indexof = str.indexOf(":");
if (indexof > 0) {
return str.substring(indexof + 1, str.length()).trim();
}
return str;
}
public static String procStringEnd(String str) {
int indexof = str.indexOf("\r");
if (indexof > 0) {
return str.substring(0, indexof).trim();
}
return str;
}
}
只要写一个servlet来调用这个类的getMACAddress(String netip)方法就可以获得客户端的mac地址了,相信你会写jsp应该对servlet也不陌生吧,在jsp中调用servlet通过session传递返回的mac地址,加以判断就可以了
ps.mac地址是可以通过注册表修改的,不建议以此来作为限制依据~
又ps.很多网站都在想这个问题,其实很难解决,网上投票难免掺假,其实mac确实是个不错的选择,但是感觉有点侵入他人电脑的意思。要限制还不如考自觉,现在网站投票不都是一个账户只能投一票么,还把注册程序搞得很复杂,其实这样的方法更适合,如果你的网页要投入使用的话,还是后者方法比较适宜。
分享到:
相关推荐
在基于JSP的Web应用中,可以通过`HttpServletRequest`对象的`getRemoteAddr()`方法来轻松地获取客户端的IP地址。但是在使用JSF框架的应用中,则需要通过不同的方式来访问`HttpServletRequest`对象。 **示例代码**:...
本实例将关注在Mac环境下,通过JSP(JavaServer Pages)来获取客户端MAC地址的方法。 首先,了解JSP的基础知识是必要的。JSP是一种动态网页开发技术,由Sun Microsystems(现为Oracle公司)推出,用于构建基于Java...
本文将深入解析在Java/JSP环境中获取客户端网卡MAC地址的三种常见方法,旨在为开发者提供全面而深入的理解。 ### 方法一:通过Java NIO(非阻塞I/O)库 Java NIO库提供了访问底层网络接口的能力,从而可以获取包括...
在Controller类获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用...
在JSP开发中,获取客户端的真实IP地址是一个常见需求,尤其在需要进行安全验证、日志记录或地理位置分析时。在没有反向代理的简单情况下,可以通过request对象的getRemoteAddr()方法来获取客户端IP地址。然而,在...
在Web开发中,获取客户端的IP地址是一项基础且重要的功能,特别是在需要追踪用户地理位置、限制访问权限或是进行数据分析时。然而,在复杂的网络环境中,如存在代理服务器的情况下,直接使用`request.getRemoteAddr...
除了获取路径信息之外,JSP 和 Servlet 还提供了多种方法来获取客户端的相关信息,这对于日志记录、统计分析等非常有用。以下是一些常用的客户端信息获取方法: 1. **`getUserAgent()`**:通过 `request.getHeader...
2. **获取客户端MAC地址**: - MAC地址通常无法直接通过网络请求获取,因为它是网络层的物理地址,不参与IP层的通信。但是,可以通过操作系统提供的命令行工具间接获取。例如,Windows系统中的`nbtstat -A`命令可以...
11.javascript获取客户端网卡MAC地址和IP地址和计算机名 7 12.JAVA反射 8 13. 自定义ClassLoader 13 14. double保留两位数的两个方案 18 16. 用户输入输出,文件输入输出范例(1) 19 17.以指定符号分割显示 22 17. ...
配合一个处理表单的JSP页面(process.jsp),可以获取并显示用户的输入。 ### JSP生命周期 JSP页面经过编译后会被转化为Servlet,经历初始化、服务和销毁三个阶段。在服务阶段,每次请求都会创建一个JSP页面对应...
标题“MAC查询 AndroidTOWeb”涉及的是一个网络通信项目,主要功能是通过手机客户端(Android设备)查询MAC地址,并在Web服务器(使用JSP技术)上进行验证。这个过程包括了客户端与服务端的数据交互、数据库操作以及...
- **获取客户端MAC地址**:在Web应用中,由于安全原因,直接获取客户端MAC地址通常是不允许的,但可以通过特定技术间接获取,如JavaScript或服务器端代理。 - **深入研究equal**:Java中的equals()方法是用于比较...
3. 启动Tomcat服务器,通常在Tomcat的bin目录下运行`startup.bat`(Windows)或`startup.sh`(Linux/Mac)脚本。 ### 2. Editplus编辑器 Editplus是一款功能丰富的文本编辑器,支持多种编程语言,包括JSP。使用...
- 启动Tomcat通常是通过bin目录下的startup.sh(Linux/Mac)或startup.bat(Windows)。 - 停止Tomcat对应的是bin目录下的shutdown.sh或shutdown.bat。 5. **动态网页技术**: - 动态网页技术包括JSP、Servlet、...
随着社会的发展与进步,获取驾照已经成为现代社会人们的一项基本技能。为了更好地管理和优化驾校资源,提高教学效率和服务质量,许多驾校开始采用信息化手段来提升管理水平。本项目旨在开发一款基于JSP技术的驾校...
JSP技术的核心是Servlet容器,如Tomcat,它可以解析JSP文件并将其转换为Servlet,然后执行并返回结果给客户端。 ### Eclipse开发工具详解 #### 1.0 介绍 Eclipse是一个开源的集成开发环境(IDE),广泛用于Java...
Tomcat接收HTTP请求,通过Servlet容器处理JSP和Servlet,最后将结果返回给客户端。Servlet是Java代码运行的容器,而JSP则是动态网页的编写方式,最终会被编译成Servlet。 总之,安装和配置Tomcat是Java Web开发者...
- **如何获得客户端的MAC地址**:在Java中获取客户端MAC地址通常需要使用网络套接字(Socket)和网络接口(NetworkInterface)类,需要注意跨平台兼容性和安全问题。 - **axman对equal的深入研究**:讨论了Java中...
在首页找到“网络服务”栏目,进一步点击“信息网络中心”,这是获取客户端软件和相关信息的主要入口。在该页面上,用户会发现关于校园网用户下载客户端软件的通知,按照指示进行下一步操作。 下载客户端软件是使用...
JSP的运行架构基于请求-响应模型,当客户端发送请求时,Tomcat接收到请求,调用Servlet的`jspService()`方法生成响应,并返回给客户端。 总结本章的重点内容: - Tomcat的安装步骤,包括设置JAVAHOME环境变量。 - ...