`

追踪应用客户端IP

 
阅读更多
参考:
http://www.knowsky.com/532527.html

方法一:
public String getRemortIP(HttpServletRequest request) {  
    if (request.getHeader("x-forwarded-for") == null) {  
        return request.getRemoteAddr();  
    }  
    return request.getHeader("x-forwarded-for");  
} 


方法二:
public 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.getRemoteAddr();  
    }  
    return ip;  
} 



/*
    在jsp里,获取客户端的ip地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用了反向代理软件,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实IP。

  经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息。用以跟踪原有的客户端IP地址和原来客户端请求的服务器地址。当我们访问index.jsp/时,其实并不是我们浏览器真正访问到了服务器上的index.jsp文件,而是先由代理服务器去访问index.jsp ,代理服务器再将访问到的结果返回给我们的浏览器,因为是代理服务器去访问index.jsp的,所以index.jsp中通过request.getRemoteAddr()的方法获取的IP实际上是代理服务器的地址,并不是客户端的IP地址。

    可是,如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,究竟哪个才是真正的用户端的真实IP呢?

  答案是取X-Forwarded-For中第一个非unknown的有效IP字符串。如:
X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100
用户真实IP为: 192.168.1.110

*/



也可以通过tomcat或者apache的配置,查看log信息中的ip

追踪IP,在dos窗口:




  • 大小: 5.8 KB
分享到:
评论

相关推荐

    google-measurement-php-client:PHP客户端通过Google Measurement Protocol将分析数据发送到Google Analytics(分析)

    GA追踪 主: ...班级特色 阵列配置 异步/多请求 SSL支持(非默认-设置选项) 适配器支持(插槽) 测验 ...客户端IP地址 客户用户代理 快速开始 通过Composer安装 运行以下Composer命令以安装此软件包

    TCPIP高效编程:改善网络程序的44个技巧 PDF中文版带书签-目录

    3.15 技巧29:不要将IP地址或端口号硬编入应用程序中 182 3.16 技巧30:理解已连接的UDP套接字 187 3.17 技巧31:记住,并不是所有程序都是用C编写的 190 3.18 技巧32:理解缓冲区长度带来的影响 195 第4章 工具...

    cryptotracker:废话追踪您的硬币

    服务器端渲染的React应用程序,该应用程序已预先填充了服务器上的数据,并使用localstorage / WebSQL / IndexedDB在客户端进行了重新水化处理。 使用Websocket将价格更新推送到前端,并使用IP映射将客户端分配给...

    大学生计算机网络课程设计实验报告.zip

    本次计算机网络课程设计的实验目的是通过实践掌握计算机网络的基本原理和技术,深入了解TCP/IP协议栈的工作原理,提高网络编程和网络应用能力。 二、实验环境 1. 硬件环境:PC机、路由器、交换机等; 2. 软件环境:...

    大学生计算机网络课程设计实验报告.docx

    本次计算机网络课程设计的实验目的是通过实践掌握计算机网络的基本原理和技术,深入了解TCP/IP协议栈的工作原理,提高网络编程和网络应用能力。 二、实验环境 1. 硬件环境:PC机、路由器、交换机等; 2. 软件环境:...

    cfollow:车辆追踪系统

    cfollow “跟随”是一种车辆跟踪系统,包括中央服务器,隐藏在要跟踪的车辆中的客户端设备以及Web应用程序,车辆所有者可以在其中监视跟踪数据。 客户端使用GPS记录GPS地理位置,并使用Web API通过WiFi将其发送到...

    管理信息系统数据库安全体系设计(1).doc

    管理信息系统数据库安全...这 就需要对资金记录进行历史追踪,通过在客户端程序和数据库触发器中设置控制程序追踪 记录,以解决对疑义数据的分析和用户操作的日志查询。 记录的内容一般包括:操作类型(如修改、查询、删除

    antiarp5.0.1百度合作版

    [修复] 解决追踪攻击者IP时可能出现误差的问题 4. [修复] 解决安装过程中出现3001错误的问题 5. [修复] 解决合作版与FireFox兼容性的问题 6. [修复] 解决误报H3C 802.1X客户端对外攻击的问题 7. [优化] 其它...

    IOC-Tagging:从开源列表中收集网络IOC,并将它们组合成一个统一的可搜索界面

    外星人的声望新兴威胁者新兴威胁入侵的ips 新兴威胁新兴威胁新兴威胁新兴机器人新兴威胁新兴威胁spamhaus 恶意软件域列表ips 恶意软件域列表...器宙斯追踪器受SRI感染的客户端SRI恶意软件要求(Ubuntu 14.04 LTS)...

    《WINDOWS网络编程技术》

    覆盖Windows 95/98/NT 4/2000/CE平台,内容包括NetBIOS和Windows重定向器方法、Winsock方法、客户端远程访问服务器方法,本书论述深入浅出、用大量实例详解了微软网络API函数的应用。目录--------------------------...

    vss如何使用(图解)

    Visual SourceSafe 是一种仅用于客户端的文件服务器应用程序,不需要服务器端处理或代码执行。 1.1 VSS中的文件 当你要修改某个文档时,需要先从数据库中将它签出(check out),或者告诉VSS你要编辑该文档。VSS会...

    Spring Cloud Finchley SR2全套(集成Spring Gateway)

    /* 对每个缓存空间应用不同的配置 */ Map, RedisCacheConfiguration> configMap = new HashMap(); configMap.put(BaseGlobal.CACHE_WEB_USER, config.setDelay(true));//自动延期 默认为true //configMap.put...

    visual source safe 教程

    4) 添加TCP/IP、NETBEUI、IPX/SPX协议; 5) 重新启动计算机,登录“planning”域; 注:管理员为每位NT用户设置的登录密码为“111”,用户在第一次登录时,计算机会提示用户修改密码。 6) 从“网上邻居”的...

    Visual stdio source safe 教程

    4) 添加TCP/IP、NETBEUI、IPX/SPX协议; 5) 重新启动计算机,登录“planning”域; 注:管理员为每位NT用户设置的登录密码为“111”,用户在第一次登录时,计算机会提示用户修改密码。 6) 从“网上邻居”的...

    Oracle 主要配置文件介绍

    其缺省的名称为 LISTENER 这个监听器缺省以tcp/ip为协议地址且端口号为1521运行 在CAMS应用中 监听文件定义的监听器就使用这个缺省名字 并且使用缺省的协议 tcp/ip 和缺省的端口号 1521 待配置好监听文件...

Global site tag (gtag.js) - Google Analytics