,系统主要包括4大模块:网络数据报协议分析程序输入数据捕获规则匹配数据处理协议分析输出图2-2网络数据包的协议分析程序的层次图1、数据输入模块。该模块主要功能是接收用户输入用于捕获数据包的信息。其中包括选择用于捕获的网络接口和需要过滤的内容。2、数据捕获模块。该模块的主要功能是捕获流经本地网卡的所有数据。其原理是通过把网卡设置为混杂模式,使得网卡对所有流经它的数据包都交给上层程序处理。3、规则匹配模块,该模块的主要功能是根据用户的需求对需要捕获的数据包进行过滤设置。因为不是所有经过本地网卡的数据报都对我们分析网络有用,而且如果将所有经过网卡的数据捕获会增加系统的开销。因此我们设置了一个规则匹配模块,当所捕获的信息与我们设置的规则相符时我们就把它交给数据处理模块,否则就丢弃。4、数据处理模块。该模块的主要功能是对捕获的数据进行分析显示处理。主要是调用协议分析模块和显示模块。4.1协议分析模块。该模块的主要功能是对捕获的数据包进行协议分析。把数据包捕获下来后,我们需要对其分析才能知道网络中存在的安全问题。该模块主要是对TCP/IP各层的协议进行分析。4.2显示模块。该模块的主要功能是将分析的结果显示给用户。对数据包进行协议分析后要把结果显示给用户本程序才结束。因为数据包中包含的信息太多,如果全部显示给用户有所不便,所以我们挑选其中比较重要的信息输出给用户。程序的工作流程图2-3为本程序的流程图,下面其进行简要的叙述:1、程序开始时首先查找计算机上所有可用的网卡,并让用户选择用于捕获数据包的网卡。2、用户输入用于捕获数据包的网卡和过滤规则。只过滤用户所关心的信息。3、程序判断该网卡所在的网络是否为以太网,不是则中止,是则继续。因为本程序只能在共享以太网中进行数据捕获。4、编译用户设置的过滤规则。5、开始进行捕获,并分析数据,将数据显示给用户。当用户停止时就结束程序,否则继续捕获。