路由器网桥模式下无线终端类型的识别系统及方法

文档序号:9618588阅读:1249来源:国知局
路由器网桥模式下无线终端类型的识别系统及方法
【技术领域】
[0001]本发明涉及无线终端类型识别,特别是涉及一种路由器网桥模式下无线终端类型的识别系统及方法。
【背景技术】
[0002]DHCP (Dynamic Host Configurat1n Protocol,动态主机配置协议)是一种采用客户端/服务器模型基于UDP协议工作的一种局域网网络协议。主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息。
[0003]网桥(Bridge)模式,在此模式下,该设备相当于一台缩减版的小型交换机,可实现无线之间、无线到有线、无线到广域网络的访问。最常见的能够提供无线客户端的接入,例如:无线网卡接入等;路由器此模式下没有DHCP服务器,不提供IP地址分配服务,无线客户端的IP地址需要由路由器上联DHCP服务器或者内网DHCP服务器提供IP地址。
[0004]netfilter是在linux内核整个网络流程的若干位置放置了一些检测点(Η00Κ),而在每个检测点上登记了一些处理函数进行处理(如包过滤,NAT等,甚至可以是用户自定义的功能)。
[0005]IP层的五个Η00Κ点如下:
[0006]NF_IP_PRE_R0UTING:刚刚进入网络层的数据包通过此点,目的地址转换在此点进行;
[0007]NF_IP_L0CAL_IN:经路由查找后,送往本机的通过此检查点,INPUT包过滤在此点进行;
[0008]NF_IP_F0RWARD:要转发的包通过此检测点,FORWARD包过滤在此点进行;
[0009]NF_IP_P0ST_R0UTING:所有马上便要通过网络设备出去的包通过此检测点,内置的源地址转换功能在此点进行;
[0010]NF_IP_L0CAL_0UT:本机进程发出的包通过此检测点,OUTPUT包过滤在此点进行。
[0011]现有的路由器工作在路由模式下,此时,DHCP服务器集成在路由器系统中,可以直接从路由器收到的终端发来的DHCP request或者Discover包中根据opt1nl2字段或者opt1n60字段解析出终端关键字,然后发送到云服务器处理。这种方法对于路由器工作在路由模式来说,很容易做到获取我们所需要的终端类型信息,这种方式存在几点不足,一是当工作在网桥模式下时候,路由器本身不提供DHCP服务器功能,只对终端的DHCP报文进行转发,因此不能通过DHCP服务器获取到终端类型信息;而是opt1nl2或者opt1n60字段提供的信息不足以达到我们需要知道的终端类型的标准,往往最多只能知道是什么厂商和终端型号,opt1n60字段,部分厂商往往不设置该字段或者是设置不准确(比如一部手机,部分小厂商可能只设置厂商名,而不带手机型号),opt1nl2字段对于大部分原始终端来说管用,但是当用户修改了终端命名信息后(比如用户可以更改为任何的名字,比如Android手机默认是Andorid-45342323,而用户可以修改为564354),就不知道如何判别类型了,同时当前的方案都是需要在云端服务器查询,当路由器与Internet断开后就无法知晓这是何种终端类型。

【发明内容】

[0012]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种路由器网桥模式下无线终端类型的识别系统及方法,用于解决现有路由器在网桥模式下不能通过DHCP服务器获取终端类型、终端类型判断准确率低、以及断网后无法知晓终端类型的问题。
[0013]为实现上述目的及其他相关目的,本发明一方面提供一种路由器网桥模式下无线终端类型的识别方法,包括:在网桥模式下,抓取路由器转发的所有通讯数据包并对所有的通讯数据包进行过滤以得到无线终端与DHCP服务器交互的DHCP请求数据包;对所述DHCP请求数据包进行解析以得到解析值;以及将所得到的解析值和所述无线终端的MAC地址一起发送至云端服务器进行无线终端类型的查询以获取所述无线终端的类型。
[0014]优选地,对所有的通讯数据包进行过滤,包括:
[0015]判断所述通讯数据包是否为来自无线局域网,若是,则继续判断,若否,则对所述通讯数据包放行;
[0016]判断所述通讯数据包中的源IP地址是否为0.0.0.0和目的IP地址是否为255.255.255.255,若所述源IP地址和所述目的IP地址均为是,则继续判断,若所述源IP地址和所述目的IP地址中任一为否,则对所述通讯数据包放行;
[0017]判断所述通讯数据包是否为用户数据包,若是,则继续判断,若否,则对所述通讯数据包放行;
[0018]判断所述通讯数据包的源端口号是否为68和目的端口号是否为67,若所述源端口号和所述目的端口号均为是,则继续判断,若所述源端口号和所述目的端口号中任一为否,则对所述通讯数据包放行;
[0019]判断所述通讯数据包中的信息类型字段是否为请求数据包,若是,则得到了所述DHCP请求数据包,若否,则对所述通讯数据包放行。
[0020]优选地,对所述DHCP请求数据包进行解析以得到解析值,包括:
[0021]对所述DHCP请求数据包中的主机名字段、附加请求参数字段、以及厂商识别字段进行解析,得出对应的主机名字段值、附加请求参数字段值、以及厂商识别字段值。
[0022]优选地,将解析到的所述主机名字段值、所述附加请求参数字段值、以及厂商识别字段值同所述无线终端的MAC地址一起发送至用户态,由用户态将所述主机名字段值、所述附加请求参数字段值、以及厂商识别字段值和所述无线终端的MAC地址经无线通信传送至云端服务器。
[0023]优选地,还包括:
[0024]在路由器的本地数据库对所得到的解析值和所述无线终端的MAC地址进行无线终端类型的查询,以获得本地查询结果;
[0025]将所述本地查询结果上报至所述云端服务器;
[0026]由所述云端服务器比对云端查询结果和所述本地查询结果,若比对结果一致,则由所述云端服务器将比对结果发送至所述路由器,若比对结果不一致,则由所述云端服务器将所述云端查询结果发送至所述路由器替换所述本地查询结果以更新本地数据库。
[0027]本发明另一方面还提供了一种路由器网桥模式下无线终端类型的识别系统,包括:
[0028]与路由器连接的数据过滤单元,用于在网桥模式下,抓取所述路由器转发的所有通讯数据包并从中过滤得到无线终端与DHCP服务器交互的DHCP请求数据包;
[0029]与所述数据过滤单元连接的数据解析单元,用于对经所述数据过滤单元过滤得到的所述DHCP请求数据包进行解析以得到对应的解析值;以及
[0030]与所述数据解析单元连接的无线通信单元,用于将得到的所述解析值和所述无线终端的MAC地址一起发送至云端服务器,以使得所述云端服务器对所述无线终端的类型进行查询进而获取所述无线终端的类型。
[0031]优选地,所述数据过滤单元中包括来源判断模块、地址判断模块、用户包判断模块、端口号判断模块、以及信息类型判断模块;
[0032]所述来源判断模块与所述路由器的内核连接,用于获取由所述内核转发的所有通讯数据包,并对所有的通讯数据包进行逐一判断,判断所述通讯数据包是否为来自无线局域网,若是,则将所述通讯数据包发送给所述地址判断模块,若否,则对所述通讯数据包放行;
[0033]所述地址判断模块与所述来源判断模块连接,用于对从所述来源判断模块发送来的所述通讯数据包进行判断,判断所述通讯数据包中的源IP地址是否为0.0.0.0和目的IP地址是否为255.255.255.255,若所述源IP地址和所述目的IP地址均为是,则将所述通讯数据包发送给所述用户包判断模块,若所述源IP地址和所述目的IP地址中的任一为否,则对所述通讯数据包放行;
[0034]所述用户包判断模块与所述地址判断模块连接,用于对从所述地址判断模块发送来的所述通讯数据包进行判断,判断所述通讯数据包是否为用户数据包,若是,则将所述通讯数据包发送给所述端口号判断模块,若否,则对所述通讯数据包放行;
[0035]所述端口号判断模块与所述用户包判断模块连接,用于对从所述用户包判断模块发送来的所述通讯数据包进行判断,判断所述通讯数据包的源端口号是否为68和目的端口号是否为67,若所述源端口号和所述目的端口号均为是,则将所述通讯数据包发送给所述信息类型判断模块,若所述源端口号和所述目的端口号中任一为否,则对所述通讯数据包放行;
[0036]所述信息类型判断模块与所述端口号判断模块连接,用于对从所述端口号判断模块发送来的所述通讯数据包进行判断,判断所述通讯数据包中的信息类型字段是否为请求数据包,若是,则得到了所述DHCP请求数据包,若否,则对所述通讯数据包放行。
[0037]优选地,所述数据解析单元包括主机名解析模块、请求参数解析模块、以及厂商解析丰吴块;
[0038]所述主机名解析模块用于对所述DHCP请求数据包中的主机名字段进行解析以得出对应的主机名字段值;
[0039]所述请求参数解析模块用于对所述DHCP请求数据包中的附加请求参数字段进行解析以得出对应的附加请求参数字段值;
[0040]所述厂商解析模块用于对所述DHCP请求数据包中的厂商识别字段进行解析以得出对应的厂商识别字段值。
[0041]优选地,还包括与所述数据解析单元和所述无线通信单元连接的用户态单元,用于接收所述数据解析单元解析出的所述主机名字段值、所述附加请求参数字段值、以及厂商识别字段值和获取所述无线终端的MAC地址,并将接收到的所述主机名字段值、所述附加请求参数字段值、以及厂商识别字段值和所述无线终端的MAC地址发送给所述无线通信单元。
[0042]优选地,还包括设于所述路由器中的本地数据库和查询单元,所述查询单元与所述本地数据库、所述数据解析
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1