`
wxb880114
  • 浏览: 683462 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

获取客户端Ip地址网上方案总结

 
阅读更多
客户端:

<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;
      }
}
分享到:
评论

相关推荐

    JS获取客户端IP地址及MAC地址(转)

    在JavaScript中,获取客户端IP地址和MAC地址是一个相对复杂的过程,因为JavaScript的浏览器安全限制不允许直接访问客户端的MAC地址。然而,我们可以通过一些间接的方法来获取客户端的IP地址。在这个场景下,`...

    java非常强的获取客户端真实IP的两种方法

    当请求经过反向代理时,这个字段会包含原始客户端IP地址的信息。以下是一个简单的示例代码: ```java public String getRealIP(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for");...

    jsp获取客户端IP地址的方法.docx

    ### JSP 获取客户端IP地址的方法详解 #### 一、引言 在Web开发中,获取客户端的IP地址是一项常见的需求。这通常用于日志记录、地理位置定位、安全控制等多种应用场景。对于使用Java Server Pages (JSP) 的开发者来...

    获取客户端真实IP(支持代理服务器)

    在这种情况下,原始的客户端IP地址信息被记录在HTTP请求头中的`X-Forwarded-For`字段里。 #### 三、解决方案 为了准确获取客户端的真实IP地址,我们可以采用以下几种方法: ##### 方法一:基本实现 首先,检查...

    在ASP中获取客户端MAC地址的方法

    ASP 获取客户端 MAC 地址方法详解 本资源摘要信息将详细介绍在 ASP 中获取客户端 MAC 地址的方法,该方法使用了 arp 命令来读取特定 IP 的 MAC ...但是,该方法可以为开发者提供一个获取客户端 MAC 地址的解决方案。

    IIS日志中获取访客真实IP的解决方案

    在网络环境中,获取客户端的真实IP地址对于安全审计、流量分析等非常重要。然而,在使用负载均衡器(如HAProxy)的情况下,直接从后端服务器(例如运行IIS的服务器)的日志文件中获取客户端的真实IP可能会变得复杂,...

    获取客户端网卡MAC地址和IP地址的几种方法.doc

    ### 获取客户端网卡MAC地址和IP地址的几种方法 #### 概述 在开发B/S架构的应用程序时,为了确保用户的身份验证准确性以及追踪管理的需求,开发者常常需要获取客户端计算机的MAC地址和IP地址等信息。传统的做法是在...

    获取客户端ip

    ### 获取客户端真实IP地址 在Web开发中,获取客户端的真实IP地址是一项常见的需求。尤其是在存在代理服务器的情况下,传统的`request.getRemoteAddr()`方法可能无法直接获取到客户端的真实IP地址。本文将详细介绍...

    .net 获取客户端mac地址

    总结来说,.NET中直接获取客户端MAC地址是一项挑战,需要权衡技术实现和隐私保护之间的平衡。通常,除非在特定的受控环境中,否则不应依赖这种方法来识别客户端。在大多数情况下,使用其他标识符(如IP地址、Cookie...

    C#(WPF)获取本地IP地址 C#编程

    总结一下,本文介绍了如何在C# WPF应用中获取本地IP地址,通过`System.Net.NetworkInformation`命名空间的`Dns`类和`NetworkInterface`类来实现这一功能。同时,我们还展示了如何将这个功能与UI交互,使得用户能够...

    js 客户端 mac ip 地址

    在Web开发中,获取客户端IP地址相对简单,可以通过多种方式实现,例如利用HTTP请求头中的`X-Forwarded-For`或`REMOTE_ADDR`字段,或者通过第三方库和API来获取。然而,由于隐私和安全原因,现代浏览器并不直接支持在...

    js获取客户端网卡的IP地址、MAC地址

    从提供的文件内容来看,文件主要讨论了如何使用JavaScript来获取客户端网卡的IP地址和MAC地址。这个过程需要借助Windows提供的COM组件,通过ActiveX对象和WMI(Windows Management Instrumentation)接口实现。以下...

    php 获取IP地址

    在Web开发过程中,获取客户端IP地址是一项常用的功能。通过IP地址,我们可以实现访问统计、地理位置识别、安全控制等多种应用场景。本文将详细介绍如何使用PHP语言来获取客户端的真实IP地址。 #### 一、环境与概念...

    js获取客户端ip的简单实例

    总结来说,获取客户端IP地址的方法多种多样,有的方法依赖特定浏览器技术,有的则依赖第三方服务。由于安全性和隐私保护的原因,浏览器限制了获取用户真实IP地址的能力,因此开发者在处理IP地址相关功能时需要考虑到...

    DHCP中获取不到IP地址解决方法

    在日常的网络维护工作中,我们经常会遇到客户端无法通过DHCP服务自动获取IP地址的问题。这种情况不仅会影响用户的正常使用,也会增加网络管理员的工作负担。本文将详细介绍导致这一问题的原因及相应的解决方法。 ##...

    获取真实IP

    3. **Web框架内置功能**:如Django、Flask等提供了获取客户端IP的方法,但默认实现可能未充分考虑多层代理情况。 #### 三、解决方案 1. **深入理解代理协议**:了解常见的代理协议(如HTTP代理、SOCKS5等)及其...

    Python使用django获取用户IP地址的方法

    本篇文章将详细讲解如何在Django中获取用户的IP地址,并探讨在实际应用中可能遇到的问题及其解决方案。 首先,我们要了解在Django中获取用户IP的基本方法。通常,用户请求的信息会通过HTTP协议传递到服务器,其中就...

    web javaScript 获取终端ip 获取本地ip 获取本机ip地址,403报错解决方案

    本文将通过一个简化的 AJAX 请求框架,深入探讨网络请求的核心原理,并重点介绍如何利用 JavaScript 动态获取客户端 IP 地址以及解决常见的 403 错误问题。这不仅适用于大前端开发工程师,对于网络安全研发人员同样...

    PHP 显示客户端IP与服务器IP的代码

    首先,我们关注如何获取客户端IP地址。在PHP中,通常使用`$_SERVER['REMOTE_ADDR']`来获取客户端的IP地址。此全局变量包含远程客户端的IP地址,当用户通过HTTP协议访问网页时,服务器会记录这个值。然而,如果用户...

    CDN获取真实IP

    在使用CDN的情况下,服务器接收到的客户端IP地址实际上是CDN节点的IP地址。可以通过特定的Nginx配置来获取客户端的真实IP地址: ```nginx http { proxy_set_header X-Real-IP $remote_addr; proxy_set_header ...

Global site tag (gtag.js) - Google Analytics