本发明专利技术适用于无线通信技术领域,提供了一种数据包重定向的方法、系统及AP,所述方法包括:无线网卡驱动程序对上行数据包进行处理,修改上行http数据包的目的MAC为AP的MAC、目的端口为9000、目的IP为AP的IP;无线网卡驱动程序对下行数据包进行处理,修改下行http数据包的源MAC为上行http数据包中的原目的MAC、源端口为上行http数据包中的原目的端口、源IP为上行http数据包中的原目的IP。本发明专利技术,相比现有的在应用层实现数据包重定向的方法,当用户数比较多的时候,不会出现页面数据包重定向缓慢的现象,效率上比现有的在应用层实现数据包重定向的方法有一定提高。
【技术实现步骤摘要】
本专利技术属于无线通信
,尤其涉及一种数据包重定向的方法、系统及AP。
技术介绍
在商业wifi解决方案中,用户进行portal认证过程中,都会涉及到数据包重定向的问题。在无线用户进行portal认证未通过时,将原本访问互联网的http数据包重定向至无线访问节点(Access Point,AP),再由AP对该http数据包做出错误码为302的响应,该响应中包含portal服务器的IP地址,按照http协议规定,用户接下来会自动访问portal服务器。然而,在实现本专利技术过程中,专利技术人发现现有技术提供的数据包重定向的方法,是用iptables命令在应用层实现页面数据包重定向,当用户数比较多的时候,会出现页面数据包重定向缓慢的现象,导致用户体验不佳。
技术实现思路
有鉴于此,本专利技术实施例提供一种数据包重定向的方法、系统及AP,以解决现有技术提供的数据包重定向的方法,当用户数比较多的时候,会出现页面数据包重定向缓慢的现象,导致用户体验不佳的问题。第一方面,提供一种数据包重定向的方法,所述方法包括:无线网卡驱动程序对上行数据包进行处理,修改上行http数据包的目的MAC为AP的MAC、目的端口为9000、目的IP 为 AP 的 IP ;无线网卡驱动程序对下行数据包进行处理,修改下行http数据包的源MAC为上行http数据包中的原目的MAC、源端口为上行http数据包中的原目的端口、源IP为上行http数据包中的原目的IP。进一步地,在所述修改上行http数据包的目的MAC为AP的MAC、目的端口为9000、目的IP为AP的IP之前,所述方法还包括:无线网卡驱动程序接收到来自空口的STA数据包后,对所述STA数据包进行解析;无线网卡驱动程序根据解析结果判断无线用户是否通过portal认证,如果认证未通过,则判断所述STA数据包是否是白名单中的数据包。进一步地,在所述修改下行http数据包的源MAC为上行http数据包中的原目的MAC、源端口为上行http数据包中的原目的端口、源IP为上行http数据包中的原目的IP之前,所述方法还包括:无线网卡驱动程序对来自无线网卡的以太类型数据帧进行解析;无线网卡驱动程序根据解析结果判断无线用户是否通过portal认证,如果认证未通过,则判断所述以太类型数据帧是否是白名单中的数据包。进一步地,在无线网卡驱动的收包函数ieee80211_input中对上行数据包进行处理。进一步地,在无线网卡驱动的发包函数wlan_vap_send中对下行数据包进行处理。第二方面,提供一种AP,所述AP包括无线网卡驱动程序,所述无线网卡驱动程序包括上行数据包处理单元和下行数据包处理单元;所述上行数据包处理单元,用于对上行数据包进行处理;所述上行数据包处理单元包括:上行修改模块,用于修改上行http数据包的目的MAC为AP的MAC、目的端口为9000、目的IP为AP的IP ;所述下行数据包处理单元,用于对下行数据包进行处理;所述下行数据包处理单元包括: 下行修改模块,用于修改下行http数据包的源MAC为上行http数据包中的原目的MAC、源端口为上行http数据包中的原目的端口、源IP为上行http数据包中的原目的IP。进一步地,所述上行数据包处理单元还包括:上行解析模块,用于接收到来自空口的STA数据包后,对所述STA数据包进行解析;上行判断模块,用于根据解析结果判断无线用户是否通过portal认证,如果认证未通过,则判断所述STA数据包是否是白名单中的数据包。进一步地,所述下行数据包处理单元还包括:下行解析模块,用于对来自无线网卡的以太类型数据帧进行解析;下行判断模块,用于根据解析结果判断无线用户是否通过portal认证,如果认证未通过,则判断所述以太类型数据帧是否是白名单中的数据包。进一步地,所述上行数据包处理单元在无线网卡驱动的收包函数ieee80211_input中对上行数据包进行处理。进一步地,所述下行数据包处理单元在无线网卡驱动的发包函数wlan_vap_send中对下行数据包进行处理。第三方面,提供一种数据包重定向的系统,包括用户终端和portal服务器,所述系统还包括如第二方面所述的AP。在本专利技术实施例,数据包重定向的方法是在无线网卡的驱动程序中实现,因此是一种在驱动层实现数据包重定向的方法,相比现有的在应用层实现数据包重定向的方法,当用户数比较多的时候,不会出现页面数据包重定向缓慢的现象,效率上比现有的在应用层实现数据包重定向的方法有一定提高。【附图说明】图1是本专利技术数据包重定向的方法实施例的实现流程图;图2是本专利技术数据包重定向的方法实施例中,无线网卡驱动程序对上行数据包进行处理的实现流程图;图3是本专利技术数据包重定向的方法实施例中,无线网卡驱动程序对下行数据包进行处理的实现流程图;图4是本专利技术AP实施例的结构框图;图5是本专利技术数据包重定向的系统实施例的结构示意图。【具体实施方式】为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。在本专利技术实施例中,无线网卡驱动程序对上行数据包进行处理,修改上行http数据包的目的MAC为AP的MAC、目的端口为9000、目的IP为AP的IP,使上行http数据包可以重定向到AP ;无线网卡驱动程序对下行数据包进行处理,修改下行http数据包的源MAC为上行http数据包中的原目的MAC、源端口为上行http数据包中的原目的端口、源IP为上行http数据包中的原目的IP,用户就可以接收到重定向后的http数据包。以下结合具体实施例对本专利技术的实现进行详细描述:实施例一图1示出了本专利技术实施例一提供的数据包重定向的方法的实现流程,详述如下:在步骤S101中,无线网卡驱动程序对上行数据包进行处理,修改上行http数据包的目的MAC为AP的MAC、目的端口为9000、目的IP为AP的IP。在本专利技术实施例中,AP的无线网卡驱动程序的收包函数ieee80211_input接收到来自空口的STA数据包后,对所述STA数据包进行解析,根据解析结果判断无线用户是否通过portal认证,如果认证未通过,则判断所述STA数据包是否是白名单中的数据包,如果不是,则表示所述STA数据包是http数据包,修改所述http数据包的目的MAC为AP的MAC、目的端口为9000、目的IP为AP的IP,如此一来,所述http数据包可以重定向到AP。其中,白名单中的数据包包括地址解析协议(ARP,Address Resolut1nProtocol)数据包,动态主机分配协议(DHCP,Dynamic Host Configurat1n Protocol)数据包和域名系统(DNS,Domain Name System)数据包。其中,收包函数ieee80211_input在http数据包的以太头中修改http数据包的目的MAC为AP的MAC,在http数据包的TCP头中修改http数据包的目的端口为9000,在http数据包的IP头中修改http数据包的目的IP为AP的IP。具体的,无线网卡驱动程序对来自空口的STA数据包进行处理的流程如图2所示。本文档来自技高网...
【技术保护点】
一种数据包重定向的方法,其特征在于,所述方法包括:无线网卡驱动程序对上行数据包进行处理,修改上行http数据包的目的MAC为AP的MAC、目的端口为9000、目的IP为AP的IP;无线网卡驱动程序对下行数据包进行处理,修改下行http数据包的源MAC为上行http数据包中的原目的MAC、源端口为上行http数据包中的原目的端口、源IP为上行http数据包中的原目的IP。
【技术特征摘要】
【专利技术属性】
技术研发人员:韩海锋,
申请(专利权)人:深圳市华讯方舟科技有限公司,深圳市华讯方舟软件信息有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。