一种页面重定向方法及装置的制造方法

文档序号:8490055阅读:132来源:国知局
一种页面重定向方法及装置的制造方法
【技术领域】
[0001]本发明属于通信领域,尤其涉及一种页面重定向方法及装置。
【背景技术】
[0002]随着园区、公共场所、高校、企业、医院、酒店、餐馆等环境中无线局域网的广泛部署,终端用户的认证管理显得极为重要。其中,web认证是最为简洁一种认证方式,它不需要用户在客户端中安装特殊的应用软件,在web认证过程中,通过页面重定向方法,将当前的页面转向WIFI热点设定的Portal页面,以完成认证。
[0003]然而,现有的页面重定向方法,系统开销大、处理时间长,降低了页面重定向的处理效率且不利于推广使用。其原因在于,现有页面重定向方法,其页面重定向的数据需要进入内核,且需要内核处理页面重定向的数据,因此系统开销大、处理时间长。此外,WIFI热点一般由专业的网络设备供应商提供,因此WIFI热点设定的Portal页面,一般采用固定的Portal页面,不能够随意修改,商家无法将Portal页面,修改为配置的具有自己特色的Portal页面,适用范围有限,难以移植,因此不利于推广使用。

【发明内容】

[0004]本发明实施例的目的在于提供一种页面重定向方法,旨在解决现有的页面重定向方法,系统开销大、处理时间长,降低了页面重定向的处理效率且不利于推广使用的问题。
[0005]本发明实施例是这样实现的,一种页面重定向方法,包括:
[0006]在无线接入点的控制和配置协议CAPWAP的通信隧道入口,接收客户端发送的数据报文;
[0007]当所述数据报文为TCP连接报文时,解析所述数据报文并记录目的IP及端口 ;
[0008]查看所述客户端当前的状态,若当前的状态为待认证状态时,则截获所述客户端的TCP SYNC报文;
[0009]根据所述客户端的TCP SYNC报文、目标IP及端口,封装成接入回复报文,加封CAPffAP头后,将所述接入回复报文通过CAPWAP通信隧道返回给客户端;
[0010]接收并截获所述客户端发送的HTTP数据请求报文,检测所述HTTP数据请求报文携带的请求方式,选择与所述请求方式相对应的响应方式;
[0011]在所述HTTP数据请求报文中,根据所述响应方式,封装自定义的用于页面重定向的Portal页面地址,加封CAPWP头后,通过所述CAPWAP通信隧道返回至所述客户端。
[0012]本发明实施例的另一目的在于提供一种页面重定向装置,包括:
[0013]数据报文接收模块,用于在无线接入点的控制和配置协议CAPWAP的通信隧道入口,接收客户端发送的数据报文;
[0014]数据报文解析模块,用于当所述数据报文为TCP连接报文时,解析所述数据报文并记录目的IP及端口 ;
[0015]截获模块,用于查看所述客户端当前的状态,若当前的状态为待认证状态时,则截获所述客户端的TCP SYNC报文;
[0016]接入回复报文返回模块,用于根据所述客户端的TCP SYNC报文、目标IP及端口,封装成接入回复报文,加封CAPWAP头后,将所述接入回复报文通过CAPWAP通信隧道返回给客户端;
[0017]响应方式选择模块,用于接收并截获所述客户端发送的HTTP数据请求报文,检测所述HTTP数据请求报文携带的请求方式,选择与所述请求方式相对应的响应方式;
[0018]Portal页面地址返回模块,用于在所述HTTP数据请求报文中,根据所述响应方式,封装自定义的用于页面重定向的Portal页面地址,加封CAPWP头后,通过所述CAPWAP通信隧道返回至所述客户端。
[0019]在本发明实施例中,在CAPWAP的通信隧道入口,接收客户端发送的数据报文并进行了处理,封装自定义的用于页面重定向的Portal页面地址,加封CAPWP头后,通过所述CAPffAP通信隧道返回至所述客户端。由于数据报文没有进入内核协议栈,因此内核协议栈没有参与建立、维护TCP连接,从而减小了系统开销,相对于现有页面重定向方法,减少了系统开销和处理时间。此外,采用了自定义的用于页面重定向的Portal页面地址,商家可将Portal页面,修改为配置的具有自己特色的Portal页面,提高了适用范围。因此有益效果在于两方面,一方面提高了页面重定向的处理效率,另一方面有利于移植和推广使用。
【附图说明】
[0020]图1是本发明实施例提供的页面重定向方法的实现流程图;
[0021]图2是本发明实施例提供的页面重定向方法中步骤S105的第一实现流程图;
[0022]图3是本发明实施例提供的页面重定向方法中步骤S105的第二实现流程图;
[0023]图4是本发明实施例提供的页面重定向方法中步骤S106的实现流程图;
[0024]图5是用户态socket收发包处理线程和TCP/IP协议栈的交互流程图;
[0025]图6是本发明实施例提供的页面重定向装置的结构框图。
【具体实施方式】
[0026]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0027]实施例一
[0028]图1是本发明实施例提供的页面重定向方法的实现流程图,详述如下:
[0029]在步骤SlOl中,在无线接入点的控制和配置协议CAPWAP的通信隧道入口,接收客户端发送的数据报文;
[0030]其中,数据报文是通过UDP 5247CAPWAP通信隧道接收,并且得到的是完整的用户数据报文。
[0031]在步骤S102中,当所述数据报文为TCP连接报文时,解析所述数据报文并记录目的IP及端口 ;
[0032]在步骤S103中,查看所述客户端当前的状态,若当前的状态为待认证状态时,则截获所述客户端的TCP SYNC报文;
[0033]其中,查询所述客户端当前处于需要认证且未认证状态下,才会截获TCP 80的SYNC报文并且记录用户请求服务器的真实的目的IP及端口。
[0034]在步骤S104中,根据所述客户端的TCP SYNC报文、目标IP及端口,封装成接入回复报文,加封CAPWAP头后,将所述接入回复报文通过CAPWAP通信隧道返回给客户端;
[0035]其中,步骤S104,具体为:
[0036]对TCP SYNC报文进行解析,根据解析的内容,构造接入回复报文接入回复报文即SYNC ACK 报文;
[0037]在所述接入回复报文前面加封CAPWAP头后,将所述接入回复报文通过CAPWAP通信隧道发送给客户端。
[0038]其中,根据截获的TCP SYNC报文构造接入回复报文,并根据记录的IP及端口更新计算报文校验和。
[0039]CAPffAP通信隧道为无线接入点与客户端之间的CAPWAP套接字隧道。
[0040]其中,接收并截获客户端发送来的TCP ACK报文,此报文可不用处理直接丢弃,此时用户侧的TCP连接已经成功建立。
[0041]在步骤S105中,接收并截获所述客户端发送的HTTP数据请求报文,检测所述HTTP数据请求报文携带的请求方式,选择与所述请求方式相对应的响应方式;
[0042]在步骤S106中,在所述HTTP数据请求报文中,根据所述响应方式,封装自定义的用于页面重定向的Portal页面地址,加封CAPWP头后,通过所述CAPWAP通信隧道返回至所述客户端。
[0043]其中,整个数据报文的收发包及页面重定向的工作过程,全部在用户态完成,且所有报文的收发都是通过CAPWAP通信隧道完成,当完成重定向后,用户直接访问Portal页面,则需要白名单功能配合完成。
[0044]本发明提供的页面重定向方法,充分利用了 SOCKET编程和TCP握手建立过程以及HTTP页面访问机制,经过合理的裁剪规避,从而简单的实现了页面访问重定向功能。其实现难度低,开发简单、效率高,对系统稳定没有影响,可移植性强,最大的接近和实现了嵌入式软件设计的要求。
[0045]实施例二
[0046]图2是本发明实施例提供的页面重定向方法中步骤S105的第一实现流程图,详述如下:
[0047]在步骤S201中,检测所述HTTP数据请求报文携带的请求方式为GET请求方式;
[0048]在步骤S202中,选择与所述GET请求方式相对应的302响应方式。
[0049]其中,选择与所述GET请求方式相对应的302响应方式,便于后续加载Portal页面地址。
[0050]实施例三
[0051]图3是本发明实施例提供的页面重定向方法中步骤S105的第二实现流程图,详述如下:
[0052]在步骤S301中,所述检测所述HTTP数据请求报文携带的请求方式为POST请求方式;
[0053]在步骤S302中,选择与所述POST请求方式相对应的303响应方式。
[0054]其中,选择与所述POST请求方式相对应的303响应方式,便于后续加载Portal页面地址。
[0055]实施例四
[0056]图4是本发明实施例提供的页面重定向方法中步骤S106的实现流程图,详述如下:
[0057]在步骤S401中,解析所述HTTP数据请求报文,根据所述响应方式,调用自定义的用于页面重定向的Portal页面地址替换所述HTTP数据请求报文中的URL,封装成新的HTTP数据请求报文;
[0058]在步骤S402中,在新的HTTP数据请求报文前加封CAPWP头后,通过所述CAPWAP通信隧道,将新的HTTP数据请求报文返回至所述客户端。
[0059]在本实施例中,将新的HTTP数据请求报文返回至所述客户端,所述客户端在白名单功能的配合下访问portal页面,重定向后,完成WEB认证流程。
[0060]实施例五
[0061]图5是用户态socket收发包处理线程和TCP/IP协议栈的交互流程图,详述如下:
[0062]其中,Socket数据通道为CAPWAP通信隧道。
[0063]用户态socket收发包处理线程为执行页面重定向方法的线程。
[0064]用户态socket收发包处理线程用于获取数据报文,提取TCP 80端
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1