CN106911710A - 面向cloudstack的数据流量监听方法 - Google Patents
面向cloudstack的数据流量监听方法 Download PDFInfo
- Publication number
- CN106911710A CN106911710A CN201710200435.4A CN201710200435A CN106911710A CN 106911710 A CN106911710 A CN 106911710A CN 201710200435 A CN201710200435 A CN 201710200435A CN 106911710 A CN106911710 A CN 106911710A
- Authority
- CN
- China
- Prior art keywords
- cloudstack
- data traffic
- monitor method
- traffic monitor
- submodule
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Technology Law (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种面向cloudstack的数据流量监听方法,对部署在cloudstack的每一台Hypervisor集群主机的所有虚拟网卡,通过脚本文件的形式通过一抓包子模块调用抓包工具进行24小时不间断自动抓包;将包文件通过一本地存储子模块,并将包文件以统一的命令格式存储在文件夹内;通过一包分析子模块对该文件夹内信息进行解析,对cloudstack上的虚拟网卡级的数据流量进行监控。本发明提供的一种面向cloudstack的数据流量监听方法,通过对cloudstack云平台上的数据包初步分析找出对应的虚拟机,为后续的网络安全防护提供了基础。
Description
技术领域
本发明涉及云计算领域,特别是一种面向cloudstack的数据流量监听方法。
背景技术
在传统的信息安全时代主要采用隔离作为安全的手段,具体分为物理隔离、内外网隔离、加密隔离,实践证明这种隔离手段针对传统IT架构能起到有效的防护。随着云计算的兴起,这种隔离为主体思想的传统信息安全在新的IT架构中已经日益难以应对了。公有云的典型场景是多租户共享,但和传统IT架构相比,原来的可信边界彻底被打破了,威胁可能直接来自于相邻租户,云安全变得尤为重要。CloudStack 是一个开源的云操作系统,它可以帮助用户利用自己的硬件提供类似于Amazon EC2那样的公共云服务,它可以通过组织和协调用户的虚拟化资源,构建一个和谐的环境,并且可以让用户构建一个安全的多租户云计算环境。
发明内容
本发明的目的在于提供一种面向cloudstack的数据流量监听方法,以克服现有技术中存在的缺陷。
为实现上述目的,本发明的技术方案是:一种面向cloudstack的数据流量监听方法,对部署在cloudstack的每一台Hypervisor集群主机的所有虚拟网卡,通过脚本文件的形式通过一抓包子模块调用抓包工具进行24小时不间断自动抓包;将抓取的包文件通过一本地存储子模块,并将包以统一的命令格式存储在文件夹内;通过一包分析子模块对该文件夹内信息进行解析,对cloudstack上的虚拟网卡级的数据流量进行监控。
在本发明一实施例中,所述抓包子模块包括一TcpDump工具,运行在所有Hypervisor集群主机上,采用shell脚本的形式将网络中传送的数据包完全截获下来提供分析,支持针对网络层、协议、主机、网络或端口的过滤,并通过逻辑语句去掉无用的信息。
在本发明一实施例中,所述cloudstack中的liunx虚拟机的虚拟网卡以ens命名,通过ip命令和grep命令过滤虚拟网卡信息,存储在本地主机,并按行遍历,通过所述TcpDump工具对相应的虚拟网卡进行抓包。
在本发明一实施例中,所述ip命令用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道。
在本发明一实施例中,每轮抓包持续30秒。
在本发明一实施例中,所述本地存储子模块对一个Hypervisor集群主机上所有虚拟网卡的包文件,采用以统一的命名格式将其存储在本地主机的文件夹内,并对包文件的数量进行控制,用于包文件的分析。
在本发明一实施例中,所述包文件采用虚拟网卡id+时间戳的形式存储在本地主机。
在本发明一实施例中,对已经存好的包文件进行滚动刷新,每一张虚拟网卡所抓取的包数量不超过10个;检测超过时,删除最先存储的包文件;并在下一轮抓包前,杀死上一轮残留的抓包进程。
在本发明一实施例中,所述包分析子模块调用cloudstack接口获得包文件所在主本地主机信息,远端连接该本地主机,通过一tcpdump对本地主机存储的包文件进行反向解析,对包中信息进行读取,识别数据包文件的来源地址、目标地址和所在网络信息,返回包文件匹配的虚拟机信息。
在本发明一实施例中,所述抓包子模块和所述本地存储子模块以liunx的脚本形式存储于每一台本地主机中。
相较于现有技术,本发明具有以下有益效果:一种面向cloudstack的数据流量监听方法,以linux命令行的形式运行于cloudstack的主机之上,所需要的内存等需求很少,部署过程不会给现有系统带来性能上的负担,即使是出现故障也不会影响系统的正常运行,具备易部署、无风险的特点; 通过本方法可以对cloudstack上的虚拟机达到网卡级的数据流量监控,为所有cloudstack用户安全防护的制定提供了基础。
附图说明
图1为本发明中面向cloudstack的数据流量监听方法的流程图。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明提供一种面向cloudstack的数据流量监听方法,部署在cloudstack的每一台Hypervisor集群主机之上,针对每一台主机上的所有虚拟网卡,通过脚本文件的形式来调用抓包工具进行24小时不间断自动抓包,并将包以统一的命令格式存储在文件夹内,从而达到对cloudstack上的虚拟网卡级的数据流量进行监控。
进一步的,cloudstack的网络架构,CloudStack中根据不同的数据流量类型设计了管理,公共,客户及存储网络。当虚拟机需要访问Internet或外部网络时,需要通过公共网络;最终用户运行CloudStack创建的虚拟机实例时产生Guest流量,虚拟机实例之间的相互通信通过客户网络;CloudStack内部资源通过管理网络相互通信会产生Management流量,这些流量包括管理服务器节点与Hypervisor集群之间的通信,与系统虚拟机之间的通信或与其它组件之间的通信等;主存储与Hypervisor之间互连互通的流量会通过存储网络,主存储与二级存储之间也会产生Stroage流量,比如虚拟机模板和快照的搬移。我们通过对虚拟机的虚拟网卡的流量包进行监控,分析流量异常,从而防备流量攻击,保证集群的安全性。
进一步的,在本实施例中,面向cloudstack的数据流量监听方法通过三个模块完成,包括:抓包子模块,本地存储子模块,包分析子模块。
抓包子模块:TcpDump工具可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。我们用shell脚本的形式完成这一模块,并把它运行在所有Hypervisor集群主机上。
本地存储子模块:对于一个Hypervisor集群主机上所有虚拟网卡的抓包文件信息,以统一的命名格式使其存储在本地,并对其数量做出控制,以便后续包文件分析的展开。
包分析子模块:对于本地存储的包文件通过tcpdump反向解析包文件,对包中相关信息进行读取,识别数据包的来源地址、目标地址和所在网络信息,返回包相关的虚拟机信息。
进一步的,cloudstack集群中的liunx虚拟机的虚拟网卡以ens命名。抓包子模块的流程如下:
找寻ens网卡,存储信息。通过linux自带的ip和grep命令来过滤所需要的虚拟网卡信息,并将它存储在本地主机。ip命令用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。具体命令行代码如下:
/usr/sbin/ip a |grep ens > /home/vir.txt
sed -i 's/^...//' /home/vir.txt
sed -i 's/:.*//' /home/vir.txt
其中,sed是一个文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作。通过采用两条sed语句实现了过滤存储的信息,使得文件中按行存储每一个以ens开头的虚拟网卡id。
进一步的,对本地存储文件进行按行遍历,对相应的虚拟网卡进行抓包。Tcpdump是根据使用者的定义对网络上的数据包进行截获的包分析工具。具体命令行代码实现如下:
for val in $list
do
/usr/sbin/tcpdump -i $val -n -w /test/$val$(date +%s).pcap -s 0 &
…
done
sleep 30
其中,tcpdump命令行中 -i指定tcpdump 需要监听的接口,通过对文件中虚拟网卡id进行遍历,选定监听的接口。-n对地址(比如, 主机地址, 端口号)进行数字表示到名字表示的转换。-w把包数据直接写入文件而不进行分析和打印输出。这些包数据可在随后通过-r 选项来重新读入并进行分析和打印。-s 0设置tcpdump的数据包抓取长度为0。为了便于后续对指定网卡所抓的包文件进行分析和管理,对于所抓取的包文件,以虚拟网卡id加时间戳的形式存储在本地。每轮抓包持续30秒。
进一步的,为了保证抓包数据的实时性,同时又要考虑到存储问题。在本实施例中,对已经存好的包数据文件进行滚动刷新,每一张虚拟网卡所抓取的包数量不超过10个,检测超过时,删除最先存储的包。具体命令行代码实现如下:
/usr/bin/find /test/ |grep $val |/usr/bin/sort > /home/count.txt
count=`/usr/bin/cat /home/count.txt | /usr/bin/wc -l`
while (( $count>9 ))
do
filename=`/usr/bin/cat /home/count.txt | /usr/bin/awk 'NR==1{print $0}' /home/count.txt`
/usr/bin/rm -rf $filename
/usr/bin/find /test/ |grep $val > /home/count.txt
count=`/usr/bin/cat /home/count.txt | /usr/bin/wc -l`
done
其中,cat命令主要用来查看文件内容,创建文件,文件合并,追加文件内容等功能。wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。find命令在目录结构中搜索文件,并执行指定的操作。sort命令是帮我们依据不同的数据类型进行排序。 awk是一个文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得更为高效。awk把文件逐行的读入,以空格为默认分隔符将每行切片,并对切开的部分再进行对应的各种分析处理。
进一步的,当完成上述过程后,进行下一轮抓包前,杀死上一轮残留的抓包进程,具体代码如下:
dump=`/usr/bin/ps -ef|grep "tcpdump -i $list"|grep pcap | /usr/bin/awk '{print $2}'`
kill -9 $dump
其中,ps命令是进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等等。
进一步的,抓包子模块和本地存储子模块以liunx的脚本形式存储于每一台主机中。
进一步的,包分析子模块对相关包文件进行反解析分析,调用cloudstack接口获得包所在主机信息,远端连接主机并通过tcpdump –r命令反向解析包文件,对包中相关信息进行读取,识别数据包的来源地址、目标地址和所在网络信息等信息,返回包所在的虚拟机信息,从而对云中的虚拟机安全进行防护提供了基础。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (10)
1.一种面向cloudstack的数据流量监听方法,其特征在于,对部署在cloudstack的每一台Hypervisor集群主机的所有虚拟网卡,通过脚本文件的形式通过一抓包子模块调用抓包工具进行24小时不间断自动抓包;将抓取的包文件通过一本地存储子模块,并将包以统一的命令格式存储在文件夹内;通过一包分析子模块对该文件夹内信息进行解析,对cloudstack上的虚拟网卡级的数据流量进行监控。
2.根据权利要求1所述的面向cloudstack的数据流量监听方法,其特征在于,所述抓包子模块包括一TcpDump工具,运行在所有Hypervisor集群主机上,采用shell脚本的形式将网络中传送的数据包完全截获下来提供分析,支持针对网络层、协议、主机、网络或端口的过滤,并通过逻辑语句去掉无用的信息。
3.根据权利要求2所述的面向cloudstack的数据流量监听方法,其特征在于,所述cloudstack中的liunx虚拟机的虚拟网卡以ens命名,通过ip命令和grep命令过滤虚拟网卡信息,存储在本地主机,并按行遍历,通过所述TcpDump工具对相应的虚拟网卡进行抓包。
4.根据权利要求3所述的面向cloudstack的数据流量监听方法,其特征在于,所述ip命令用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道。
5.根据权利要求3所述的面向cloudstack的数据流量监听方法,其特征在于,每轮抓包持续30秒。
6.根据权利要求1所述的面向cloudstack的数据流量监听方法,其特征在于,所述本地存储子模块对一个Hypervisor集群主机上所有虚拟网卡的包文件,采用以统一的命名格式将其存储在本地主机的文件夹内,并对包文件的数量进行控制,用于包文件的分析。
7.根据权利要求6所述的面向cloudstack的数据流量监听方法,其特征在于,所述包文件采用虚拟网卡id+时间戳的形式存储在本地主机。
8.根据权利要求6所述的面向cloudstack的数据流量监听方法,其特征在于,对已经存好的包文件进行滚动刷新,每一张虚拟网卡所抓取的包数量不超过10个;检测超过时,删除最先存储的包文件;并在下一轮抓包前,杀死上一轮残留的抓包进程。
9.根据权利要求1所述的面向cloudstack的数据流量监听方法,其特征在于,所述包分析子模块调用cloudstack接口获得包文件所在主本地主机信息,远端连接该本地主机,通过一tcpdump对本地主机存储的包文件进行反向解析,对包中信息进行读取,识别数据包文件的来源地址、目标地址和所在网络信息,返回包文件匹配的虚拟机信息。
10.根据权利要求1所述的面向cloudstack的数据流量监听方法,其特征在于,所述抓包子模块和所述本地存储子模块以liunx的脚本形式存储于每一台本地主机中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710200435.4A CN106911710A (zh) | 2017-03-30 | 2017-03-30 | 面向cloudstack的数据流量监听方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710200435.4A CN106911710A (zh) | 2017-03-30 | 2017-03-30 | 面向cloudstack的数据流量监听方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106911710A true CN106911710A (zh) | 2017-06-30 |
Family
ID=59194935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710200435.4A Pending CN106911710A (zh) | 2017-03-30 | 2017-03-30 | 面向cloudstack的数据流量监听方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106911710A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135234A (zh) * | 2017-07-03 | 2017-09-05 | 福建六壬网安股份有限公司 | 一种数据流量监听控制的方法和装置 |
CN109474492A (zh) * | 2018-11-26 | 2019-03-15 | 许继集团有限公司 | 一种报文捕获及定位方法 |
CN113347036A (zh) * | 2021-06-04 | 2021-09-03 | 上海天旦网络科技发展有限公司 | 利用公有云存储实现云环境旁路监控方法及系统 |
CN114598493A (zh) * | 2022-01-14 | 2022-06-07 | 浙江省通信产业服务有限公司 | 一种网络流量采集方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102870377A (zh) * | 2012-06-30 | 2013-01-09 | 华为技术有限公司 | 虚拟端口监控方法和设备 |
US20130080627A1 (en) * | 2011-09-27 | 2013-03-28 | Oracle International Corporation | System and method for surge protection and rate acceleration in a traffic director environment |
CN103354530A (zh) * | 2013-07-18 | 2013-10-16 | 北京启明星辰信息技术股份有限公司 | 虚拟化网络边界数据流汇聚方法及装置 |
US20150043334A1 (en) * | 2013-08-09 | 2015-02-12 | Vmware, Inc. | Method and system for managing network storm |
CN105099822A (zh) * | 2015-08-04 | 2015-11-25 | 北京瑞汛世纪科技有限公司 | 一种测量网络性能的方法和物理机 |
CN105847091A (zh) * | 2016-05-27 | 2016-08-10 | 微梦创科网络科技(中国)有限公司 | 一种android系统实时监测网络流量的方法、装置及系统 |
-
2017
- 2017-03-30 CN CN201710200435.4A patent/CN106911710A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130080627A1 (en) * | 2011-09-27 | 2013-03-28 | Oracle International Corporation | System and method for surge protection and rate acceleration in a traffic director environment |
CN102870377A (zh) * | 2012-06-30 | 2013-01-09 | 华为技术有限公司 | 虚拟端口监控方法和设备 |
CN103354530A (zh) * | 2013-07-18 | 2013-10-16 | 北京启明星辰信息技术股份有限公司 | 虚拟化网络边界数据流汇聚方法及装置 |
US20150043334A1 (en) * | 2013-08-09 | 2015-02-12 | Vmware, Inc. | Method and system for managing network storm |
CN105099822A (zh) * | 2015-08-04 | 2015-11-25 | 北京瑞汛世纪科技有限公司 | 一种测量网络性能的方法和物理机 |
CN105847091A (zh) * | 2016-05-27 | 2016-08-10 | 微梦创科网络科技(中国)有限公司 | 一种android系统实时监测网络流量的方法、装置及系统 |
Non-Patent Citations (3)
Title |
---|
邓胜东: ""面向资源服务的基于Linux内核的虚拟机异常监控系统研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
陆飞跃: ""网络流量控制系统的分析及实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
鲍娟: ""基于嵌入式Linux的网络流量监测系统"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107135234A (zh) * | 2017-07-03 | 2017-09-05 | 福建六壬网安股份有限公司 | 一种数据流量监听控制的方法和装置 |
CN109474492A (zh) * | 2018-11-26 | 2019-03-15 | 许继集团有限公司 | 一种报文捕获及定位方法 |
CN109474492B (zh) * | 2018-11-26 | 2021-04-20 | 许继集团有限公司 | 一种报文捕获及定位方法 |
CN113347036A (zh) * | 2021-06-04 | 2021-09-03 | 上海天旦网络科技发展有限公司 | 利用公有云存储实现云环境旁路监控方法及系统 |
CN113347036B (zh) * | 2021-06-04 | 2022-10-11 | 上海天旦网络科技发展有限公司 | 利用公有云存储实现云环境旁路监控方法及系统 |
CN114598493A (zh) * | 2022-01-14 | 2022-06-07 | 浙江省通信产业服务有限公司 | 一种网络流量采集方法 |
CN114598493B (zh) * | 2022-01-14 | 2023-09-05 | 浙江省通信产业服务有限公司 | 一种网络流量采集方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110535831B (zh) | 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质 | |
CN106911710A (zh) | 面向cloudstack的数据流量监听方法 | |
CN104063473B (zh) | 一种数据库审计监测系统及其方法 | |
CN104700024B (zh) | 一种Unix类主机用户操作指令审计的方法和系统 | |
CN107135234A (zh) | 一种数据流量监听控制的方法和装置 | |
WO2011106971A1 (zh) | 一种网管系统故障的诊断方法和系统 | |
CN108762966A (zh) | 系统异常拦截方法、装置、计算机设备及存储介质 | |
CN110012088A (zh) | 一种基于Kubernets的Redis主从集群自动化部署方案 | |
CN111046011A (zh) | 日志收集方法、系统、节点、电子设备及可读存储介质 | |
CN107995242A (zh) | 一种业务处理方法及系统 | |
CN109088773B (zh) | 故障自愈方法、装置、服务器及存储介质 | |
CN105005528A (zh) | 一种日志信息提取方法及装置 | |
US20130111018A1 (en) | Passive monitoring of virtual systems using agent-less, offline indexing | |
US20160352573A1 (en) | Method and System for Detecting Network Upgrades | |
CN107426021A (zh) | 冗余系统的构建方法、装置及冗余系统 | |
WO2013061213A1 (en) | Passive monitoring of virtual systems using extensible indexing | |
US20130339801A1 (en) | System and method for log and trace diagnostics and analytics | |
CN112350854A (zh) | 一种流量故障定位方法、装置、设备及存储介质 | |
CN109274761A (zh) | 一种nas集群节点、系统以及数据访问方法 | |
CN107635003A (zh) | 系统日志的管理方法、装置及系统 | |
CN105718299A (zh) | 虚拟机的配置方法、装置及系统 | |
JP4485112B2 (ja) | ログデータの収集管理方法および装置 | |
CN105096014A (zh) | 远程录制作业运行情况的方法和系统 | |
CN111193643A (zh) | 一种云服务器状态监控系统及方法 | |
CN110519147A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170630 |