CN118018458A - 一种基于嵌入路由器的网络流量采集方法、装置及系统 - Google Patents

一种基于嵌入路由器的网络流量采集方法、装置及系统 Download PDF

Info

Publication number
CN118018458A
CN118018458A CN202410017348.5A CN202410017348A CN118018458A CN 118018458 A CN118018458 A CN 118018458A CN 202410017348 A CN202410017348 A CN 202410017348A CN 118018458 A CN118018458 A CN 118018458A
Authority
CN
China
Prior art keywords
wan
network
lan
address
bridge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410017348.5A
Other languages
English (en)
Inventor
朱良顺
招嘉焕
陶洋
陈小军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Lubangtong IoT Co Ltd
Original Assignee
Guangzhou Lubangtong IoT Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Lubangtong IoT Co Ltd filed Critical Guangzhou Lubangtong IoT Co Ltd
Priority to CN202410017348.5A priority Critical patent/CN118018458A/zh
Publication of CN118018458A publication Critical patent/CN118018458A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及计算机技术领域,公开了一种基于嵌入路由器的网络流量采集方法,包括以下步骤:步骤1:获取PC的IP地址或MAC地址;步骤2:同时复制LAN‑to‑WAN网络封包和WAN‑to‑LAN网络封包;步骤3:把复制的LAN‑to‑WAN网络封包和WAN‑to‑LAN网络封包的目的MAC修改为PC的MAC地址,并通过转发或广播的方式发送至网桥的接收端口上;网桥的接收端口用于连接PC并使PC获取LAN‑to‑WAN网络封包和WAN‑to‑LAN网络封包。还提供了一种基于嵌入路由器的网络流量采集装置,包括如下单元:获取单元、复制单元和发送单元。还提供了一种基于嵌入路由器的网络流量采集系统,包括上述所述的装置以及PC。本方法可以通过一个端口收集双向网络流量,提高效率,降低成本。

Description

一种基于嵌入路由器的网络流量采集方法、装置及系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于嵌入路由器的网络流量采集方法和装置。
背景技术
目前网络工程师或者路由器的使用者为了采集网络流量,并加以统计与分析,通常采用的方法有两种:
1、嵌入式路由器自身具有网络流量采集功能(如sniffer,通过网页访问路由器,调用tcpdump等工具抓取网络流量),该方法受制于嵌入式路由器的存储空间,CPU等资源限制,通常不能长时间抓取网络流量,只能短时间抓取网络流量,而短时间的网络流量采取,由于数据量相对较少,会影响故障分析,降低分析的准确性。
2、如果想采集路由器WAN端流量,需要将WAN端口与PC一起连接在HUB上,然后HUB接入外网,在PC上利用Sniffer工具获得进出WAN端口的网络流量;如果想获得LAN端口的流量,则需要将HUB接于路由器的LAN端口,LAN中的PC全部连接在HUB上,然后利用其中一台PC上的Sniffer抓取网络流量。这种方法不能同时获取LAN-to-WAN与WAN-to-LAN的网络流量,也无法跟踪网络流量在路由器内部的运作状况,而且需要连接HUB等设备才能实现跟踪,抓取网络封包,操作比较复杂。通常需要维护人员给予指导才能完成,提高了网络流量采集的复杂性,提高了企业的经营成本。
CN114598493A公开了一种网络流量采集方法,包括以下步骤:S1:在提供网络流量的服务器上抓取网络流量,以文件的形式保存为流量文件;S2:将流量文件发送到数据安全监控平台所在服务器的指定目录下;S3:在数据安全监控平台上,读取配置文件,获取流量文件的配置信息;配置信息包括流量文件所在目录、目录搜索层级、文件格式和文件排序方式;S4:网络流量采集的扫描模块周期性地定时扫描指定目录,筛选出指定文件格式的文件,将所有未处理文件按照指定文件排序方式进行排序;S5:网络流量采集的处理模块按照文件的排序顺序,依次读取文件信息、解析文件、获取网络报文包;S6:网络协议解析程序解析网络流量,输出格式化数据,存入数据库;S7:数据分析模块将格式化数据经过算法转换,输出分析结果,存入数据库,供web前端展示使用。该方法也是通过端口采集网络流量,但是并没有说明哪个方向的网络流量,按照一般的技术还是只能采集连接端口的网络流量,无法实现双向网络流量的采集。
本发明需要解决的技术问题是:如何实现将LAN-to-WAN和WAN-to-LAN的封包同时抓取,无需在路由器上外接多台PC或者Hub分别抓取两个方向的封包,提高效率,减少设备的投入量,降低成本。
发明内容
本发明的主要目的是提供一种基于嵌入路由器的网络流量采集方法,通过Linux内核,把LAN-to-WAN和WAN-to-LAN的封包复制并发送至一个PC中,从而实现通过LAN端口同时抓取WAN和LAN端的网络流量。
为实现上述目的,本申请所采用的技术方案:
一种基于嵌入路由器的网络流量采集方法,包括以下步骤:
步骤1:获取PC的IP地址或MAC地址;当获取PC的IP地址时,发送ARP请求,获得该IP地址对应的MAC地址;
步骤2:同时复制LAN-to-WAN网络封包和WAN-to-LAN网络封包;通过交换芯片把LAN-to-WAN网络封包发送至网桥上,并在网桥上进行复制;通过路由的方式把WAN-to-LAN网络封包发送至网桥上,并在网桥上进行复制;
步骤3:把复制的LAN-to-WAN网络封包和WAN-to-LAN网络封包的目的MAC修改为PC的MAC地址,并通过转发或广播的方式发送至网桥的接收端口上;网桥的接收端口用于连接PC并使PC获取LAN-to-WAN网络封包和WAN-to-LAN网络封包。
优选地,所述步骤1具体为:获取PC的IP地址或MAC地址;当获取PC的IP地址时,发送ARP请求,获得该IP地址对应的MAC地址,并记录网桥的接收端口。
优选地,所述步骤2还包括:当WAN-to-LAN网络封包的目的IP地址不是WAN Port的IP地址,直接进行路由;当WAN-to-LAN网络封包的目的IP地址是WAN Port的IP地址,则先进行Destination NAT,再进行路由。
优选地,所述步骤3具体为:网桥把复制的LAN-to-WAN网络封包和WAN-to-LAN网络封包的目的MAC地址修改为PC的MAC地址,并通过转发或广播的方式发送至网桥的接收端口上;当步骤1中直接获得MAC地址时,通过广播的方式发送至网桥的全部端口上;当步骤1中通过IP地址获得MAC地址时,通过转发的方式发送至网桥的接收端口上。
优选地,还包括步骤4:原始的LAN-to-WAN网络封包和WAN-to-LAN网络封包不修改目的MAC地址,按照原始路径进行发送和接收。
优选地,所述网桥的接收端口为记录了PC的MAC地址的网桥端口。
其中,需要说明的是:
LAN-to-WAN:用户发送数据至互联网的方向,简单意思就是上传。
WAN-to-LAN:互联网发送数据至用户的方向,简单意思就是下载。
estination NAT:estination NAT是一种网络地址转换技术,用于将源地址转换为目标地址。当数据包通过网络设备时,它的目标地址被转换为一个新的目标地址,以便将数据包发送到正确的目标主机。这种转换可以在网络层或传输层进行。
MAC地址:网络中每台设备都有一个唯一的网络标识,这个地址叫MAC地址或网卡地址,由网络设备制造商生产时写在硬件内部。
ARP Request:为ARP协议的其中一个过程。用于获取未记载的PC的MAC地址。
还提供了一种基于嵌入路由器的网络流量采集装置,包括如下单元:
获取单元:用于获取PC的IP地址或MAC地址;
复制单元:用于同时复制LAN-to-WAN网络封包和WAN-to-LAN网络封包;
发送单元:用于把复制的LAN-to-WAN网络封包和WAN-to-LAN网络封包的目的MAC修改为PC的MAC地址,并通过转发或广播的方式发送至网桥的接收端口上。
还提供了一种基于嵌入路由器的网络流量采集系统,包括上述所述的装置以及PC;所述PC用于接收复制的LAN-to-WAN网络封包和WAN-to-LAN网络封包,并进行分析。
与现有技术相比,本方案具有以下有益效果:
本方案的网络流量采集方法,修改嵌入式路由器的Linux内核,在路由器内部,通过网桥复制LAN端的网络流量,再通过网桥的连接端口发送至PC中,而WAN端的网络流量由于不经过网桥,因此,采用路由的方式,把WAN端的网络流量发送至网桥的连接端口,再把WAN端的网络流量发送至PC中,从而使用一个LAN端的连接端口同时接收LAN-to-WAN和WAN-to-LAN的封包,无需在路由器上外接多台PC或者Hub分别抓取两个方向的封包,减少设备投入,而且操作简单方便,而且,在路由器出故障之时,可以请求用户配合抓取封包,无需维护人员上门服务,降低维护成本。
其次,本方法只需修改Linux内核,无需其他额外的软件支持即可实现流量采集,有利于排除故障,优化路由器性能。被采集的封包在第二层转发,不必穿越上层协议栈和防火墙,对原始的封包影响很小,有利于进行分析。
附图说明
图1为实施例1的基于嵌入路由器的网络流量采集方法的流程图;
图2为实施例2的基于嵌入路由器的网络流量采集装置的框图;
图3为实施例3的基于嵌入路由器的网络流量采集系统的框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施的组件可以以各种不同的配置来布置和设计。
实施例1
参考图1,一种基于嵌入路由器的网络流量采集方法,包括以下步骤:
步骤1:获取PC的IP地址或MAC地址;当获取PC的IP地址时,发送ARP请求,获得该IP地址对应的MAC地址,并记录网桥的接收端口。
在本实施例中,首先指定用于采集流量的PC的MAC地址或者IP地址。如果指定PC的IP地址,则首先发送ARP请求(ARP Request)获得该IP地址所对应的MAC地址,因为该技术在MAC(第二层)实现,所以必须取得MAC地址。在进行ARP Request的过程中,发送ARP请求取得该IP映射的MAC地址,同时,Linux内核在网桥的Bridging Table中记录了该MAC地址位于网桥的哪个端口。
步骤2:同时复制LAN-to-WAN网络封包和WAN-to-LAN网络封包;通过交换芯片把LAN-to-WAN网络封包发送至网桥上,并在网桥上进行复制;通过路由的方式把WAN-to-LAN网络封包发送至网桥上,并在网桥上进行复制;当WAN-to-LAN网络封包的目的IP地址不是WAN Port的IP地址,直接进行路由;当WAN-to-LAN网络封包的目的IP地址是WAN Port的IP地址,则先进行Destination NAT,再进行路由。
路由器的交换芯片(Ethernet Driver)接收LAN-to-WAN网络封包,并把LAN-to-WAN网络封包发送至网桥上,网桥上绑定有LAN端口,网桥对LAN-to-WAN网络封包进行bridging(第二层交换),此时LAN-to-WAN网络封包的目的MAC为网桥上的某个端口的MAC地址,也就是说该LAN-to-WAN网络封包的目的地为路由器本身,出网桥之后会送往上层协议栈(IP层)处理,而不会从网桥上直接发送到以太网络中。为了将该封包发送到指定的PC上,在网桥上将原有的LAN-to-WAN网络封包复制一份。
由于WAN通常没有绑定到网桥上,WAN-to-LAN网络封包经交换芯片(EthernetDriver)接收之后不会发送到网桥上进行bridging,而是上送到IP层做进一步处理。在该协议层,WAN-to-LAN网络封包的目的IP地址有两种情形:当目的地址不是路由器的WAN端口的IP地址,此情况将进行路由;当目的地址就是路由器的WAN端口的IP地址,此情况首先做Destination NAT,之后进行路由。两种情况的WAN-to-LAN网络封包最终到达网桥的LAN端口,然后从MAC(第二层)发送出去。而为了将WAN-to-LAN网络封包采集到指定的PC上,需要在MAC(第二层)调用发送函数之时,将WAN-to-LAN网络封包复制一份。
步骤3:网桥把复制的LAN-to-WAN网络封包和WAN-to-LAN网络封包的目的MAC修改为PC的MAC地址,并通过转发或广播的方式发送至网桥的接收端口上;当步骤1中直接获得MAC地址时,通过广播的方式发送至网桥的全部端口上;当步骤1中通过IP地址获得MAC地址时,通过转发的方式发送至网桥的接收端口上。
如果获取IP地址,因为要先发送ARP请求取得该IP映射的MAC地址,此时Linux内核在网桥的Bridging Table中记录了该MAC位于网桥的哪个端口之后的以太网中,所以当LAN-to-WAN网络封包和WAN-to-LAN网络封包上到网桥之后,Linux内核查询BridgingTable中的记录,从而知道哪个网桥端口连接有PC,并把LAN-to-WAN网络封包和WAN-to-LAN网络封包从该网桥端口发送出去给PC。
如果直接获取PC的MAC地址,没有发送ARP请求,网桥上的Bridging Table就没有记录该MAC位于网桥的哪个端口,因此,路由器需要把LAN-to-WAN网络封包和WAN-to-LAN网络封包广播到所有的网桥端口当中,从而保证连接有PC的网桥端口获取LAN-to-WAN网络封包和WAN-to-LAN网络封包。所以直接指定PC的MAC地址会影响到路由器的性能,优选获取PC的IP地址,保障路由器的性能。
优选地,还包括步骤4:原始的LAN-to-WAN网络封包和WAN-to-LAN网络封包不修改目的MAC地址,按照原始路径进行发送和接收。
原来的LAN-to-WAN网络封包的目的MAC地址不变,所以依然经原有的路径穿越内核协议栈。原来的WAN-to-LAN网络封包依然到达它的目的MAC地址所指向的PC。保障用户和路由器能够在采集网络流量的过程中,能够正常工作。
优选地,所述网桥的接收端口为记录了PC的MAC地址的网桥端口。
综上所述,本发明的优势在于:
1、该技术可以克服路由器自带sniffer功能受制于路由器有限资源的限制,长期跟踪流量,解决一些复杂的网络问题。
2、可以将LAN-to-WAN和WAN-to-LAN的封包同时抓取,无需在路由器上外接多台PC或者Hub分别抓取两个方向的封包,减少设备投入,而且操作简单方便,在路由器出故障之时,可以请求用户配合抓取封包,无需维护人员上门服务。所述Hub为集线器,指将多条以太网双绞线或光纤集合连接在同一段物理介质下的设备。集线器是运作在OSI模型中的物理层。它可以视作多端口的中继器。
3、该技术只需修改Linux内核,无需其他额外的软件支持即可实现流量采集,有利于排除故障,优化路由器性能。
4、被采集的封包在第二层转发,不必穿越上层协议栈和防火墙,对原始的封包影响很小。
实施例2
参考图2,一种基于嵌入路由器的网络流量采集装置,包括如下单元:
获取单元:用于获取PC的IP地址或MAC地址;
复制单元:用于同时复制LAN-to-WAN网络封包和WAN-to-LAN网络封包;
发送单元:用于把复制的LAN-to-WAN网络封包和WAN-to-LAN网络封包的目的MAC地址修改为PC的MAC地址,并通过转发或广播的方式发送至网桥的接收端口上。
在本实施例中,网络流量采集装置的具体工作流程为:获取单元优先获取外部的PC的IP地址,通过ARP Request获取MAC地址,并把MAC地址发送至发送获取单元中。复制单元把工作中产生的LAN-to-WAN网络封包发送至网桥中,并在网桥中复制LAN-to-WAN网络封包;由于网桥上没有绑定WAN端口,因此,复制单元不会把WAN-to-LAN网络封包直接发送至网桥上,而是通过路由的方式,把WAN-to-LAN网络封包发送至网桥上,并且在网桥中复制LAN-to-WAN网络封包,把复制后的LAN-to-WAN网络封包和WAN-to-LAN网络封包发送至发送单元。发送单元把复制的LAN-to-WAN网络封包和WAN-to-LAN网络封包的目的MAC地址修改为PC的MAC地址,并通过转发的方式发送至与PC的MAC地址相对应的网桥的接收端口上,所述网桥的接收端口属于LAN端的端口。
其次,获取单元也可以直接获取PC的MAC地址,具体流程与上述流程基本相同,区别在于:发送单元通过广播的方式发送至网桥的所有端口上,包括与PC的MAC地址相对应的网桥的接收端口。但是,由于广播会发送至网桥的所有端口,会占用路由器更多的功能,导致路由器的性能会下降。因此,根据实际的需求,也是可以选择直接获取MAC地址。
实施例3
参考图3,一种基于嵌入路由器的网络流量采集系统,包括上述所述的装置以及PC;所述PC用于接收复制的LAN-to-WAN网络封包和WAN-to-LAN网络封包,并进行分析。
在本实施例中,PC只需要与装置连接,并把自己的IP地址或MAC地址发送至获取单元上,装置完成网络流量的采集后,把相关的网络流量发送至PC中,PC用Sniffer在混杂(Promiscuity)模式下抓取被定向的封包,并对封包进行分析,找出故障原因。工作人员只需要携带一个PC就可以完成双向网络流量的采集,无需携带多个PC或Hub进行采集,方便工作人员上门工作。其次,工作人员甚至可以不需要上门服务,只要用户通过连接路由器,再用Sniffer抓取网络流量,并把网络流量远程发送给工作人员,工作人员再接收网络流量并分析,降低维护服务成本,提高效率。
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (8)

1.一种基于嵌入路由器的网络流量采集方法,其特征在于,包括以下步骤:
步骤1:获取PC的IP地址或MAC地址;当获取PC的IP地址时,发送ARP请求,获得该IP地址对应的MAC地址;
步骤2:同时复制LAN-to-WAN网络封包和WAN-to-LAN网络封包;通过交换芯片把LAN-to-WAN网络封包发送至网桥上,并在网桥上进行复制;通过路由的方式把WAN-to-LAN网络封包发送至网桥上,并在网桥上进行复制;
步骤3:把复制的LAN-to-WAN网络封包和WAN-to-LAN网络封包的目的MAC修改为PC的MAC地址,并通过转发或广播的方式发送至网桥的接收端口上;网桥的接收端口用于连接PC并使PC获取LAN-to-WAN网络封包和WAN-to-LAN网络封包。
2.根据权利要求1所述的基于嵌入路由器的网络流量采集方法,其特征在于,所述步骤1具体为:获取PC的IP地址或MAC地址;当获取PC的IP地址时,发送ARP请求,获得该IP地址对应的MAC地址,并记录网桥的接收端口。
3.根据权利要求1所述的基于嵌入路由器的网络流量采集方法,其特征在于,所述步骤2还包括:当WAN-to-LAN网络封包的目的IP地址不是WAN Port的IP地址,直接进行路由;当WAN-to-LAN网络封包的目的IP地址是WAN Port的IP地址,则先进行Destination NAT,再进行路由。
4.根据权利要求1所述的基于嵌入路由器的网络流量采集方法,其特征在于,所述步骤3具体为:网桥把复制的LAN-to-WAN网络封包和WAN-to-LAN网络封包的目的MAC地址修改为PC的MAC地址,并通过转发或广播的方式发送至网桥的接收端口上;当步骤1中直接获得MAC地址时,通过广播的方式发送至网桥的全部端口上;当步骤1中通过IP地址获得MAC地址时,通过转发的方式发送至网桥的接收端口上。
5.根据权利要求1所述的基于嵌入路由器的网络流量采集方法,其特征在于,还包括步骤4:原始的LAN-to-WAN网络封包和WAN-to-LAN网络封包不修改目的MAC地址,按照原始路径进行发送和接收。
6.根据权利要求1所述的基于嵌入路由器的网络流量采集方法,其特征在于,所述网桥的接收端口为记录了PC的MAC地址的网桥端口。
7.一种基于嵌入路由器的网络流量采集装置,其特征在于,包括如下单元:
获取单元:用于获取PC的IP地址或MAC地址;
复制单元:用于同时复制LAN-to-WAN网络封包和WAN-to-LAN网络封包;
发送单元:用于把复制的LAN-to-WAN网络封包和WAN-to-LAN网络封包的目的MAC修改为PC的MAC地址,并通过转发或广播的方式发送至网桥的接收端口上。
8.一种基于嵌入路由器的网络流量采集系统,其特征在于,包括如权利要求7所述的装置以及PC;所述PC用于接收复制的LAN-to-WAN网络封包和WAN-to-LAN网络封包,并进行分析。
CN202410017348.5A 2024-01-03 2024-01-03 一种基于嵌入路由器的网络流量采集方法、装置及系统 Pending CN118018458A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410017348.5A CN118018458A (zh) 2024-01-03 2024-01-03 一种基于嵌入路由器的网络流量采集方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410017348.5A CN118018458A (zh) 2024-01-03 2024-01-03 一种基于嵌入路由器的网络流量采集方法、装置及系统

Publications (1)

Publication Number Publication Date
CN118018458A true CN118018458A (zh) 2024-05-10

Family

ID=90943685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410017348.5A Pending CN118018458A (zh) 2024-01-03 2024-01-03 一种基于嵌入路由器的网络流量采集方法、装置及系统

Country Status (1)

Country Link
CN (1) CN118018458A (zh)

Similar Documents

Publication Publication Date Title
JP4008432B2 (ja) ネットワーク機器のトポロジを探索する装置および方法
US9455873B2 (en) End-to-end analysis of transactions in networks with traffic-altering devices
JP4483100B2 (ja) ネットワーク間接続装置
CN114143203A (zh) 一种基于动态服务拓扑映射的Kubernetes容器网络数据包指标采集的方法及系统
CN110855493B (zh) 用于混合环境的应用拓扑图绘制装置
CN1875585A (zh) 利用mac限制来控制动态未知l2泛滥
US11153185B2 (en) Network device snapshots
US9137305B2 (en) Information processing device, computer-readable recording medium, and control method
CN113572645B (zh) 生成网络拓扑的方法、装置、存储介质和处理器
CN102752219B (zh) 用于实现vd互连的方法和交换设备
JP4935210B2 (ja) ネットワーク接続形態検出方法及びシステム、並びにネットワーク機器
CN113347258B (zh) 云流量下的数据采集监控分析的方法及系统
WO2020060628A1 (en) Packet capture via packet tagging
JP2012004781A (ja) 構成情報取得方法、仮想プローブおよび構成情報取得制御装置
EP3588859A1 (en) Network device configuration versioning
CN100583830C (zh) 流量采集和分析的方法和装置
CN102164048B (zh) 局域网络中实现多运营商接入的数据流优化装置及方法
US20040215781A1 (en) Techniques for determining device connectivity in a network using protocol-specific connectivity information
CN100492985C (zh) 基于以太网媒体接入控制层的网络设备的管理方法
CN107566218A (zh) 一种适用于云环境的流量审计方法
CN113518045B (zh) 一种流量采集配置方法、流量采集方法及设备
CN118018458A (zh) 一种基于嵌入路由器的网络流量采集方法、装置及系统
CN101183994A (zh) 一种网络通信数据流信息统计系统及方法
KR102318686B1 (ko) 개선된 네트워크 보안 방법
CN105743675A (zh) 信息采集方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination