程序设计
好,让我们从看看这篇文章写给谁开始。显而易见的,需要一些 语言基础知
识,除非你只想了解基本的理论。你不必是一个编码专家,因为这个领域只有
经验丰富的程序员涉足,而我将尽可能详细的描述这些概念。另外,考虑到这
是有关一个包嗅探器的,所以对网络基础知识的理解是有帮助的。所有在此出
现的代码示例都已在 平台上测试通过。
开始: 应用程序的格式
我们所要理解的第一件事情是一个基于 的嗅探器程序的总体布局。流程
如下:
. 我们从决定用哪一个接口进行嗅探开始。在 中, 这可能是
, 而在 系统中则可能是 ,等等。我们也可以用一个字符
串来定义这个设备,或者采用 提供的接口名来工作。
. 初始化 。在这里我们要告诉 对什么设备进行嗅探。假如愿
意的话,我们还可以嗅探多个设备。怎样区分它们呢?使用文件句柄。
就像打开一个文件进行读写一样必须命名我们的嗅探“会话”,以此使它
们各自区别开来。
. 如果我们只想嗅探特定的传输(如 包,发往端口 的包,等
等),我们必须创建一个规则集合,编译并且使用它。这个过程分为三