一种基于进程的网络数据流量分析方法
技术领域
本发明涉及一种基于进程的网络数据流量分析方法,特别是涉及一种适用 于网络安全领域的,基于进程的网络数据流量分析方法。
背景技术
随着网络技术的不断发展,网络安全显得越来越重要。为了发现网络中存 在的问题,需要对网络数据进行分析,在现有的网络分析软件中都是针对网络 数据包,数据包的地址、会话、协议等来进行分析,但是这样的分析却不能知 道这些数据包的来源,是由什么软件产生的,不能直接定位到产生该问题的软 件本身;同时,现有的一些关于进程的分析软件,也仅仅只是对进程的通信流 量进行了统计,而没有再进一步的对通信数据进行分析,这样简单的分析只能 看出某个进程通信数据的多少,然而对我们发现网络问题并进行进一步的分析 没有多大的意义。
发明内容
计算机所有的通信数据必然都是由相关的软件来产生的,如果能够知道数 据产生的具体软件,那么对我们分析网络问题就显得非常直观;同时,我们对 进程通信过程中的物理地址、IP地址、物理会话、IP会话、TCP会话、UDP 会话、数据包和协议等进行分析,可以知道一个进程下所有网络通信的动作。 这样,分析人员可以快速定位到网络问题所在的进程,找到网络问题的原因所 在。
本发明要解决的技术问题是提供一种能够进一步发现网络问题,改善网络 安全的,基于进程的网络数据流量分析方法。
本发明采用的技术方案如下:一种基于进程的网络数据流量分析方法,具 体方法为:
一、在驱动层,确定会话与计算机进程之间的关联关系,会话由四元组以 及协议来确定,计算机进程则由进程标识符(PID)来确定,由进程PID便可 以知道进程信息;所述四元组包括源IP地址、源端口、目的IP地址和目的端 口;
二、在分析模块,包括,
对进程的网络数据流量进行统计,包括:当前计算机网络通信中的进程总 数以及进程信息;进程的网络通信流量;进程通信过程中的各种协议的流量; 进程通信过程中各IP地址和物理地址的通信流量;
进程网络数据的分析,包括:进程通信过程中产生的物理地址、IP地址、 物理会话、IP会话、协议、TCP会话、UDP会话和数据包;以及物理地址、IP 地址、物理会话、IP会话和协议对应的多个进程(可能多个不同的进程使用相 同的协议来访问相同的物理地址、IP地址);通过进程与物理地址、IP地址、 物理会话、IP会话、协议、TCP会话、UDP会话和数据包进行交叉分析;
所述进程信息包括进程的名称和路径。
通过进程与物理地址、IP地址、物理会话、IP会话、协议、TCP会话、 UDP会话和数据包进行交叉分析,可以从不同的角度来对进程进行分析,从而 对查找网络问题提供帮助。
所述方法还包括,三、在应用层,将进程相关的统计数据在界面中展示出 来,以便使用这些数据来对进程相关的问题进行分析。
所述进程与物理地址、IP地址、物理会话、IP会话、协议、TCP会话、 UDP会话和数据包进行交叉分析的具体方法为:在捕获的数据包确定其对应的 进程之后,根据数据包对应的物理地址、IP地址、物理会话、IP会话、TCP会 话和UDP会话针对进程进行统计与分析,并且将统计数据与进程进行关联; 对数据包的协议,先分析出数据包的协议信息,按照协议进行统计与分析,并 且将协议的统计数据与进程进行关联。根据这些数据的交叉统计与分析,来实 现进程分析。
针对进程分析,在我们的分析过程中,可能会看到某个进程在跟某一个奇 怪的IP地址时不时的有一些会话,或者一些我们并没有使用过的、奇怪命名的 进程,发现它们存在网络通信,那么分析人员就可以重点分析这些IP地址和进 程的通信过程,来发现网络问题,这些都能体现出进程分析的重要性,为网络 安全分析提供帮助。
所述方法还包括,对进行网络分析功能进行可配置设置,设置启用/禁用进 程网络分析功能,这样可以在不需要进程分析功能的情况下,整个软件的分析 性能不受到影响。
进程的统计包括了所有网络通信数据的进程统计数据,包括总的字节数、 数据包数、接收字节数、接收数据包数、发送字节数、发送数据包数、每秒字 节、每秒位、每秒数据包、发送/接收比率和进程文件路径等多项统计数据,可 以根据这些统计数据,非常直观的看出各个进程的网络通信状态、发送/接收数 据量的大小等等。
进程的协议统计包括了该进程通信过程中使用到的所有通信协议,以及各 协议的统计数据,包括协议的字节数、数据包数、接收字节、接收数据包、发 送字节、发送数据包、字节发收比和包发收比等。通过协议的统计数据,可以 直观地看到进程在通信过程中主要使用的网络协议,以及各协议网络通信数据 量。
进程的IP地址统计包括了该进程通信过程中所有相关的IP地址,以及这 些IP地址的字节数、数据包数、接收字节、接收数据包、发送字节、发送数据 包、字节发收比和包发收比等统计信息。
进程的TCP会话统计包括了该进程通信过程中所有的TCP会话数据,以 及TCP会话的数据包数、字节数、协议、持续时间、发送字节数、接收字节 数、发送数据包数、接收数据包数、开始发包时间和最后发包时间等统计数 据。
进程的UDP会话统计包括了该进程通信过程中所有的UDP会话数据,以 及UDP会话的数据包数、字节数、协议、持续时间、发送字节数、接收字节 数、发送数据包数、接收数据包数、开始发包时间和最后发包时间等统计数 据。
所述方法还包括,采用树形结构展示当前网络通信过程中进程的相关信 息,包括进行名称和PID标示符;其中,进程名称以进程文件路径为标识,对 于相同的进程文件,以“PID+序号”进行标识。
进程的数据包统计包括了该进程通信过程中所有的通信数据包,数据包的 信息包括数据包的时间、源地址/端口、目的地址/端口、协议、大小和概要信 息等数据,以及数据包解码,根据数据包对应的协议来进行解码,和数据包的 原始数据等,可以得到非常详细的数据包的数据。
进程的TOP统计包括了进程的总流量(数据包/字节)、TCP会话总数和 UDP会话总数等的TOP10统计,可以直观的看到那些进程在当前通信过程中 会话数据量较大。
与现有技术相比,本发明的有益效果是:从进程的角度来看整个计算机的 网络情况,对于网络问题可以直接定位到某一个进程,使得问题的分析得到简 化,通过进程与物理地址、IP地址、物理会话、IP会话、协议、TCP会话、 UDP会话和数据包进行交叉分析,可以从不同的角度来对进程进行分析,从而 对查找网络问题提供帮助。
附图说明
图1为本发明其中一实施例流量分析流程图。
图2为本发明其中一实施例的进程网络分析功能的配置界面。
图3为本发明其中一实施例的进程树显示结构图。
图4为本发明其中一实施例的进程统计界面视图。
图5为本发明其中一实施例的进程的协议统计界面视图。
图6为本发明其中一实施例的进程的IP地址统计界面视图。
图7为本发明其中一实施例的进程的TCP会话统计界面视图。
图8为本发明其中一实施例的进程的UDP会话统计界面视图。
图9为本发明其中一实施例的进程的数据包统计界面视图。
图10为本发明其中一实施例的进程的TOP统计界面视图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 用以解释本发明,并不用于限定本发明。
本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被 其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特 征只是一系列等效或类似特征中的一个例子而已。
具体实施例1
如图1所示,一种基于进程的网络数据流量分析方法,具体方法为:
一、在驱动层,确定会话与计算机进程之间的关联关系,会话由四元组以 及协议来确定,计算机进程则由进程标识符(PID)来确定,由进程PID便可 以知道进程信息;所述四元组包括源IP地址、源端口、目的IP地址和目的端 口;
二、在分析模块,包括,
对进程的网络数据流量进行统计,包括:当前计算机网络通信中的进程总 数以及进程信息;进程的网络通信流量;进程通信过程中的各种协议的流量; 进程通信过程中各IP地址和物理地址的通信流量;
进程网络数据的分析,包括:进程通信过程中产生的物理地址、IP地址、 物理会话、IP会话、协议、TCP会话、UDP会话和数据包;以及物理地址、IP 地址、物理会话、IP会话和协议对应的多个进程(可能多个不同的进程使用相 同的协议来访问相同的物理地址、IP地址);通过进程与物理地址、IP地址、 物理会话、IP会话、协议、TCP会话、UDP会话和数据包进行交叉分析;
所述进程信息包括进程的名称和路径。
具体实施例2
在具体实施例1的基础上,所述方法还包括,三、在应用层,将进程相关 的统计数据在界面中展示出来,如图2所示为进程网络分析功能的配置界面, 以便使用这些数据来对进程相关的问题进行分析。
具体实施例3
在具体实施例1或2的基础上,所述进程与物理地址、IP地址、物理会 话、IP会话、协议、TCP会话、UDP会话和数据包进行交叉分析的具体方法 为:在捕获的数据包确定其对应的进程之后,根据数据包对应的物理地址、IP 地址、物理会话、IP会话、TCP会话和UDP会话针对进程进行统计与分析, 并且将统计数据与进程进行关联;对数据包的协议,先分析出数据包的协议信 息,按照协议进行统计与分析,并且将协议的统计数据与进程进行关联。根据 这些数据的交叉统计与分析,来实现进程分析。
针对进程分析,在我们的分析过程中,可能会看到某个进程在跟某一个奇 怪的IP地址时不时的有一些会话,或者一些我们并没有使用过的、奇怪命名的 进程,发现它们存在网络通信,那么分析人员就可以重点分析这些IP地址和进 程的通信过程,来发现网络问题,这些都能体现出进程分析的重要性,为网络 安全分析提供帮助。
具体实施例4
在具体实施例1到3之一的基础上,所述方法还包括,对进行网络分析功 能进行可配置设置,设置启用/禁用进程网络分析功能,这样可以在不需要进程 分析功能的情况下,整个软件的分析性能不受到影响。
具体实施例5
在具体实施例1到4之一的基础上,如图4所示,进程的统计包括了所有 网络通信数据的进程统计数据,包括总的字节数、数据包数、接收字节数、接 收数据包数、发送字节数、发送数据包数、每秒字节、每秒位、每秒数据包、 发送/接收比率和进程文件路径等多项统计数据,可以根据这些统计数据,非常 直观的看出各个进程的网络通信状态、发送/接收数据量的大小等等。物理地 址、IP地址、协议对应有哪些进程,也通过图4进程统计视图进行展示,只是 不是全部的进程数据,而是该物理地址、IP地址、协议对应的进程信息。
具体实施例6
在具体实施例1到5之一的基础上,如图5所示,进程的协议统计包括了 该进程通信过程中使用到的所有通信协议,以及各协议的统计数据,包括协议 的字节数、数据包数、接收字节、接收数据包、发送字节、发送数据包、字节 发收比和包发收比等。通过协议的统计数据,可以直观地看到进程在通信过程 中主要使用的网络协议,以及各协议网络通信数据量。
具体实施例7
在具体实施例1到6之一的基础上,如图6所示,进程的IP地址统计包括 了该进程通信过程中所有相关的IP地址,以及这些IP地址的字节数、数据包 数、接收字节、接收数据包、发送字节、发送数据包、字节发收比和包发收比 等统计信息。
具体实施例8
在具体实施例1到7之一的基础上,如图7所示,进程的TCP会话统计包 括了该进程通信过程中所有的TCP会话数据,以及TCP会话的数据包数、字 节数、协议、持续时间、发送字节数、接收字节数、发送数据包数、接收数据 包数、开始发包时间和最后发包时间等统计数据。
具体实施例9
在具体实施例1到8之一的基础上,如图8所示,进程的UDP会话统计 包括了该进程通信过程中所有的UDP会话数据,以及UDP会话的数据包数、 字节数、协议、持续时间、发送字节数、接收字节数、发送数据包数、接收数 据包数、开始发包时间和最后发包时间等统计数据。
具体实施例10
在具体实施例2到9之一的基础上,所述方法还包括,采用树形结构展示 当前网络通信过程中进程的相关信息,包括进行名称和PID标示符;其中,进 程名称以进程文件路径为标识,对于相同的进程文件,以“PID+序号”进行标 识。
为了更方便直观的展示当前网络通信过程中进程的相关信息,根据进程本 身的相关特点,进程的展示采用树形结构进行展示:
——进程浏览器
|——进程名称1(进程个数)
|——PID1
|——PID2
||——进程名称2(进程个数)
|——PID3
进程名称是进程对应计算机中文件的名称,PID为进程标识符;
进程名称以进程文件路径为标识,防止进程本身文件名相同,但实际却不 是同一文件,需要区分;
对于相同的进程文件,是可以同时存在多个进程实例的,以PID+序号进 行标识。
如图3所示进程节点树的实际显示结构。进程树中显示的进程是在当前通 信过程中有通信数据的进程,而不是计算机中启动的全部进程。在图3中,存 在着两个iexplorer.exe的树形节点,它们对应了进程树的进程名称,由于它们 对应着不同计算机中的文件,分别是C:\Program Files(x86)\Internet Explorer\iexplorer.exe和C:\Program Files\Internet Explorer\iexplorer.exe,因此 才分为两个节点进行展示。
具体实施例11
在具体实施例2到10之一的基础上,如图9所示,进程的数据包统计包 括了该进程通信过程中所有的通信数据包,数据包的信息包括数据包的时间、 源地址/端口、目的地址/端口、协议、大小和概要信息等数据,以及数据包解 码,根据数据包对应的协议来进行解码,和数据包的原始数据等,可以得到非 常详细的数据包的数据。
具体实施例12
在具体实施例2到11之一的基础上,如图10所示,进程的TOP统计包括 了进程的总流量(数据包/字节)、TCP会话总数和UDP会话总数等的TOP10 统计,可以直观的看到那些进程在当前通信过程中会话数据量较大。