客户端:
<script language="javascript">
xml = new ActiveXObject("Microsoft.XMLHTTP");
xml.open("GET", "http://www.ip138.com/ip2city.asp", false);
xml.send();
kk = xml.ResponseText;
i = kk.indexOf("[");
ie = kk.indexOf("]");
ip = kk.substring(i + 1, ie);
document.write("您的外网IP地址是:" + ip );
</script>
<script type="text/javascript">
function GetLocalIPAddress()
{
var obj = null;
var rslt = "";
try
{
obj = new ActiveXObject("rcbdyctl.Setting");
rslt = obj.GetIPAddress;
obj = null;
}
catch(e)
{
//异常发生
}
return rslt;
}
document.write("你的IP是:" + GetLocalIPAddress());
</script>
服务器端:
Servlet获取客户端的IP与MAC地址
.
{收藏}
public class CheckMACandIP extends HttpServlet {
public CheckMACandIP() {
super();
}
public void destroy() {
super.destroy();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String ip = getRemoteAddress(request);
System.out.println(ip);
System.out.println(getMACAddress(ip));
}
public void init() throws ServletException {
}
public String getRemoteAddress(HttpServletRequest request){
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) ip = request.getHeader("Proxy-Client-IP");
if(ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) ip = request.getHeader("WL-Proxy-Client-IP");
if(ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) ip = request.getRemoteAddr();
return ip;
}
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 < 100; i++) {
str = input.readLine();
if (str != null) {
if (str.indexOf("MAC Address") > 1) {
macAddress = str.substring(str.indexOf("MAC Address") + 14, str.length());
break;
}
}
}
} catch (IOException e) {
e.printStackTrace(System.out);
}
return macAddress;
}
}
分享到:
相关推荐
在JavaScript中,获取客户端IP地址和MAC地址是一个相对复杂的过程,因为JavaScript的浏览器安全限制不允许直接访问客户端的MAC地址。然而,我们可以通过一些间接的方法来获取客户端的IP地址。在这个场景下,`...
当请求经过反向代理时,这个字段会包含原始客户端IP地址的信息。以下是一个简单的示例代码: ```java public String getRealIP(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for");...
### JSP 获取客户端IP地址的方法详解 #### 一、引言 在Web开发中,获取客户端的IP地址是一项常见的需求。这通常用于日志记录、地理位置定位、安全控制等多种应用场景。对于使用Java Server Pages (JSP) 的开发者来...
在这种情况下,原始的客户端IP地址信息被记录在HTTP请求头中的`X-Forwarded-For`字段里。 #### 三、解决方案 为了准确获取客户端的真实IP地址,我们可以采用以下几种方法: ##### 方法一:基本实现 首先,检查...
ASP 获取客户端 MAC 地址方法详解 本资源摘要信息将详细介绍在 ASP 中获取客户端 MAC 地址的方法,该方法使用了 arp 命令来读取特定 IP 的 MAC ...但是,该方法可以为开发者提供一个获取客户端 MAC 地址的解决方案。
在网络环境中,获取客户端的真实IP地址对于安全审计、流量分析等非常重要。然而,在使用负载均衡器(如HAProxy)的情况下,直接从后端服务器(例如运行IIS的服务器)的日志文件中获取客户端的真实IP可能会变得复杂,...
### 获取客户端网卡MAC地址和IP地址的几种方法 #### 概述 在开发B/S架构的应用程序时,为了确保用户的身份验证准确性以及追踪管理的需求,开发者常常需要获取客户端计算机的MAC地址和IP地址等信息。传统的做法是在...
### 获取客户端真实IP地址 在Web开发中,获取客户端的真实IP地址是一项常见的需求。尤其是在存在代理服务器的情况下,传统的`request.getRemoteAddr()`方法可能无法直接获取到客户端的真实IP地址。本文将详细介绍...
总结来说,.NET中直接获取客户端MAC地址是一项挑战,需要权衡技术实现和隐私保护之间的平衡。通常,除非在特定的受控环境中,否则不应依赖这种方法来识别客户端。在大多数情况下,使用其他标识符(如IP地址、Cookie...
在Web开发中,获取客户端IP地址相对简单,可以通过多种方式实现,例如利用HTTP请求头中的`X-Forwarded-For`或`REMOTE_ADDR`字段,或者通过第三方库和API来获取。然而,由于隐私和安全原因,现代浏览器并不直接支持在...
从提供的文件内容来看,文件主要讨论了如何使用JavaScript来获取客户端网卡的IP地址和MAC地址。这个过程需要借助Windows提供的COM组件,通过ActiveX对象和WMI(Windows Management Instrumentation)接口实现。以下...
在Web开发过程中,获取客户端IP地址是一项常用的功能。通过IP地址,我们可以实现访问统计、地理位置识别、安全控制等多种应用场景。本文将详细介绍如何使用PHP语言来获取客户端的真实IP地址。 #### 一、环境与概念...
总结来说,获取客户端IP地址的方法多种多样,有的方法依赖特定浏览器技术,有的则依赖第三方服务。由于安全性和隐私保护的原因,浏览器限制了获取用户真实IP地址的能力,因此开发者在处理IP地址相关功能时需要考虑到...
在日常的网络维护工作中,我们经常会遇到客户端无法通过DHCP服务自动获取IP地址的问题。这种情况不仅会影响用户的正常使用,也会增加网络管理员的工作负担。本文将详细介绍导致这一问题的原因及相应的解决方法。 ##...
3. **Web框架内置功能**:如Django、Flask等提供了获取客户端IP的方法,但默认实现可能未充分考虑多层代理情况。 #### 三、解决方案 1. **深入理解代理协议**:了解常见的代理协议(如HTTP代理、SOCKS5等)及其...
本篇文章将详细讲解如何在Django中获取用户的IP地址,并探讨在实际应用中可能遇到的问题及其解决方案。 首先,我们要了解在Django中获取用户IP的基本方法。通常,用户请求的信息会通过HTTP协议传递到服务器,其中就...
本文将通过一个简化的 AJAX 请求框架,深入探讨网络请求的核心原理,并重点介绍如何利用 JavaScript 动态获取客户端 IP 地址以及解决常见的 403 错误问题。这不仅适用于大前端开发工程师,对于网络安全研发人员同样...
首先,我们关注如何获取客户端IP地址。在PHP中,通常使用`$_SERVER['REMOTE_ADDR']`来获取客户端的IP地址。此全局变量包含远程客户端的IP地址,当用户通过HTTP协议访问网页时,服务器会记录这个值。然而,如果用户...
在使用CDN的情况下,服务器接收到的客户端IP地址实际上是CDN节点的IP地址。可以通过特定的Nginx配置来获取客户端的真实IP地址: ```nginx http { proxy_set_header X-Real-IP $remote_addr; proxy_set_header ...
当终端设备尝试获取IP地址时,DHCP Snooping会在非信任端口上拦截所有DHCP请求,并仅允许来自合法DHCP服务器的响应。 #### 配置实例 以下是一个具体的配置实例,展示了如何在一个Cisco设备上启用DHCP Snooping功能...