一种采集用户数据的方法及装置的制造方法

文档序号:10615810阅读:347来源:国知局
一种采集用户数据的方法及装置的制造方法
【专利摘要】本发明提供一种采集用户数据的方法和装置,应用于路由器,路由器连接局域网和广域网,在方法中,分别于路由器的网络适配器的接收端和发送端截取自局域网向广域网发送的报文;装置包括:接收端截取模块,与路由器的网络适配器的接收端相连,用以于接收端处截取自局域网向广域网发送的报文;发送端截取模块,与网络适配器的发送端相连,用以于发送端处截取自局域网向广域网发送的报文。在有线网卡和无线网卡的驱动的发送端中增加报文采集功能,降低了报文采集对协议栈的依赖和加速模块的限制,提高了性能。
【专利说明】
-种采集用户数据的方法及装置
技术领域
[0001] 本发明设及通信技术领域,尤其设及一种采集用户数据的方法及装置。
【背景技术】
[0002] 在大数据背景下,分析用户上网行为成为创造商业价值的一种手段。而在现有技 术中,分析用户的上网行为主要通过采集用户的使用浏览器时产生HTTP(Hyper Text Transfer Protocol,超文本传输协议)报文数据,抓取用户的HTTP报文通常在路由器的 TCP/IP的协议找中去实现。在协议找中读取流经本机的报文,解析报文的内容,并将内容记 录下,存放到日志中。
[0003] 但是,现在的技术方案主要在路由器的协议找中实现,协议找是处理网络数据包 的核屯、模块。它处理的数据包括用户主动发送到网络的数据和其他转发数据,非常的繁忙。 如果直接在协议找中抽取用户数据,会对本来已经很繁忙的协议找加重任务,影响整个路 由器处理包的性能。其次,很多路由器厂商,为了强化路由器的性能,增加了加速模块功能, 很多用户数据不经过协议找,直接由加速模块将用户数据输出到网络适配器出口。因此,如 果只是在TCP/IP协议找中获取用户数据,就会丢失很多有用的用户数据,运不利于后续对 用户行为的分析。所W,提供一种高效且准确的用户数据采集方法,成为目前亟待解决的问 题。

【发明内容】

[0004] 鉴于上述问题,本申请记载了一种采集用户数据的方法,应用于路由器,所述路由 器连接局域网和广域网,分别于所述路由器的网络适配器的接收端和发送端截取自所述局 域网向所述广域网发送的报文。
[0005] 较佳的,提供一存储结构,将截取的所述报文W所述存储结构进行保存。
[0006] 较佳的,从所述发送端获取所述报文的过程包括步骤:
[0007] 对将要从所述发送端发送至所述广域网的所述报文进行过滤,W保存有效报文; [000引其中,所述有效报文为所述局域网向所述广域网发送的上行TCP报文。
[0009] 较佳的,对将要从所述发送端发送至所述广域网的所述报文进行过滤的过程包括 步骤:
[0010] 查询所述报文的物理地址帖头,于所述物理地址帖头中的目标物理地址为广播地 址或组播地址时判定所述报文不是有效报文并丢弃。
[0011] 较佳的,对将要从所述发送端发送至所述广域网的所述报文进行过滤的过程还包 括步骤:
[0012] 查询所述报文中是否记录了所述网络适配器的所述网络适配器类型,于未记录所 述网络适配器类型时判定所述报文不是有效报文并丢弃。
[0013] 较佳的,对将要从所述发送端发送至所述广域网的所述报文进行过滤的过程还包 括步骤:
[0014] 提供一预设长度,于所述报文长度小于等于所述预设长度时判定所述报文不是有 效报文并丢弃。
[0015] 较佳的,于所述接收端截取自所述局域网向所述广域网发送的所述报文后,在所 述报文中添加源物理地址。
[0016] 较佳的,于所述接收端截取自所述局域网向所述广域网发送的所述报文后,还包 括步骤:
[0017] 判断所述网络适配器的是否为无线网络适配器;
[0018] 若是,将所述报文进行解析W转换为W太网帖的格式;否则,不做处理。
[0019] 本发明还提供了一种采集用户数据的装置,应用于路由器,所述路由器连接局域 网和广域网,所述装置包括:
[0020] 接收端截取模块,与所述路由器的网络适配器的接收端相连,用W于所述接收端 处截取自所述局域网向所述广域网发送的报文;
[0021] 发送端截取模块,与所述网络适配器的发送端相连,用W于所述发送端处截取自 所述局域网向所述广域网发送的报文。
[0022] 较佳的,所述发送端截取模块包括:
[0023] 过滤单元,与所述发送端相连,对将要从所述发送端发送至所述广域网的所述报 文进行过滤,W保存有效报文;
[0024] 其中,所述过滤单元包括:
[0025] 目标物理地址查询子单元,与所述发送端相连,用W查询所述报文的物理地址帖 头,于所述物理地址帖头中的目标物理地址为广播地址或组播地址时判定所述报文不是有 效报文并丢弃;
[0026] 网络适配器类型查询子单元,与所述发送端相连,用W查询所述报文中是否记录 了所述网络适配器的所述网络适配器类型,于未记录所述网络适配器类型时判定所述报文 不是有效报文并丢弃;
[0027] 长度判断子单元,与所述发送端相连,用W于所述报文长度小于等于预设长度时 判定所述报文不是有效报文并丢弃;
[0028] W及所述接收端截取模块包括:
[0029] 类型判定单元,与所述接收端相连,用W于所述接收端截取自所述局域网向所述 广域网发送的所述报文后判断所述网络适配器的是否为无线网络适配器;
[0030] 解析单元,与所述类型判定单元相连,用W于所述网络适配器为无线网络适配器 时将所述报文进行解析W转换为W太网帖的格式。
[0031] 上述技术方案具有如下优点或有益效果:(1)在有线网络适配器和无线网络适配 器的驱动的发送端中增加报文采集功能,降低了报文采集对协议找的依赖和加速模块的限 审IJ,提高了性能;(2)在网络适配器的接收端的保存的报文中增加了网络适配器类型和源物 理地址的记录,有效的记录了网络来源,为大数据分析做了基础;(3)本发明避开了在协议 找和加速模块中处理网络报文,减轻了协议找的负担,又避免了在加速模块中添加重复代 码的问题,能比较好的适应类似博通公司定制化较深的路由器;(4)在网络适配器的接收端 和发送端添加报文采集功能,简洁易懂。
【附图说明】
[0032] 参考所附附图,W更加充分的描述本发明的实施例。然而,所附附图仅用于说明和 阐述,并不构成对本发明范围的限制。
[0033] 图1为本发明一种采集用户数据的装置中接收端截取方法的流程示意图;
[0034] 图2为本发明一种采集用户数据的装置中接收端截取模块的结构示意图;
[0035] 图3为本发明一种采集用户数据的装置中发送端截取模块的结构示意图。
【具体实施方式】
[0036] 下面结合附图和具体实施例对本发明一种采集用户数据的方法及装置进行详细 说明。
[0037] 实施例一
[0038] 如图1所示,一种采集用户数据的方法中,应用于路由器,该路由器连接局域网和 广域网,在该方法中,分别从路由器的网络适配器的接收端和发送端截取报文。根据运些报 文,可W用于分析用户的上网行为。
[0039] 近一步来讲,在本实施例提供的方法中,还包括提供一存储结构,将截取的报文W 该存储结构进行保存。在实际应用中,该存储结构可W为SkJxiff结构。
[0040] 近一步来讲,于接收端截取自局域网向广域网发送的报文后,还需要在报文中添 加源物理地址。
[0041 ]近一步来讲,于接收端截取自局域网向广域网发送的报文后,还包括步骤:
[0042] 判断网络适配器的是否为无线网络适配器;
[0043] 若是,将报文进行解析W转换为W太网帖的格式;否则,不做处理。
[0044] 具体来说,本实施例提供的方法主要从路由器的网络适配器的接收端和发送端截 取报文,根据运些报文,可W用于分析用户的上网行为。因为实际应用中,所有的流经路由 器的网络数据包都会经过路由器的物理网络适配器的接收端和发送端,物理网络适配器的 驱动会在接收端收到所有需要路由器处理的报文,并在发送端发送所有由协议找和加速模 块处理完毕的报文。所W,只需要截取接收端和发送端的报文数据,不但能够避开繁忙的协 议找数据处理,减轻数据处理的工作量,同时不需要在加速模块和协议找中两个模块中增 加代码,降低功能的禪合性。
[0045] 具体来说,在从接收端获取报文的过程中,首先在接收端接收到报文后,将报文按 照一存储结构存储至协议找中,然后需要判断网络适配器类型是否为无线网络适配器。因 为,在实际应用中,有线网络适配器接收端接收到的报文的结构是按照标准的W太网帖的 格式出现,无线网络适配器接收端接收到的报文则需要进行解析,将其转换为W太网帖的 格式。表1为W太网帖头具体格式:
[0046] 表1MAC帖头格式
[00471
L0048J 此外,由于本实施例提出的方法的主要是用于抓取局域网发送来的数据报文,而 路由器会将访问局域网的报文的物理地址全部改成路由器自身的物理地址,运时网络适配 器发送端抓取的报文就无法区分是从哪个客户端发送来的。因此,在网络适配器的接收端 接收到报文后,需要将报文的源物理地址添加到保存的报文中。运种方式有效的记录了报 文的网络来源,为后续大数据的分析奠定了基础。
[0049] 除此之外,还需要在保存的报文中添加接收该报文的接收端的网络适配器的类 型。
[0050] 近一步来讲,上述提出的存储结构是SkJniff结构。在网络适配器接收到报文后, 将报文存WSkJxiff结构进行存储中,运时报文对应的SkJxiff结构的生命周期一直持续到 该报文在发送端发送完成。此外,将报文的源物理地址和接收端对应的网络适配器类型添 加至SkJniff结构中,即在SkJxiff结构中增加两个字段,一个字段来记录该报文的源物理 地址,另一个字段来记录网络适配器类型。具体来说,在该sk_buff结构中增加两个字段 smac和Sf lag, sk_buff-〉smac用来记录运个报文的源物理地址,sk_buff-〉sf lag用来记录 网络适配器的类型,用来区分有线网络适配器还是无线网络适配器。因为,当报文保存到本 地后,会对物理地址进行替换,如将表1中的MAC帖头进行替换,从路由器发送的报文的源物 理地址就会被修改成为路由器的物理地址,此时采集到的报文就无法区分是哪个客户端发 送的。因此,使用sk_buff-〉smac记录运个报文的源物理地址,运样就可W区分报文是来自 哪个客户端的。
[0051 ]值得指出的是,SkJxiff结构是1 inux内核的TCP/IP协议找最重要的结构,是网络 数据包在内核中的表现形式。路由器接收的报文和准备发送的报文均WskJxiff结构进行 存储。
[0052] 近一步来讲,在网络适配器准备发送报文时,将SkJxiff结构中的报文复制到日志 中,并上传至云服务器W进行存储。
[0053] 近一步来讲,从发送端获取报文的过程包括步骤:
[0054] 对将要从发送端发送至广域网的报文进行过滤,W保存有效报文。
[0055] 其中,有效报文为局域网向广域网发送的上行TCP报文。近一步来讲,上述有效报 文需要满足条件:上行TCP(化ansmission Con化〇1 Protocol,传输控制协议)报文、目标物 理地址不是组播或者广播包的报文、非路由器主动上报的报文。此外,对于握手报文等无用 的传输控制协议报文,不属于有效报文。
[0056] 值得指出的是,因为连接外网一般是有线网络适配器,且在有线网络适配器的发 送端,经过滤后的报文格式依然是W太网帖的格式。表巧日表3分别为载荷是IP和PPP的W太 网帖格式:
[0057] 表2载荷是IP的W太网帖格式 「msRl
[0061] 具体来说,对报文的过滤过程包括:
[0062] 查询SkJxiff结构中的物理地址帖头,检查源物理地址是否等于本网络适配器的 物理地址;
[0063] 查询sk_buff结构中的物理地址帖头,检查目标物理地址是否为广播地址或组播 地址;
[0064] 查询SkJxiff结构中是否记录了网络适配器类型,W判断WSkJxiff结构存储的报 文是否为路由器主动发送的;
[0065] 查询SkJxiff结构的长度,判断该长度是否小于等于预设长度;
[0066] 于源物理地址等于本网络适配器的物理地址和目标物理地址不是广播地址或组 播地址和SkJxiff结构中的报文不是路由器主动发送的和长度大于预设长度时,判定此时 sk_buf f结构中的报文为有效报文。
[0067] 简单来说:1、有效报文时上行TCP报文;2、查询报文的物理地址帖头,于物理地址 帖头中的目标物理地址为广播地址或组播地址时判定报文不是有效报文并丢弃;3、查询报 文中是否记录了网络适配器的网络适配器类型,于未记录网络适配器类型时判定报文不是 有效报文并丢弃;4、提供一预设长度,于报文长度小于等于预设长度时判定报文不是有效 报文并丢弃。
[0068] 具体来讲,用户发送的有意义的报文需为上行TCP报文,其源物理地址要等于网络 适配器的物理地址。此外,若是组播包或运广播包,则在分析用户行为时意义不大,所W需 要剔除目标物理地址为广播地址或组播地址的报文。
[0069] 在实际应用中,路由器还会主动发送报文,该报文同样会经过发送端,如果对运些 报文进行复制截取,会影响到对用户行为的分析。此外,用户发送报文至接收端时,将报文 的源物理地址和接收端对应的网络适配器类型添加至保存的报文中。所W,在判断发送端 要发送的报文是否为路由器主动发送的,只需要查询保存的报文中是否记录了网络适配器 类型,若没有,则表示当前报文是路由器主动发送的。即路由器主动发送的报文并不会经过 路由器的接收端,因为该报文中网络适配器的类型没有进行设置。
[0070] 除此之外,在实际应用中发送端还会发送TCP握手报文等大量的无用报文,截取运 些报文不但增加工作量且对后续用户行为的分析没有意义。所W,在发送端获取的有效报 文中,并不包括运些无用的报文,运就需要对报文进行分析,W提出无用的报文。值得指出 的是,无用的TCP报文通常长度较小,而有效报文的长度较大。所W在本实施例中设置一预 设长度,若保存的报文的长度小于等于该预设长度,则判定为无用报文,不需要进行复制抓 取等后续操作;若保存的报文的长度大于该预设长度,则在满足了其余=个条件的同时,会 被判定为有效报文。较优的实施方式中,上述预设长度可设置为82字节。
[0071] 值得指出的是,实际应用中,在判定报文是否同时满足上行TCP报文、目标物理地 址不是组播或者广播包的报文、非路由器主动上报的报文W及长度大于预设长度的报文四 个条件的过程中,其判定顺序不做限定,但是只有当四个条件同时满足时,才能判定该报文 是有效报文。
[0072] 本实施例在有线网络适配器和无线网络适配器的驱动的发送端中增加报文采集 功能,降低了报文采集对协议找的依赖和加速模块的限制,提高了性能。同时,在网络适配 器的接收端的保存的报文中增加了网络适配器类型和源物理地址的记录,有效的记录了网 络来源,为大数据分析做了基础。
[0073] 该方法避开了在协议找和加速模块中处理网络报文,减轻了协议找的负担,又避 免了在加速模块中添加重复代码的问题,能比较好的适应类似博通公司定制化较深的路由 器。在网络适配器的接收端和发送端添加报文采集功能,简洁易懂。
[0074] 实施例二
[0075] 根据上述实施例提出的一种采集用户数据的方法,本实施例提出了一种采集用户 数据的装置。
[0076] -种采集用户数据的装置,包括:
[0077] 接收端截取模块1,与路由器的网络适配器的接收端相连,用W于接收端处截取自 所述局域网向广域网发送的报文;
[0078] 发送端截取模块2,与网络适配器的发送端相连,用W于发送端处截取自局域网向 广域网发送的报文。
[0079] 具体来说,本实施例提供的装置包括接收端截取模块1和发送端截取模块2相连, 运两个截取模块分别用来截取路由器网络适配器接收端和发送端的报文数据。因为实际应 用中,所有的流经路由器的网络数据包都会经过路由器的物理网络适配器的接收端和发送 端,物理网络适配器的驱动会在接收端收到所有需要路由器处理的报文,并在发送端发送 所有由协议找和加速模块处理完毕的报文。所W,只需要截取接收端和发送端的报文数据, 不但能够避开繁忙的协议找数据处理,减轻数据处理的工作量,同时不需要在加速模块和 协议找中两个模块中增加代码,降低功能的禪合性。
[0080] 近一步来讲,如图2所示,发送端截取模块2包括:
[0081] 过滤单元21,与发送端相连,对将要从发送端发送至广域网的报文进行过滤,W保 存有效报文;
[0082] 其中,过滤单元21包括:
[0083] 目标物理地址查询子单元211,与发送端相连,用W查询报文的物理地址帖头,于 物理地址帖头中的目标物理地址为广播地址或组播地址时判定报文不是有效报文并丢弃;
[0084] 网络适配器类型查询子单元212,与发送端相连,用W查询报文中是否记录了网络 适配器的所述网络适配器类型,于未记录网络适配器类型时判定报文不是有效报文并丢 弃;
[0085] 长度判断子单元213,与发送端相连,用W于报文长度小于等于预设长度时判定报 文不是有效报文并丢弃。
[0086] 具体来说,在接收端接收到报文后,由过滤单元21对将要从所述发送端发送至所 述广域网的所述报文进行过滤,W保存有效报文。其中,过滤单元21又包括目标物理地址查 询子单元211、网络适配器类型查询子单元212W及长度判断子单元213。目标物理地址查询 子单元211主要用W查询所述报文的物理地址帖头,于所述物理地址帖头中的目标物理地 址为广播地址或组播地址时判定所述报文不是有效报文并丢弃;网络适配器类型查询子单 元212主要用W查询所述报文中是否记录了所述网络适配器的所述网络适配器类型,于未 记录所述网络适配器类型时判定所述报文不是有效报文并丢弃;长度判断子单元213主要 于所述报文长度小于等于预设长度时判定所述报文不是有效报文并丢弃。即通过运=个子 单元,实现了对报文的筛选,W保留有效报文。
[0087] 近一步来讲,如图3所示,接收端截取模块1包括:
[0088] 类型判定单元11,与接收端相连,用W于接收端截取自局域网向广域网发送的报 文后判断网络适配器的是否为无线网络适配器;
[0089] 解析单元12,与类型判定单元11相连,用W于网络适配器为无线网络适配器时将 报文进行解析W转换为W太网帖的格式。
[0090] 体来说,在接收端截取报文后,类型判定单元11判断网络适配器的网络适配器类 型是否为无线网络适配器,若是,则利用解析单元12将报文进行解析W转换为W太网帖的 格式。
[0091] 对于本领域的技术人员而言,阅读上述说明后,各种变化和修正无疑将显而易见。 因此,所附的权利要求书应看作是涵盖本发明的真实意图和范围的全部变化和修正。在权 利要求书范围内任何和所有等价的范围与内容,都应认为仍属本发明的意图和范围内。
【主权项】
1. 一种采集用户数据的方法,应用于路由器,所述路由器连接局域网和广域网,其特征 在于,分别于所述路由器的网络适配器的接收端和发送端截取自所述局域网向所述广域网 发送的报文。2. 根据权利要求1所述的采集用户数据的方法,其特征在于,提供一存储结构,将截取 的所述报文以所述存储结构进行保存。3. 根据权利要求2所述的采集用户数据的方法,其特征在于,从所述发送端获取所述报 文的过程包括步骤: 对将要从所述发送端发送至所述广域网的所述报文进行过滤,以保存有效报文; 其中,所述有效报文为所述局域网向所述广域网发送的上行TCP报文。4. 根据权利要求3所述的采集用户数据的方法,其特征在于,对将要从所述发送端发送 至所述广域网的所述报文进行过滤的过程包括步骤: 查询所述报文的物理地址帧头,于所述物理地址帧头中的目标物理地址为广播地址或 组播地址时判定所述报文不是有效报文并丢弃。5. 根据权利要求3所述的采集用户数据的方法,其特征在于,对将要从所述发送端发送 至所述广域网的所述报文进行过滤的过程还包括步骤: 查询所述报文中是否记录了所述网络适配器的所述网络适配器类型,于未记录所述网 络适配器类型时判定所述报文不是有效报文并丢弃。6. 根据权利要求3所述的采集用户数据的方法,其特征在于,对将要从所述发送端发送 至所述广域网的所述报文进行过滤的过程还包括步骤: 提供一预设长度,于所述报文长度小于等于所述预设长度时判定所述报文不是有效报 文并丢弃。7. 根据权利要求1所述的采集用户数据的方法,其特征在于,于所述接收端截取自所述 局域网向所述广域网发送的所述报文后,在所述报文中添加源物理地址。8. 根据权利要求1所述的采集用户数据的方法,其特征在于,于所述接收端截取自所述 局域网向所述广域网发送的所述报文后,还包括步骤: 判断所述网络适配器的是否为无线网络适配器; 若是,将所述报文进行解析以转换为以太网帧的格式;否则,不做处理。9. 一种采集用户数据的装置,应用于路由器,所述路由器连接局域网和广域网,其特征 在于,所述装置包括: 接收端截取模块(1 ),与所述路由器的网络适配器的接收端相连,用以于所述接收端处 截取自所述局域网向所述广域网发送的报文; 发送端截取模块(2),与所述网络适配器的发送端相连,用以于所述发送端处截取自所 述局域网向所述广域网发送的报文。10. 根据权利要求9所述的采集用户数据的装置,其特征在于,所述发送端截取模块(2) 包括: 过滤单元(21 ),与所述发送端相连,对将要从所述发送端发送至所述广域网的所述报 文进行过滤,以保存有效报文; 其中,所述过滤单元(21)包括: 目标物理地址查询子单元(211 ),与所述发送端相连,用以查询所述报文的物理地址帧 头,于所述物理地址帧头中的目标物理地址为广播地址或组播地址时判定所述报文不是有 效报文并丢弃; 网络适配器类型查询子单元(212),与所述发送端相连,用以查询所述报文中是否记录 了所述网络适配器的所述网络适配器类型,于未记录所述网络适配器类型时判定所述报文 不是有效报文并丢弃; 长度判断子单元(213),与所述发送端相连,用以于所述报文长度小于等于预设长度时 判定所述报文不是有效报文并丢弃; 以及所述接收端截取模块(1)包括: 类型判定单元(11),与所述接收端相连,用以于所述接收端截取自所述局域网向所述 广域网发送的所述报文后判断所述网络适配器的是否为无线网络适配器; 解析单元(12),与所述类型判定单元(11)相连,用以于所述网络适配器为无线网络适 配器时将所述报文进行解析以转换为以太网帧的格式。
【文档编号】H04L12/26GK105978707SQ201610261724
【公开日】2016年9月28日
【申请日】2016年4月25日
【发明人】方迪
【申请人】上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1