基于netfilter框架下的端口数据镜像实现方法
【技术领域】
[0001]本发明涉及网络安全技术领域,具体涉及一种基于netfilter框架下的端口数据镜像实现方法。
【背景技术】
[0002]通常,网络管理工作中为了方便对一个或多个网络接口的流量进行分析(如IDS产品、网络分析仪等),可以通过配置交换机或路由器来把一个或多个端口的数据转发到某一个端口,称为端口镜像,用以实现对网络的监听和数据分析、排错等。端口镜像功能大多在交换机或路由器等网络设备上实现,该功能是对网络流量监控的一个有效的安全手段,同时对监控流量的分析可以进行安全性的检查,也能及时地在网络发生故障时进行准确的定位。
[0003]交换机或路由器通过电路级的交换技术实现端口镜像,特点是速度快、延迟小,对端口的正常吞吐流量影响不大,但技术实现复杂,很难通过纯软件方法模拟,因此缺少一种通过简单易用的软件方法完成中小规模网络中多个端口数据镜像分析的手段。
【发明内容】
[0004]有鉴于此,本发明的主要目的在于提供一种基于netfilter框架下的端口数据镜像实现方法。
[0005]为达到上述目的,本发明的技术方案是这样实现的:
本发明公开了一种基于netfilter框架下的端口数据镜像实现方法,其特征在于,该方法为:网络设备预设需要被镜像的端口与镜像口,判断数据包进入或发出的端口是否是需要被镜像的端口,当确定所述数据包是需要被镜像的端口进入或发出时,将所述数据包复制并发送到镜像口。
[0006]上述方案中,所述将所述数据包复制并发送到镜像口之后,该方法还包括:网络设备对镜像口进行数据包捕获。
[0007]上述方案中,所述当确定所述数据包是需要被镜像的端口进入或发出时,将所述数据包复制并发送到镜像口,具体为:当数据包从某一端口进入,经过PREROUTING检测点时,触发回调函数执行,确定所述数据包的入端口为需要镜像的端口时,将所述数据包复制并发送到镜像口 ;当数据包从某个端口发出,经过P0STR0UTING检测点时,触发回调函数执行,确定所述数据包的出端口为需要镜像的端口时,将所述数据包复制并发送到镜像口。
[0008]与现有技术相比,本发明的有益效果:
本发明不需要专门的网络交换机或路由器,易用性和扩展性较好;数据包经复制后直接发送到镜像口,无过多复杂处理流程,易于在网关设备上按照此方法快速移植,并达到与交换机基本一致的镜像功能要求。
【附图说明】
[0009]图1为本发明实施例提供一种基于netfilter框架下的端口数据镜像实现方法的流程图。
【具体实施方式】
[0010]下面结合附图和【具体实施方式】对本发明进行详细说明。
[0011]本发明实施例提供一种基于netfilter框架下的端口数据镜像实现方法,该方法为:网络设备预设需要被镜像的端口与镜像口,判断数据包进入或发出的端口是否是需要被镜像的端口,当确定所述数据包是需要被镜像的端口进入或发出时,将所述数据包复制并发送到镜像口。
[0012]该方法具体通过以下步骤实现:
步骤101:网络设备预设需要被镜像的端口与镜像口。
[0013]具体的,需要被镜像的端口可以是设备上的一个或多个任意接口,镜像口为排除被镜像口之外的某一个接口,且只能是一个。例如网络设备上共有8个接口,被镜像口选择接口 0到接口 5,则镜像口可选择接口 6或接口 7中任意一个。
[0014]步骤102:判断数据包进入或发出的端口是否是需要被镜像的端口,当确定所述数据包是需要被镜像的端口进入或发出时,将所述数据包复制并发送到镜像口。
[0015]具体的,当数据包从某一端口进入,经过PREROUTING检测点时,触发该检测点事先注册的回调过程执行,回凋过程用来对数据包进行处理,先取得该数据包skb结构中的入端口,并判断该入端口是否为被镜像口中的某一端口,如果确定所述数据包的入端口为需要镜像的端口时,将所述数据包复制并发送到镜像口;同样,当数据包从某个端口发出,经过P0STR0UTING检测点时,触发该检测点事先注册的回调过程执行,首先取得该数据包skb结构中的出端口,并判断该出端口是否为被镜像口中的某一端口,如果确定所述数据包的出端口为需要镜像的端口时,将所述数据包复制并发送到镜像口。
[0016]步骤103:所述网络设备对镜像口进行数据包捕获。
[0017]具体的,通过对镜像口进行数据包捕获,能够捕获到需要被镜像的端口接收和发送的http数据包。
[0018]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【主权项】
1.一种基于netfilter框架下的端口数据镜像实现方法,其特征在于,该方法为:网络设备预设需要被镜像的端口与镜像口,判断数据包进入或发出的端口是否是需要被镜像的端口,当确定所述数据包是需要被镜像的端口进入或发出时,将所述数据包复制并发送到镜像口。2.根据权利要求1所述的基于netfilter框架下的端口数据镜像实现方法,其特征在于,所述将所述数据包复制并发送到镜像口之后,该方法还包括:网络设备对镜像口进行数据包捕获。3.根据权利要求1或2所述的基于netfilter框架下的端口数据镜像实现方法,其特征在于,所述当确定所述数据包是需要被镜像的端口进入或发出时,将所述数据包复制并发送到镜像口,具体为:当数据包从某一端口进入,经过PREROUTING检测点时,触发回调函数执行,确定所述数据包的入端口为需要镜像的端口时,将所述数据包复制并发送到镜像口 ;当数据包从某个端口发出,经过P0STR0UTING检测点时,触发回调函数执行,确定所述数据包的出端口为需要镜像的端口时,将所述数据包复制并发送到镜像口。
【专利摘要】本发明公开了一种基于netfilter框架下的端口数据镜像实现方法,网络设备预设需要被镜像的端口与镜像口,判断数据包进入或发出的端口是否是需要被镜像的端口,当确定所述数据包是需要被镜像的端口进入或发出时,将所述数据包复制并发送到镜像口。本发明不需要专门的网络交换机或路由器,易用性和扩展性较好;数据包经复制后直接发送到镜像口,无过多复杂处理流程,易于在网关设备上按照此方法快速移植,并达到与交换机基本一致的镜像功能要求。
【IPC分类】H04L12/931
【公开号】CN105306388
【申请号】CN201510747597
【发明人】刘亚轩, 何建锋, 王平, 郭增晖
【申请人】西安交大捷普网络科技有限公司
【公开日】2016年2月3日
【申请日】2015年11月6日