[发明专利]一种获得客户端地址的方法及装置有效
| 申请号: | 201910261947.0 | 申请日: | 2019-04-02 |
| 公开(公告)号: | CN110198251B | 公开(公告)日: | 2022-08-02 |
| 发明(设计)人: | 闵江涛 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | H04L43/08 | 分类号: | H04L43/08;H04L69/22;H04L69/16 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘;李娟 |
| 地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 获得 客户端 地址 方法 装置 | ||
本发明实施例提供了一种获得客户端地址的方法及装置,涉及数据传输技术领域,该方法包括:监测网络接口接收的数据流,根据过滤规则从数据流中确定目标数据包,目标数据包是由所述中间服务器转发的。在目标数据包为网络连接请求包时,解析网络连接请求包首部的TOA字段,获得客户端地址,从而避免因中间服务器隐藏客户端地址,使得业务服务器无法直接获得客户端地址的问题。其次,由于监测业务服务器的网络接口获得数据流,从数据流中获得目标数据包,故获得客户端地址的流程独立于业务服务器实际的业务流程,不需要改变业务服务器的业务逻辑,从而不影响正常业务的运行。另外也不需要对底层协议栈进行深度改造,对系统没有依赖性。
技术领域
本发明实施例涉及数据传输技术领域,尤其涉及一种获得客户端地址的方法及装置。
背景技术
目前,很多网络服务商需要获取客户端的真实互联网协议地址(InternetProtocol Address,简称IP地址)和端口(Port),用于对业务策略进行制定以及优化。另外,客户端的IP和Port信息作为基本的统计数据,对线上业务运营的监控和评估具有非常重要的意义。业务服务器可以通过应用程序编程接口(Application Programming Interface,简称API)直接获取客户端地址,但是当业务服务器前侧添加了代理服务器,代理服务器会将客户端地址隐藏,然后将代理服务器的地址发送至业务服务器,此时采用API直接获取的代理服务器地址,而不是客户端地址。
发明内容
由于当代理服务器转发客户端的数据包时,隐藏了客户端地址,导致业务服务器无法直接获取客户端地址的问题,本发明实施例提供了一种获得客户端地址的方法及装置。
一方面,本发明实施例提供了一种获得客户端地址的方法,包括:
监测网络接口接收的数据流;
根据过滤规则从所述数据流中确定目标数据包,所述目标数据包是由所述中间服务器转发的;
在所述目标数据包为网络连接请求包时,解析所述网络连接请求包首部的TOA字段,获得客户端地址。
一方面,本发明实施例提供了一种获得客户端地址的装置,包括:
监测模块,用于监测网络接口接收的数据流;
过滤模块,用于根据过滤规则从所述数据流中确定目标数据包,所述目标数据包是由所述中间服务器转发的;
解析模块,用于在所述目标数据包为网络连接请求包时,解析所述网络连接请求包首部的TOA字段,获得客户端地址。
可选地,还包括控制模块;
所述控制模块,用于从所述目标数据包中获取中间服务器的地址;以所述中间服务器的地址为索引,将所述中间服务器的地址和所述客户端地址对应保存至哈希表中。
可选地,所述控制模块还用于,接收查询指令,所述查询指令携带中间服务器的地址;
根据所述中间服务器的地址查询所述哈希表,获得对应的客户端地址;
将获得的客户端地址发送至查询端。
可选地,所述控制模块还用于,在所述目标数据包为网络断开请求包时,以所述中间服务器的地址为索引,查询获得所述哈希表中对应的客户端地址;
删除查询获得的客户端地址。
可选地,所述控制模块还用于,以所述中间服务器的地址为索引,将所述中间服务器的地址和所述客户端地址的时间信息保存至老化表中。
可选地,所述控制模块还用于,定期扫描所述老化表中每个客户端地址的时间信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910261947.0/2.html,转载请声明来源钻瓜专利网。





