一种多媒体终端及基于内核实现的DNS拦截方法技术

技术编号:12808740 阅读:84 留言:0更新日期:2016-02-05 08:11
本发明专利技术公开了一种多媒体终端及基于内核实现的DNS拦截方法,当用户通过车载多媒体终端的WIFI访问外网数据时,内核Netfilter模块进行以下步骤:当用户请求访问外网数据时,拦截所述用户的DNS请求包;根据放行数据链表判断是否向所述用户放行所述外网数据,其中,所述放行数据链表用于缓存已放行用户的标识信息;在判断未放行时,构造指向本地门户地址的DNS回应包,并返回所述用户。实施本发明专利技术的技术方案,由于通过内核Netfilter篡改DNS数据,使得纂改后的DNS数据指向本地门户,可解决DNS缓存问题。

【技术实现步骤摘要】

本专利技术涉及信息通讯领域,尤其涉及一种多媒体终端及基于内核实现的DNS拦截方法
技术介绍
随着互联网技术的不断发展,网络传播已经广泛应用于生活的方方面面,并对传统电视媒体的生存和发展造成了强大的冲击。目前,国内无论是公交车或者是长途大巴车,都在反复播放一些过时,无法选择的节目,有些长途大巴车上甚至几个月都不换视频节目,播放一些很老的影片。乘客根本没有选择余地的被动收看,毫无乐趣可言。随着现今科技的发展,互联网普及到社会的每个角落。乘客希望不但需要便捷的交通工具,更希望在旅途上能轻松的打发乘车无聊的时间。车载多媒体终端是在满足无线商业化需求的同时,提供可定制的品牌广告认证页面和有效的3G/4G网络,还可以利用WIFI局域网,打造一个WIFI娱乐广告平台。运营商可以把电影、电视、音乐、娱乐、咨询等内容上传到多媒体终端的本地存储。用户无需安装任何软件,通过简单认证方式,就可以在公交、长途大巴、火车等移动场合通过多媒体终端让智能手机、平板电脑以及其他WIFI上网终端轻松上网,选择播放喜欢的媒体内容。目前,当用户通过多媒体终端访问外网时,在连接多媒体终端的WIFI后,还需要进行手机号码认证,目前,市场上大部分是基于iptables应用层开发的DNS拦截,例如,当用户访问外网数据时,首先由Iptables判断有无放行,在已放行时,按照正常的流程请求DNS数据;在未放行时,拦截DNS数据,并重定向到本地DNSmasq的5353端口,DNSmasq将所访问外网的域名解析成本地门户的IP地址。但是,这种方式会造成DNS缓存的问题,而且,DNS解析会有个TTL缓存时间,在这个缓存时间内,不会再次请求DNS解析。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述存在DNS缓存问题的缺陷,提供一种多媒体终端及基于内核实现的DNS拦截方法,不会存在DNS缓存问题。本专利技术解决其技术问题所采用的技术方案是:构造一种基于内核实现的DNS拦截方法,当用户通过车载多媒体终端的WIFI访问外网数据时,内核Netfilter模块进行以下步骤:当用户请求访问外网数据时,拦截所述用户的DNS请求包;根据放行数据链表判断是否向所述用户放行所述外网数据,其中,所述放行数据链表用于缓存已放行用户的标识信息;在判断未放行时,构造指向本地门户地址的DNS回应包,并返回所述用户。进一步地,还包括:监听应用层是否有socket数据,并在有socket数据时,根据用户空间发送的操作指令在所述放行数据链表中增加或删除用户的标识信息。进一步地,在判断放行时,按照正常流程请求DNS数据。进一步地,构造指向本地门户地址的DNS回应包的步骤包括:在所述DNS请求包的DNS回答字段中添加本地门户地址,并重新封包。本专利技术还构造一种车载多媒体终端,包括内核Netfilter模块,所述内核Netfilter模块包括:拦截单元,用于当用户请求访问外网数据时,拦截所述用户的DNS请求包;判断单元,用于根据放行数据链表判断是否向所述用户放行所述外网数据,其中,所述放行数据链表用于缓存已放行用户的标识信息;构造单元,用于在判断未放行时,构造指向本地门户地址的DNS回应包,并返回所述用户。进一步地,所述内核Netfilter模块还包括:链表修改单元,用于监听应用层是否有socket数据,并在有socket数据时,根据用户空间发送的操作指令在所述放行数据链表中增加或删除用户的标识信息。进一步地,所述内核Netfilter模块还包括:DNS处理单元,用于在判断放行时,按照正常流程请求DNS数据。进一步地,所述构造单元,用于通过在所述DNS请求包的DNS回答字段中添加本地门户地址并重新封包来构造DNS回应包。实施本专利技术的技术方案,由于通过内核Netfilter篡改DNS数据,使得纂改后的DNS数据指向本地门户,相比通过dnsamsq将DNS解析到本地门户,可解决DNS缓存问题。【附图说明】下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术基于内核实现的DNS拦截方法实施例一的流程图;图2是本专利技术车载多媒体终端的内核Netfilter模块实施例一的逻辑图;图3是本专利技术车载多媒体终端的内核Netfilter模块实施例二的逻辑图。【具体实施方式】图1是本专利技术基于内核实现的DNS拦截方法实施例一的流程图,在该实施例中,当用户通过车载多媒体终端的WIFI访问外网数据时,内核Netfilter模块进行以下步骤:S1.当用户请求访问外网数据时,拦截所述用户的DNS请求包;S2.根据放行数据链表判断是否向所述用户放行所述外网数据,若是,则执行步骤S4 ;若否,则执行步骤S3 ;其中,所述放行数据链表用于缓存已放行用户的标识信息;S3.构造指向本地门户地址的DNS回应包,并返回所述用户。在该步骤中,优选地,可通过以下方式来构造DNS回应包:在所述DNS请求包的DNS回答字段中添加本地门户地址,并重新封包;S4.按照正常流程请求DNS数据。实施该实施例的技术方案,由于通过内核Netfilter篡改DNS数据,使得纂改后的DNS数据指向本地门户,可解决DNS缓存问题。在上述实施例的基础上,进一步地,当用户连接车载多媒体终端的WIFI时,进行以下步骤:监听应用层是否有socket数据,该socket数据是用户空间netlink发送过来的消息,需要判断该用户的标识信息(例如为ip地址)是否为认证过的标识信息;在有socket数据时,根据用户空间发送的操作指令在所述放行数据链表中增加或删除用户的标识信息。图2是本专利技术车载多媒体终端的内核Netfilter模块实施例一的逻辑图,该实施例的车载多媒体终端的内核Netfilter模块包括拦截单元11、判断单元12和构造单元13。而且,在该实施例中,拦截单元11用于当用户请求访问外网数据时,拦截所述用户的DNS请求包。判断单元12用于根据放行数据链表判断是否向所述用户放行所述外网数据,其中,放行数据链表用于缓存已放行用户的标识信息。构造单元13用于在判断未放行时,构造指向本地门户地址的DNS回应包,并返回所述用户。优选地,构造单元13用于通过在所述DNS请求包的DNS回答字段中添加本地门户地址并重新封包来构造DNS回应包。图3是本专利技术车载多媒体终端的内核Netfilter模块实施例二的逻辑图,该实施例的内核Netfilter模块相比图2所示的实施例,所不同的是,还包括DNS处理单元14和链表修改单元15,其中,DNS处理单元14用于在判断放行时,按照正常流程请求DNS数据。链表修改单元15用于监听应用层是否有socket数据,并在有socket数据时,根据用户空间发送的操作指令在所述放行数据链表中增加或删除用户的标识信息。以上所述仅为本专利技术的优选实施例而已,并不用于限制本专利技术,对于本领域的技术人员来说,本专利技术可以有各种更改和变化。凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的权利要求范围之内。【主权项】1.一种基于内核实现的DNS拦截方法,其特征在于,当用户通过车载多媒体终端的WIFI访问外网数据时,内核Netfilter模块进行以下步骤: 当用户请求访问外网数据时,拦截所述用户的DNS请求包;本文档来自技高网
...

【技术保护点】
一种基于内核实现的DNS拦截方法,其特征在于,当用户通过车载多媒体终端的WIFI访问外网数据时,内核Netfilter模块进行以下步骤:当用户请求访问外网数据时,拦截所述用户的DNS请求包;根据放行数据链表判断是否向所述用户放行所述外网数据,其中,所述放行数据链表用于缓存已放行用户的标识信息;在判断未放行时,构造指向本地门户地址的DNS回应包,并返回所述用户。

【技术特征摘要】

【专利技术属性】
技术研发人员:李利民
申请(专利权)人:深圳前海华视移动互联有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1