wap复杂不受控的网络环境下取IP的方法

1. 对网页真实网络环境分析

理想情况下,若网络跟踪通行,那么所有的代理网关的IP都会被带到x-forwarded-for中,但目前看来很多网络中断了网络跟踪,所以x-forwarded-for中并不是完整的网络路径,故需针对网络进行header属性分析,希望能分析出真实IP的地址

详细分析过程见附件《headers日志分析方案》,《headers分析》

在手机网络中与IP相关的属性如下:

clientip:UC记录的客户端IP,有可能是内网,若是外网的话是比较准确的客户端IP

x-forwarded-for:它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项

x-source-id:网关GPRS支持节点参数,表示连接模式,一般是本地局域网IP,若是外网IP的话可以认为是当前手机的第一个网关

x-huawei-sgsnip:GPRS服务节点(SGSN)的IP,若是外网IP则跟x-source-id相同,当x-source-id是内网IP的时候x-huawei-sgsnip依然是网关IP,可作为x-source的补充

x-nx-remoteip:nginx代理的remoteip,从分析的数据来看其全都是内网IP,并且当这个参数有值的时候x-source-id必有值,不用分析此属性

forwarded:x-forwarded-for不规则的属性,带有for=字符,并且带端口,从目前看来跟x-forwarded-for一样,不用分析此属性

x-huawei-nasip:华为的网络存储(NAS)IP,有内网也有外网IP,当这个参数有值的时候x-source-id必有值,并且其值和x-source-id的值完全一致,有些x-source-id是字符串(radius,SZ_GGSN5…)的地方,其值为IP,分析这些IP发现都是网关IP,可以与x-source-id,x-huawei-sgsnip互补

cdn-src-ip:网宿的内容分发网络参数,全是外网IP,并且都是移动网关,网宿已经有公告,通过其CDN的要取得真实IP就取这个值,有cdn的时候x-source-id,x-nx-remoteip,

x-huawei-nasip都没有值

x-real-ip:经过nginx等反向代理软件后,此头被nginx带上,大部分是内网IP,若配置了此值会带到x-forwarded-for中,若没带从此处取值作为客户端IP

x-surfcache-for:冲浪缓存参数,出现此值clientip全是内网,并且此属性全是网关IP,从地域上来看都是宁夏移动的,估计宁夏移动采用此作为内容缓存

x-wisetc-param-ip:具体意义未知,但从分析来看此字段有值的IP都是广东省的IP,询问运维后发现都是咱们公司自己的IP,应该是我们系统带上的,不用分析此属性

x_forwarded_for:x-forwarded-for不规则的属性,可以与x-forwarded-for互补

x-pdsn-id:有IP有字符串,当是IP的时候跟x-source-id的IP是一致的,可以不用分析此属性

x-forwarded-for2:用于补充x-forwarded-for,从分析数据看当此属性有值的时候,clientip全都是221.179.9.69

x-public-address:公共地址,现在看来全是221.179.9.72:8000,而且其有值则x-forwarded-for2必有值,只用分析x-forwarded-for2即可,此属性不用分析

request.getRemoteAddr():根据TCP/IP协议规范由客户端发送的数据包中包含的客户端IP,此IP是与服务器直接通信的IP,若不是通过网络代理,网络缓存的话此IP可以表示客户端IP,但若进过多层代理,此IP就不是客户端IP,有可能取得的是内网IP

 

2. 对复杂不受控网络环境取真实IP的步骤

具体取真实IP的流程图如下:



在我的博客资源中提供此工具类,欢迎大家下载:http://download.csdn.net/detail/luo_yifan/6758867



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值