本发明专利技术公开的一种海量日志转发方法,将流经网卡的数据包流量进行拦截,对关心的数据包进行复制后,修改数据包的目的IP,最后修改好的数据包重新放入网络协议栈中,根据目的IP进行相应的路由设置,将数据包发送至转发目的地址,从而实现日志转发功能;本发明专利技术的有益效果是,确保多个平台都能够通过日志的来源IP对设备进行定位,提升了网络数据包拷贝和修改效率。
【技术实现步骤摘要】
本专利技术属于软件应用
,具体涉及一种海量日志转发方法。
技术介绍
随着云计算技术的发展,云计算数据中心的运维和管理显得十分重要,云计算数据中心运维和管理过程中大部分需要各种设备和应用的日志信息,多个管理平台同时收集设备日志,但是当设备不支持往多个目的地址发送,这样就无法满足过个平台同时收集日志的需求,如果针对syslog日志,采用syslog日志自身转发功能,可以实现syslog日志的转发,但是转发后的日志源地址发生了改变,如果接收syslog日志的平台不支持主机链查询的话,那么该平台接收syslog日志的来源IP将表示为转发主机的IP,这样该平台就无法通过来源IP识别发送syslog日志的具体设备。
技术实现思路
本专利技术的目的是提供一种海量日志转发方法,解决了现有技术中存在的转发平台无法通过来源IP识别发送日志的具体设备的问题。本专利技术所采用的技术方案是,一种海量日志转发方法,具体按照以下步骤实施:步骤1,将日志信息网络数据包进行拦截技术处理,获取网络数据的IP包,并将获取的网络IP包放入存储网络数据包的双向链表中;步骤2,对步骤2获取的网络数据IP包基于网络接口和网络协议进行网络数据包过滤技术处理,得到保留IP数据包;步骤3,将步骤2所得到的保留IP数据包做数据包重构,将网络协议栈中的保留IP数据包进行拷贝和修改,拷贝重新生成的网络数据包,依然使用双向链表对其进行控制和修改;步骤4,对步骤3中的网络数据包多次路由转发技术处理。本专利技术的特点还在于,步骤1中的拦截技术具体指,网络接口中定义回调函数,当网络数据包进入网络协议栈后就会调用回调函数,该回调函数位于网络的数据链路层,在网络的数据链路层,根据网络接口定义对网络数据包进行拦截处理,获取网络数据的IP包,并将获取的网络IP包放入存储网络数据包的双向链表中。步骤2中的过滤技术具体指,在存储网络数据包的双向链表中,通过链路层头指针找到链路层头信息,根据链路层头信息可找到网络接口卡所有信息,对所关心的网络接口进行网络数据包的过滤。网络数据包过滤是指,在存储网络数据包的双向链表中,根据数据偏移量信息获取传输层头信息、传输层头信息的内容找TCP/UDP协议信息以及UDP协议的目的端口等三个条件对网络数据包进行过滤。步骤3中的拷贝和修改具体指,在网络接口中定义回调函数,对网络数据包完成过滤后进行调用回调函数,在该回调函数进行网络数据包的内存空间的分配,将过滤后的网络数据包拷贝至新分配的内存空间中,拷贝重新生成的网络数据包,依然使用双向链表对其进行控制和修改。在网络数据包的双向链表中获取网络层头信息,根据网络层头信息的内容对网络数据包的目的IP地址进行修改,主要是将网络数据包的目的IP修改为转发目的地址的IP。步骤4中的网络数据包多次路由转发技术具体指,在日志转发系统中采用数组的形式存储指定转发目的地址IP和网络接口等参数,以循环的形式对数组进行遍历,遍历过程中将符合转发条件的网络数据包进行拷贝和相应的目的地址修改,将改造后的网络数据包放入数据包转发模块中,数据包转发模块根据网络数据包的目的地址IP进行路由选择,根据相应的路由信息将网络数据包发送至修改后的目的地。本专利技术的有益效果是,一种海量日志转发方法,在海量日志转发处理过程中,解决了网络设备日志不支持多目的IP发送的问题,同时保证转发后的日志信息的源IP不被修改,确保多个平台都能够通过日志的来源IP对设备进行定位,通过使用网络数据包的过滤技术对网络数据包拷贝和修改技术进行优化,提升了网络数据包拷贝和修改效率。附图说明图1是一种海量日志转发方法转发示意图;图2是一种海量日志转发方法转发流程图。具体实施方式下面结合附图和具体实施方式对本专利技术进行详细说明。本专利技术一种海量日志转发方法,转发示意图如图1所示,发送端待转发日志通过日志转发模块被发送至日志接收端的各个应用平台,具体转发流程图如图2所示,按照以下步骤实施:步骤1,将日志信息网络数据包进行拦截技术处理,获取网络数据的IP包,并将获取的网络IP包放入存储网络数据包的双向链表中;步骤2,对步骤1获取的网络数据IP包基于网络接口和网络协议进行网络数据包过滤技术处理,得到保留IP数据包;步骤3,将步骤2所得到的保留IP数据包做数据包重构,将网络协议栈中的保留IP数据包进行拷贝和修改,拷贝重新生成的网络数据包,依然使用双向链表对其进行控制和修改;步骤4,对步骤3中的网络数据包多次路由转发技术处理。步骤1中的拦截技术具体指,网络接口中定义回调函数,当网络数据包进入网络协议栈后就会调用回调函数,该回调函数位于网络的数据链路层,在网络的数据链路层,根据网络接口定义对网络数据包进行拦截处理,获取网络数据的IP包,并将获取的网络IP包放入存储网络数据包的双向链表中。步骤2中的过滤技术具体指,在存储网络数据包的双向链表中,通过链路层头指针找到链路层头信息,根据链路层头信息可找到网络接口卡所有信息,对所关心的网络接口进行网络数据包的过滤。网络数据包过滤是指,在存储网络数据包的双向链表中,根据数据偏移量信息获取传输层头信息、传输层头信息的内容找TCP/UDP协议信息以及UDP协议的目的端口等三个条件对网络数据包进行过滤。步骤3中的拷贝和修改具体指,在网络接口中定义回调函数,对网络数据包完成过滤后进行调用回调函数,在该回调函数进行网络数据包的内存空间的分配,将过滤后的网络数据包拷贝至新分配的内存空间中,拷贝重新生成的网络数据包,依然使用双向链表对其进行控制和修改。在网络数据包的双向链表中获取网络层头信息,根据网络层头信息的内容对网络数据包的目的IP地址进行修改,主要是将网络数据包的目的IP修改为转发目的地址的IP。步骤4中的网络数据包多次路由转发技术具体指,在日志转发系统中采用数组的形式存储指定转发目的地址IP和网络接口等参数,以循环的形式对数组进行遍历,遍历过程中将符合转发条件的网络数据包进行拷贝和相应的目的地址修改,将改造后的网络数据包放入数据包转发模块中,数据包转发模块根据网络数据包的目的地址IP进行路由选择,根据相应的路由信息将网络数据包发送至修改后的目的地。经过以上四个步骤,日志信息的网络数据包只是修改了数据包中的目的地址IP,并在修改数据包目本文档来自技高网...

【技术保护点】
一种海量日志转发方法,其特征在于,具体按照以下步骤实施:步骤1,将日志信息网络数据包进行拦截技术处理,获取网络数据的IP包,并将获取的网络数据的IP包放入存储网络数据包的双向链表中;步骤2,对步骤1获取的网络数据IP包基于网络接口和网络协议进行网络数据包过滤技术处理,得到保留IP数据包;步骤3,将步骤2所得到的保留IP数据包做数据包重构,将网络协议栈中的保留IP数据包进行拷贝和修改,拷贝重新生成的网络数据包,依然使用双向链表对其进行控制和修改;步骤4,对步骤3中的重新生成的网络数据包多次路由转发技术处理。
【技术特征摘要】
1.一种海量日志转发方法,其特征在于,具体按照以下步骤实
施:
步骤1,将日志信息网络数据包进行拦截技术处理,获取网络数
据的IP包,并将获取的网络数据的IP包放入存储网络数据包的双向
链表中;
步骤2,对步骤1获取的网络数据IP包基于网络接口和网络协议
进行网络数据包过滤技术处理,得到保留IP数据包;
步骤3,将步骤2所得到的保留IP数据包做数据包重构,将网络
协议栈中的保留IP数据包进行拷贝和修改,拷贝重新生成的网络数
据包,依然使用双向链表对其进行控制和修改;
步骤4,对步骤3中的重新生成的网络数据包多次路由转发技术
处理。
2.根据权利要求1所述的一种海量日志转发方法,其特征在于,
所述步骤1中拦截技术具体指,网络接口中定义回调函数,当网络数
据包进入网络协议栈后就会调用回调函数,该回调函数位于网络的数
据链路层,在网络的数据链路层,根据网络接口定义对网络数据包进
行拦截处理,获取网络数据的IP包,并将获取的网络IP包放入存储
网络数据包的双向链表中。
3.根据权利要求1所述的一种海量日志转发方法,其特征在于,
所述步骤2中过滤技术具体指,在存储网络数据包的双向链表中,通
\t过链路层头指针找到链路层头信息,根据链路层头信息可找到网络接
口卡所有信息,对所关心的网络接口进行网络数据包的过滤。
4.根据权利要...
【专利技术属性】
技术研发人员:朱志祥,王茜,史晨昱,赵伟,刘盛辉,王佩,
申请(专利权)人:西安未来国际信息股份有限公司,西安邮电大学,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。