1.3网络分析与嗅探是如何工作的?
本节主要提供嗅探如何发生的简要基础,并给出关于网络和协议如何工作的背景信息。当然还有许多其它优秀的资源可以用,比如Richard Stevens的“TCP/IP详解,卷1–3.”就是其中之一。
1.3.1 以太网简介(Explaining Ethernet)
以太网是用来使计算机能够通信的最常用的协议标准。一个协议就像说一个特定的语言。以太网基于共享媒体的原则构建,在局域网段内所有的计算机共享相同的网络流量。
它就是众所周知的一个广播协议,因为在同网段内将发送数据到所有的其它计算机上。这信息被分成易管理的数据块,称之为数据包,而且每个数据有一个头包含目的计算机与源计算机的地址。即使该信息发送到一个网段上所有的计算机,也只有与目标地址匹配的计算机会产生回应。网络上的其它所有计算机仍然可收到该数据包,但是如果不是它们想接收的就丢弃数据包,除非一台计算机上正在运行一个嗅探器。
当运行一个嗅探器的时候,数据包捕获驱动器把计算机NIC设置为混杂模式。这意味着,嗅探的计算机能在该网段上见到所有的网络流量,而不管数据包发送给谁。通常计算机运行在非混杂模式,只能监听指派给自己的信息。然而,当一个NIC在混杂模式下时,就能见到它全部邻居的会话。
以太网网址,也就是媒体访问控制(MAC)地址与硬件地址。因为许多计算机可能共享一个以太网段,每个一定要有唯一的一个标识符并硬件编码到 NIC之上。一个MAC地址是一个48位的数,也被规定为12个十六进制的数。该数值被分为两部分,第一部分的24位标识以太网卡的厂商,第二部分的24位由厂商分配的一个序列号组成。在Windows NT, Windows 2000, Windows XP与 Windows 2003 操作系统中都可在命令行下输入ipconfig /all查看MAC地址,MAC地址将会列在“Physical Address”字段中。
1.3.2 理解开放系统互联(OSI)模型
国际标准组织(ISO)在80年代早期开发的开放系统互联(OSI)模型,描述了网络协议和组件在一起如何工作。OSI把网络功能分为七层,每个层表现一群相关的规格、功能和活动(见图2-4)。虽然是很复杂,但这些术语被广泛地用在网络、系统和开发社区中。
图2-4显示了OSI模型的七层。
图2-3 OSI模型的七层.
在下面的各小节中分别简要描述了OSI模型的七个层。
1.3.2.1 第一层 物理层
OSI模型的第一层为物理层,该层规范了传输数据比特的传输媒体(如网线)的电气与机械特性。它包括发送与接收载体上的数据流,无论载体使用电的(网线)、光的(光纤)、无线的、红外的、或激光(无限)的信号。物理层的规范包括:
Ø 电压变化
Ø The timing of voltage changes
Ø 数据率
Ø 最大传输距离
Ø 连接传输媒体的物理连接器(插头)
Ø 网络的拓扑与部署
许多复杂的问题在物理层讨论,包括数字的与模拟的信号,基带与宽带信号,无论数据同步或异步传输,与信号如何被分配到信道上(多路复用)。
物理层上的设备有NIC上的收发器、中继器、basic hubs、与连接器等。物理层的数据由0与1的比特组成,其通过光脉冲或电压变化脉冲的状态(通常on代表1,off代表0)表示。这些比特位如何安排与管理,是OSI模型第二层数据链路层的功能。
1.3.2.2 第二层:数据链路层
OSI模型的第二层为数据链路层,该层负责维护两台电脑之间的数据链接,典型的叫法为主机或节点。它也定义与管理接收与发送的数据包中比特的顺序。
帧包含通过一个有组织的方式所安排的数据,其提供一个顺序与一致的方法在媒体间发送数据比特。如果没有这样的控制,数据将会以随机大小与配置发送,这样的数据在另一端(接收端)是无法解码的。
数据链路层管理物