对于windows操作系统下,ethereal软件已经制作成.exe的文件了,所以直接运行安装,没有太大的问题。网上关于ethereal软件的安装上大部分是基于windows平台的,而且关于ethereal软件的使用资料也是颇为丰富的。因此这里不多说了,给个ethereal的官方网址:http://www.ethereal.com/。上面的资料还是挺丰富的,主要的问题可能就是它是英文网站吧~
    我们现在需要在Linux操作系统下使用ethereal,怎么办?自然,首先需要从官网上下载基于Linux平台下的ethereal安装软件。看了一下,发现最新版本为ethereal-0.99.0-1.src.rpm。rpm有两种形式,一种是已经编码的i386.rpm形式,另一种是未经编码的.src.rpm形式。
    我们将下载好的软件当成rpm包先导出源文件,使用rpm -ivh ethereal-0.99.0-1.src.rpm。当时很奇怪怎么没有发现解压出来的源文件,上网搜索了下发现,原来.src.rpm它默认的将文件放在了/usr/src/redhat的目录下了。仔细看过其下的几个目录,你会发现在SPECS目录下,出现了一个ethereal.spec文件。通过rpmbuild - bp ethereal.spec命令后,我们可以在/usr/src/redhat/BUILD目录下看到一个ethereal-0.99.0的文件夹,进入之后可以看到ethereal的安装源代码。此时,就可以如同安装其他src源文件那样,通过./configure命令进行配置(当然,这里可以选择相应的参数,具体可以参见help,不过一般按照默认参数配置即可),生成各层的makefile文件后,可以直接make进行编译源代码。最后我们通过make install命令就可以将ethereal安装到你的机子上了。
    查看了网上的相关资料发现,其实还可以有几种安装.src.rpm的方法:
    一是通过命令rpm -rebuild filename.src.rpm后就可以直接在系统目录/usr/src/redhat/RPMS/的一个子目录中建立一个文件filename.rpm,然后再执行:rpm -ivh /usr/src/redhat/RPMS/i386/filename.rpm即可。
    二是在我那种方法进行到rpmbuild的时候,执行rpmbuild -bb ethereal.specs后,在/usr/src/redhat/RPM/i386/(根据具体包的不同,也可能是i686,noarch等等)在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。执行:rpm -i new-package.rpm即可安装完成安装。
    这两种方法似乎都比我做的简单,但是好像还是喜欢从src—>configure—>make的过程。不管怎么说,软件是安装好了。
    我们这时可以直接运行Linux下的几个编译生成的可执行程序,包括ethereal、dumpcap等工具。这些工具都是基于图形界面下的,乍看起来,跟windows下的版本也挺相同的。然后就可以如同windows下的那些“教程”介绍的那样,通过设置网卡和filter来截包了。利用ethereal软件可以将截获的包进行解包分析。
    如果需要了解具体的解包细节,我们可以利用gdb ethereal来进行断点调试,例如在packet_http.c文件中就可以查看其对http包的解包过程。