一种实现天窗代理的方法及设备与流程

文档序号:26403081发布日期:2021-08-24 16:16阅读:49来源:国知局
一种实现天窗代理的方法及设备与流程

本申请涉及通信技术,特别涉及一种实现天窗代理的方法及设备



背景技术:

随着互联网的快速发展,各种智能通信设备、智能家居设备都需要通过配置的ipv4地址接入互联网。但是,ipv4地址资源有限,需要升级至具有更大地址空间的ipv6地址。

但是,在ipv4升级ipv6的过程中,当ipv6用户访问的ipv6网站包含的外链,即其他网站的链接,这些链接并未进行ipv6升级改造,仍使用ipv4地址,就会出现部分内容无法显示、部分功能无法使用等的情况,该问题就称为天窗问题。为解决天窗问题,用户访问ipv6网站发送ipv6请求,天窗代理设备将请求转发至ipv6网站所在服务器;ipv6网站服务器应答请求,发送带有ipv4外链的应答报文,天窗代理设备将应答转发给用户并发送天窗代理改写脚本;用户收到ipv6应答,执行收到的天窗代理改写脚本,对应答中包含的外链进行改写,发起改写后外链的ipv6请求;天窗代理设备收到外链的ipv6请求,发现外链有天窗代理改写脚本改写的标记,需要进行天窗代理流程,还原改写后的外链,并向相应的dns服务器发起ipv4请求,请求该外链所在服务器的ipv4地址;天窗代理设备收到dns服务器发送的应答后,向应答中的ipv4地址发起ipv4请求;外链所在ipv4地址服务器收到请求,发送ipv4应答报文,天窗代理设备将ipv4应答转发给用户,实现天窗代理,使用户接收的页面显示正常。但是该方案存在问题在于,部分外链url(uniformresourcelocator,统一资源定位系统地址)不是在ipv6应答报文的静态页面中,而是通过动态生成的,天窗代理改写脚本无法及时改写动态完成的外链,用户浏览器发送不带有改写标记的动态生成的外链请求,使得天窗代理设备就无法向外链所在的ipv4地址服务器发送代理请求,导致仍存在天窗问题。



技术实现要素:

本申请的目的提供一种实现天窗代理的方法及设备,避免浏览器发送不带有改写标记的外链请求。

为实现上述目的,本申请提供了一种实现天窗代理的方法,方法包括:天窗代理设备接收来自ipv6服务器的ipv6应答报文;

天窗代理设备接收来自ipv6服务器的ipv6应答报文;将带有地址组成信息的指定跳转字段修改为带有地址组成信息的指定目标字段;将修改后ipv6应答报文和天窗代理改写脚本发送给客户端;

客户端接收修改后ipv6应答报文,客户端运行的浏览器确定指定目标字段为不可识别字段;客户端运行的天窗代理脚本确定修改后ipv6应答报文具有指定目标字段且及指定目标字段带有的地址组成信息已被触发修改为ipv4统一资源定位系统地址,将ipv4统一资源定位系统地址改写为具有天窗标记的改写ipv4统一资源定位系统地址。

为实现上述目的,本申请还提供了一种实现天窗代理的设备,该设备可以应用为客户端,该设备包括处理器以及存储器;存储器用于存储处理器可执行指令;处理器通过运行存储器中的处理器可执行指令用以执行以下处理:

接收来自天窗代理设备的修改后ipv6应答报文和天窗代理改写脚本;其中,修改后ipv6应答报文中带有地址组成信息的指定跳转字段;

运行浏览器以确定指定目标字段为不可识别字段;

运行天窗代理脚本以确定修改后ipv6应答报文具有指定目标字段且及指定目标字段带有的地址组成信息已被触发修改为ipv4统一资源定位系统地址,将ipv4统一资源定位系统地址改写为具有天窗标记的改写ipv4统一资源定位系统地址。

为实现上述目的,本申请还提供了一种实现天窗代理的设备,该设备可以应用为天窗代理设备,该设备包括处理器以及存储器;存储器用于存储处理器可执行指令;处理器通过运行存储器中的处理器可执行指令用以执行以下处理:接收来自ipv6服务器的ipv6应答报文;将将带有地址组成信息的指定跳转字段修改为带有地址组成信息的指定目标字段;将修改后ipv6应答报文和天窗代理改写脚本发送给客户端,以使得客户端运行浏览器确定指定目标字段为不可识别字段;客户端运行的天窗代理脚本确定修改后ipv6应答报文具有指定目标字段且及指定目标字段带有的地址组成信息已被触发修改为ipv4统一资源定位系统地址,将ipv4统一资源定位系统地址改写为具有天窗标记的改写ipv4统一资源定位系统地址。

本申请的有益效果在于,通过天窗代理设备修改ipv6应答报文的跳转字段为指定目标字段,使得浏览器无法识别修改后ipv6应答报文的指定目标字段而不能发送不带有改写标记的外链请求,而客户端运行天窗代理脚本由指定目标字段触发改写ipv4的url地址,从而能够使天窗代理设备根据天窗标记发起天窗代理。

附图说明

图1为本申请提供的实现天窗代理方法实施例的流程图;

图2为本申请提供的实现天窗代理设备实施例的示意图;

图3为本申请提供的实现天窗代理的另一设备实施例的示意图。

具体实施方式

将以多个附图所示的多个例子进行详细说明。在以下详细描述中,多个具体细节用于提供对本申请的全面理解。实例中没有详细地描述已知的方法、步骤、组件以及电路,以免使这些例子的难于理解。

使用的术语中,术语“包括”表示包括但不限于;术语“含有”表示包括但不限于;术语“以上”、“以内”以及“以下”包含本数;术语“大于”、“小于”表示不包含本数。术语“基于”表示至少基于其中一部分。

图1所示为本申请提供的实现代理的方法的流程图,该方法包括:

步骤101,天窗代理设备接收来自ipv6服务器的ipv6应答报文;

步骤102,天窗代理设备将带有地址组成信息的指定跳转字段修改为带有地址组成信息的指定目标字段;

步骤103,天窗代理设备将修改后ipv6应答报文和天窗代理改写脚本发送给客户端;

步骤104,客户端接收修改后ipv6应答报文;

步骤105,客户端运行的浏览器确定指定目标字段为不可识别字段;

步骤106,客户端运行的天窗代理脚本确定修改后ipv6应答报文具有指定目标字段且及指定目标字段带有的地址组成信息已被触发修改为ipv4统一资源定位系统地址,将ipv4统一资源定位系统地址改写为具有天窗标记的改写ipv4统一资源定位系统地址。

用户通过客户端运行的浏览器发起http请求后,天窗代理设备接收服务器发送的ipv6应答报文,检查ipv6应答报文中是否包含需要特殊处理的指定跳转字段,不包含需要特殊处理的跳转字段时,不对应答报文做处理,将应答报文转发给用户的客户端。

天窗代理设备检查ipv6应答报文包含需要特殊处理的指定跳转字段时,查找需要特殊处理的跳转字段在原应答报文中的第一个位置;从应答报文开始位置,拷贝应答报文数据直到指定跳转字段位置,之后替换跳转字段为“指定目标字段”;继续拷贝应答报文数据,直到ipv6应答报文结束位置。

譬如,天窗代理设备检查收到ipv6应答报文中包含的如下静态javascript脚本包括如下内容:

host=“www.abc.com”;

path=“/web/1.jpg”;

window.location.href=“http://”+host+path;

anythingelse;(该行是应答的其他内容)

其中,”window.location.href”的作用是浏览器执行到该字段,会将当前窗口跳转至赋值的url,该脚本希望用户在浏览器的操作触发执行到该部分时,跳转至http://www.abc.com/web/1.jpg页面。脚本中的host和path可根据编程方式自行设置,而脚本中的www.abc.com和“/web/1.jpg”根据所需要的访问的网址而变化。

用户客户端通过浏览器访问该网站a,天窗代理设备收到来自客户端的访问请求并转发给a网站所在服务器,服务器发送ipv6应答报文至天窗代理设备。

天窗代理设备通过检查发现应答中包含指定跳转字段“window.location.href”,先拷贝ipv6应答报文中的”host=“www.abc.com”;path=“/web/1.jpg”;,再拷贝指定目标字段”window.lb_location.href”,之后拷贝”=“http://”+host+path;anythingelse;”到ipv6应答报文的结束位置。天窗代理设备修改后的ipv6应答报文即”host=“www.abc.com”;path=“/web/1.jpg”,window.lb_location.href=“http://”+host+path;anythingelse;”。

如果天窗代理设备检查ipv6应答报文包含需要特殊处理的多个指定跳转字段时,从ipv6应答报文开始位置拷贝ipv6应答报文数据,直到第一个需要特殊处理的指定跳转字段位置,之后替换跳转字段为“指定目标字段”;继续拷贝ipv6应答报文数据,直到下一个需要特殊处理的跳转字段位置,之后替换下一个跳转字段为映射的指定目标字段,重复上述拷贝ipv6应答报文数据以及替换“需要特殊处理的指定跳转字段为映射的指定目标字段”的处理,直到拷贝到ipv6应答报文结束位置。

天窗代理设备将修改后的ipv6应答报文和天窗代理改写脚本转发给用户。

用户的客户端的浏览器中的天窗代理改写脚本启用定时器模块,定时检查收到的ipv6应答报文中是否包含指定目标字段,且携带的地址组成信息是否发生变化。客户端的浏览器的天窗代理改写脚本确定包含ipv6应答报文指定目标字段”window.lb_location.href”,且携带的地址组成信息发生变化,则对指定目标字段携带的地址组成信息进行正常的天窗代理改写。在其他实施例中,客户端浏览器中的天窗代理改写脚本确定收到ipv6应答报文不包含指定目标字段时,不予处理。譬如,用户的客户端的浏览器的天窗代理脚本设置一个1秒定时器,每隔1秒检查应答中是否包含指定目标字段,且携带的地址组成信息是否发生变化,检查到包含指定目标字段,且携带的地址组成信息发生变化时,说明用户在浏览器的操作触发了此跳转链接的需求,且此时”window.lb_location.href”携带的地址组成信息已经被触发被修改为ipv4的url,即http://www.abc.com/web/1.jpg。

用户的客户端的浏览器执行到”window.lb_location.href”处,不会跳转。

用户的客户端的浏览器的天窗代理脚本将指定目标字段”window.lb_location.href”的url值由http://www.abc.com/web/1.jpg修改成带有天窗标记的url”http://www.abc.com.skylight/web/1.jpg”,其中新增的skylight是天窗改写标记。

用户的客户端的浏览器的天窗代理脚本将改写后指定目标字段”window.lb_location.href”的url值”http://www.abc.com.skylight/web/1.jpg”,重新赋值给指定跳转字段“window.location.href”,得到window.location.href=http://www.abc.com.skylight/web/1.jpg”。

浏览器能够正常识别”window.location.href”,准备跳转至”http://www.abc.com.skylight/web/1.jpg”链接,发起对”http://www.abc.com.skylight/web/1.jpg”的http请求,天窗代理设备收到该请求后,还原该请求链接,变成http://www.abc.com/web/1.jpg,向ipv4域名服务器发送域名请求报文,接收来自域名服务器的域名应答报文,获取ipv4外链所在服务器的ipv4地址,然后向ipv4外链所在服务器的ipv4地址发送http请求。

图2所示为本申请提供的一种实现天窗代理的设备20,该设备20可以应用为客户端,该设备包括处理器210以及存储器220;存储器210用于存储处理器可执行指令用以执行以下处理:接收来自天窗代理设备的修改后ipv6应答报文和天窗代理改写脚本;其中,修改后ipv6应答报文中带有地址组成信息的指定跳转字段;运行浏览器以确定指定目标字段为不可识别字段;运行天窗代理脚本以确定修改后ipv6应答报文具有指定目标字段且及指定目标字段带有的地址组成信息已被触发修改为ipv4统一资源定位系统地址,将ipv4统一资源定位系统地址改写为具有天窗标记的改写ipv4统一资源定位系统地址。

处理器210通过运行存储器220中的处理器可执行指令还用以执行以下处理:运行天窗代理脚本将改写ipv4统一资源定位系统地址赋值给指定跳转字段;运行浏览器根据指定跳转字段向天窗代理设备发送带有改写ipv4统一资源定位系统地址的http请求。

图3所示为本申请提供了一种实现天窗代理的设备,该设备可以应用为天窗代理设备,该设备包括处理器310及存储器320;存储器320用于存储处理器可执行指令;处理器310通过运行存储器320中的处理器可执行指令用以执行以下处理:接收来自ipv6服务器的ipv6应答报文;将将带有地址组成信息的指定跳转字段修改为带有地址组成信息的指定目标字段;将修改后ipv6应答报文和天窗代理改写脚本发送给客户端,以使得客户端运行浏览器确定指定目标字段为不可识别字段;客户端运行的天窗代理脚本确定修改后ipv6应答报文具有指定目标字段且及指定目标字段带有的地址组成信息已被触发修改为ipv4统一资源定位系统地址,将ipv4统一资源定位系统地址改写为具有天窗标记的改写ipv4统一资源定位系统地址。

处理器310通过运行存储器320中的处理器可执行指令还用以执行以下处理:接收带有改写ipv4统一资源定位系统地址的http请求,还原改写ipv4统一资源定位系统地址为ipv4统一资源定位系统地址,基于ipv4统一资源定位系统地址向ipv4域名服务器发送域名请求报文,接收来自ipv4域名服务器的域名应答报文,向ipv4域名应答报文中ipv4统一资源定位系统地址所在服务器的ipv4地址发送http请求。

处理器310通过运行存储器320中的可执行指令执行将带有地址组成信息的指定跳转字段修改为带有地址组成信息的指定目标字段:天窗代理设备从ipv6应答报文的开始位置拷贝数据至指定跳转字段,将指定跳转字段替换为指定目标字段,继续拷贝直到ipv6应答报文结束位置。

以上仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1