- 浏览: 139799 次
- 性别:
- 来自: 重庆
最新评论
-
老梦a:
要是保存到数据库,是怎么做呢,数据流这块,不太懂。。(*^__ ...
使用flash摄像头拍照的简单实践 -
wolf521hf:
学习 最近正在看相关的文档 标记下
Spring安全权限管理(Spring Security) -
yue_hun1025:
怎么下载不了??????
java反编译工具jad下载 -
ry.china:
你把这个放到jdk的bin目录下就可以了
java反编译工具jad下载 -
幻樱释:
不知道能不能看懂哦。
javascript高级程序设计实例代码
、通过命令方式,在客户端执行Ipconfig 等等
2、通过ActiveX的方法
3、通过向137的端口发送查询指令的方法
简介:
第一种方法,在真正用到时候不知道为什么获得mac地址的指令阻塞了,不往下继续执行。而且速度是这三种方法中最慢的一种。
代码如下:
String sip="";
String smac="";
sip = request.getHeader("x-forwarded-for");
if(sip == null ||sip.length() == 0 ||
"unknown".equalsIgnoreCase(sip))
{
sip = request.getHeader("proxy-Client-IP");
}
if (sip == null || sip.length() == 0 ||
"unknown".equalsIgnoreCase(sip))
{
sip =
request.getHeader("WL-Proxy-Client-IP");
}
if (sip == null ||sip.length() == 0 ||
"unknown".equalsIgnoreCase(sip))
{
sip =
request.getRemoteAddr();
}
if(!"127.0.0.1".equals(sip)) //本机过滤掉
{
Process process = Runtime.getRuntime().exec("nbtstat -a " +
sip);
InputStreamReader ir = new
InputStreamReader(process.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String
line;
while ((line =
input.readLine()) != null)
if (line.indexOf("MAC Address") >
0)
{
smac = line.substring(line.indexOf("-") - 2);
}
第二种方法是用ActiveX来获得,速度比第一种方法快但是必须降低安全设置否则脚本不被执行
IE设置如下
1.打开IE浏览器
2.工具->Internet选项->安全
3.自定义级别(C)...
4.设置中对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本
选中启动(不安全)->每次不用点击"是"按钮,推荐,当然你的机器不能上互联网否则会有安全问题。
选中提示->每次都得点击"是"按钮。
5.点击"确定"->"确定"按钮
6.重新启动IE浏览器设置生效
代码
<SCRIPT language=JScript
event="OnCompleted(hResult,pErrorObject, pAsyncContext)"
for=foo>
document.forms[0].userMacAddr.value=unescape(MACAddr);
</SCRIPT>
<SCRIPT language=JScript
event=OnObjectReady(objObject,objAsyncContext)
for=foo>
if(objObject.IPEnabled != null
&& objObject.IPEnabled !=
"undefined" && objObject.IPEnabled
== true)
{
if(objObject.MACAddress != null &&
objObject.MACAddress != "undefined")
MACAddr =
objObject.MACAddress;
}
</SCRIPT>
<META content="MSHTML 6.00.2800.1106"
name=GENERATOR>
...
<body>
<OBJECT id=locator
classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6
VIEWASTEXT></OBJECT>
<OBJECT id=foo
classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT>
<SCRIPT language=JScript>
var service =
locator.ConnectServer();
var MACAddr ;
service.Security_.ImpersonationLevel=3;
service.InstancesOfAsync(foo,
'Win32_NetworkAdapterConfiguration');
</SCRIPT>
...
<td height="20"
align="center">标 识:</td>
<td><input value="no"
name="userMacAddr" size="20" style="width:150px"
readonly="yes"></td>
<%
String smac = "";
String sip =
request.getHeader("x-forwarded-for");
if(sip == null || sip.length() == 0 ||
"unknown".equalsIgnoreCase(sip))
{
sip =
request.getHeader("Proxy-Client-IP");
}
if(sip == null || sip.length() == 0 ||
"unknown".equalsIgnoreCase(sip))
{
sip =
request.getHeader("WL-Proxy-Client-IP");
}
if(sip == null || sip.length() == 0 ||
"unknown".equalsIgnoreCase(sip))
{
sip =
request.getRemoteAddr();
}
UdpGetClientMacAddr umac = new UdpGetClientMacAddr(sip);
smac = umac.GetRemoteMacAddr();
%>
<input
value=<%=smac %> name="userMacAddr"
size="20" style="width:150px"
readonly="yes">
UdpGetClientMacAddr.java
package cch;
import java.io.*;
import java.net.*;
public class UdpGetClientMacAddr {
private
String sRemoteAddr;
private int
iRemotePort=137;
private
byte[] buffer = new byte[1024];
private
DatagramSocket ds=null;
public
UdpGetClientMacAddr(String strAddr) throws Exception{
sRemoteAddr = strAddr;
ds = new DatagramSocket();
}
protected
final DatagramPacket send(final byte[] bytes) throws IOException
{
DatagramPacket dp = new
DatagramPacket(bytes,bytes.length,InetAddress.getByName(sRemoteAddr),iRemotePort);
ds.send(dp);
return dp;
}
protected
final DatagramPacket receive() throws Exception {
DatagramPacket dp = new
DatagramPacket(buffer,buffer.length);
ds.receive(dp);
return
dp;
}
protected
byte[] GetQueryCmd() throws Exception {
byte[] t_ns
= new byte[50];
t_ns[0] =
0x00;
t_ns[1] = 0x00;
t_ns[2] = 0x00;
t_ns[3] = 0x10;
t_ns[4] = 0x00;
t_ns[5] = 0x01;
t_ns[6] = 0x00;
t_ns[7] = 0x00;
t_ns[8] = 0x00;
t_ns[9] = 0x00;
t_ns[10] = 0x00;
t_ns[11] = 0x00;
t_ns[12] = 0x20;
t_ns[13] = 0x43;
t_ns[14] = 0x4B;
for(int i = 15; i < 45; i++)
{
t_ns[i] = 0x41;
}
t_ns[45] = 0x00;
t_ns[46] = 0x00;
t_ns[47] = 0x21;
t_ns[48] = 0x00;
t_ns[49] = 0x01;
return
t_ns;
}
protected
final String GetMacAddr(byte[] brevdata) throws Exception
{
int i =
brevdata[56] * 18 + 56;
String sAddr="";
StringBuffer sb = new StringBuffer(17);
for(int j = 1; j < 7;j++)
{
sAddr = Integer.toHexString(0xFF &
brevdata[i+j]);
if(sAddr.length() < 2)
{
sb.append(0);
}
sb.append(sAddr.toUpperCase());
if(j < 6) sb.append(':');
}
return sb.toString();
}
public final
void close() {
try
{
ds.close();
}
catch
(Exception ex){
ex.printStackTrace();
}
}
public final
String GetRemoteMacAddr() throws Exception {
byte[] bqcmd
= GetQueryCmd();
send(bqcmd);
DatagramPacket dp = receive();
String smac = GetMacAddr(dp.getData());
close();
return smac;
}
发表评论
-
数据库JDBC驱动下载大全
2017-03-26 14:14 22621.数据库驱动下载地址 Cache : http://w ... -
MINA粘包断包专题研究
2015-05-13 00:25 0一、前述: 近期做项目用到了MINA,其中遇到了一个 ... -
Mybatis版PropertyFilter实现
2014-07-03 23:50 1515<!--前段时间看到hibernate的Proper ... -
java字符串应用之表达式解析器
2013-12-26 13:33 5266一、表达式的组成 1、数字 2、运算符:+ - ... -
全文检索Lucene使用与优化
2012-03-22 13:09 988转自http://www.oecp.cn/hi/chengzh ... -
Spring 里JMS和DB的事务集成
2012-02-10 18:59 1717http://www.javaworld.com/jav ... -
Java实现在bmp图像文件中隐藏与导出信息
2011-08-21 00:20 1396BMP图像文件,即所谓的位图文件。在位图中,其表示方式是 ... -
Spring事务配置的五种方式
2011-06-10 20:07 1001前段时间对Spring的事务配置做了比较深入的研究,在此之间对 ... -
spring2.5 mvc common-validator 集成应用
2010-12-10 12:59 2907常常写客服端验证代码,写多了就感觉是否有啥东西可以简化处理的, ... -
通过java2dAPI绘制报表
2010-12-05 21:41 1460/* *只画直线,矩形,椭圆,只能向右下角 ... -
调整 JVM 开关以提高性能
2010-12-04 16:29 1059http://blog.csdn.net/petehero/a ... -
CGlib简单介绍
2010-07-06 21:58 933转载:http://hacker0825.blog.163.c ... -
java开源论坛系统
2010-01-04 22:52 4163java开源论坛系统 ================ m ... -
纯jsp日历
2009-12-16 09:44 1170网上找了一大堆日历,感觉跟自己的想要的有点差别,索性自己修改了 ... -
tomcat6学习笔记( 包括和apache2的集成,集群,SSI,SSL,安全域,嵌入应用程序,访问控制平台和管理平台)
2009-12-15 11:27 2457一.访问tomcat的控制平台和管理平台 首先下载tom ... -
用p6spy来观察Java程序中执行的所有SQL语句
2009-11-17 15:30 2165本想把 p6spy 结合 SQL Pro ... -
有用的ext grid 例子
2009-11-06 14:22 4335有用的ext grid 例子 ... -
Spring安全权限管理(Spring Security)
2009-11-04 14:02 6458Spring Security以前叫做acegi,是后来才成为 ... -
spring事务传播属性与隔离级别
2009-10-20 15:22 2076一、Propagation (事务的传播属性) Pro ... -
一个用Spring AOP实现异常处理和记录程序执行时间的实例
2009-10-20 15:05 31605.11 一个用Sprin ...
相关推荐
本文将深入解析在Java/JSP环境中获取客户端网卡MAC地址的三种常见方法,旨在为开发者提供全面而深入的理解。 ### 方法一:通过Java NIO(非阻塞I/O)库 Java NIO库提供了访问底层网络接口的能力,从而可以获取包括...
### Java 获取客户端 IP 和 MAC 地址 在Java Web开发中,有时我们需要获取客户端的IP地址甚至是MAC地址,以便进行安全验证、用户行为追踪等操作。本文将详细介绍如何通过Java来实现这一功能。 #### 一、获取客户端...
【JAVA/JSP论坛】是一个基于JAVA技术和JSP(JavaServer Pages)开发的在线讨论平台,它为用户提供了丰富的交互功能,让开发人员可以在此基础上进行二次开发或学习。这个论坛系统不仅展示了JAVA和JSP技术在实际应用中...
Java/JSP多功能上传下载模块是Web开发中常见的一种功能组件,尤其在企业级应用和网站中,用于处理用户上传文件(如图片、文档等)和下载资源的需求。本模块提供了完善的解决方案,支持多文件上传和下载,使得用户...
JAVA/JSP 英文参考文献及翻译 JAVA/JSP 方面通用的英文参考文献及翻译是 IT 行业中一个非常重要的知识点。下面我们将从技术发展历史、JSP 技术特点、JSP 和数据库相关知识、JavaBean 相关内容等几个方面来详细介绍 ...
获取客户端IP地址、浏览器版本和操作系统信息在JSP中的实现方法 在JSP中,获取客户端的IP地址、浏览器版本和操作系统信息是非常重要的。通过使用HttpServletRequest对象,我们可以获取到客户端的相关信息。 获取...
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core],解决办法:WEB/INF的lib下,除了导入jstl.jar包,还要导入standard.jar包。另外,解压standard.jar包,把.tld文件...
JSP文件被Web服务器解析成Servlet(Java类),然后由Servlet容器执行。JSP的主要元素包括指令(directives)、脚本元素(scriptlets)、表达式(expressions)和声明(declarations)。通过JSP,开发者可以轻松地...
Java,运用了多线程内部执行,不影响其他登录验证操作。在Controller类获取客户端的IP地址的方法是:request....所以我们这里添加了条件验证,将客户端IP及Mac地址(同网段)与本地本地IP及Mac地址方法分开。
标题中的“Oracle+java+jsp BS/CS 管理系统客户端源代码”指的是一个基于Oracle数据库、Java编程语言和JSP(Java Server Pages)技术开发的管理系统的客户端部分的源代码。这样的系统通常用于构建B/S(Browser/...
### JSP 获取客户端IP地址的方法详解 #### 一、引言 在Web开发中,获取客户端的IP地址是一项常见的需求。这通常用于日志记录、地理位置定位、安全控制等多种应用场景。对于使用Java Server Pages (JSP) 的开发者来...
2.JFreeChart:Java 图形解决方案(Application/Applet/Servlet/Jsp) 3.JCommon :JFreeReport和JFreeChart的公共类库 4.JFreeDesigner :JFreeReport的报表设计工具 我们可以从jfree官方网站上获取最新版本和...
本实例将关注在Mac环境下,通过JSP(JavaServer Pages)来获取客户端MAC地址的方法。 首先,了解JSP的基础知识是必要的。JSP是一种动态网页开发技术,由Sun Microsystems(现为Oracle公司)推出,用于构建基于Java...
【标题】:“图书馆管理系统Java/CS架构”是一个项目,它采用了经典的客户端-服务器(Client-Server,简称CS)架构,利用Java编程语言进行开发,并且与SQL Server 2000数据库系统相结合,实现了图书馆管理的基本功能...
【jsp 邮件客户端】是一个基于JavaMail和JSP技术构建的应用,它允许用户进行邮件的收发,并且具备富文本显示和搜索功能。在本文中,我们将深入探讨这个客户端实现的核心技术和涉及的关键概念。 首先,让我们了解**...
### JSP 页面获取客户端真实 IP 的方法 在 IT 领域中,了解客户端的真实 IP 地址对于网站统计、安全防护以及个性化推荐等方面都非常重要。由于互联网中的 HTTP 请求经常通过代理服务器转发,因此直接使用 `request....
在Java Web环境中,客户端编程通常与Servlets、JSP(JavaServer Pages)、AJAX(异步JavaScript和XML)等技术相结合,以实现数据的实时更新和页面的无刷新加载。 本资料集包含了关于Java Web应用客户端编程的一些...
### jsp客户端上传文件知识点详解 #### 一、文件上传的基本概念 文件上传是指将用户在客户端选择的文件传输到服务器端的过程。在Web开发中,这是一个常见的需求,尤其是在涉及图片、文档等多媒体资料的应用场景中...
【JAVA和JSP面试常见问题解析】 1. **Struts工作原理** Struts是一个用于构建Java Web应用程序的MVC框架。它的工作流程主要包括: - **Controller Servlet**:作为入口点,接收并转发用户的请求至相应的Action...