1.8 网络分析工具的主要功能组成
网络分析工具一般由图1-11所示的基本功能组成,当然对于要求较高的网络分析工具还要添加复杂的协议解析功能,有的还要添加专家诊断功能。这些功能都是在图1-11所示的基本功能之上所进行的扩展,本书中就不重点介绍了。
图 1-11 网络分析工具的重要功能框图
由图1-11所示可知,一个网络分析工具首先需要从系统网络适配器列表中选择合适的网络适配器,接着需要打开所选的网络适配器。这样就可以在该网络适配器上执行数据包发送、对过滤后的数据包执行数据捕获或统计工作了,同时,还可以对捕获的数据包进行文件存储。执行结束后即可关闭对应的网络适配器。对于存储的数据包文件可单独执行文件打开操作。如果需要把文件中的数据包发送到网络上,也需要执行网络适配器的相关操作。
在上述功能的实现上,对于一个优异的网络分析工具来说,性能是关键。通常,类似于Wireshark之类的网络分析器,都会直接调用底层库(Windows平台下为WinPcap库,Linux平台下为libpcap库)来实现这些功能。这样,性能问题就由底层库来负责处理了,而Wireshark主要负责协议解析与图形界面显示等相关的工作。图1-12所示为在Windows平台上Wireshark与WinPcap的依赖关系。
图 1-12 Windows平台上Wireshark与WinPcap的依赖关系
我们将在后续的章节中围绕图1-11所示的这些重要功能,来分析网络分析器中这些功能的设计难点、实现难点,并讲解具体的实现与实际使用方法。