深度剖析WinPcap之(二)——网络分析与嗅探的基础知识(4)

来源:互联网 发布:淘宝网无法购物 编辑:程序博客网 时间:2024/06/06 19:35

本文转自http://eslxf.blog.51cto.com/918801/201358

 

1.3.3  CSMA/CD

以太网使用载波监听多点接入/冲突检测(CSMA/CD)协议,为了设备在网络上家交换数据。多点接入这个术语指许多网络设备连接到同一个网段 有发送的机会。
每个设备赋予等同的发送机会;没有任何设备优先于其它设备。载波监听描述了一个网络设备的以太网接口在传送之前如何监听网线。网络接口确保没有其它信号在网线上,在它传送之前,并且在传送的时候监听确保在同一时刻没有其它网络设备传送数据。当两个网络设备在同一时刻传送时,一个冲突发生。因为以太网接口在它们正在传送时监听媒体,通过冲突检测它们能够标识其它传送的出现。如果一个冲突发生了,正在传送的设备在重新传送之前等待一个小的,随机的时间量。该功能就是随机补偿(random backoff)
传统地,以太网操作是半双工的,其意味着一个接口只能传送或接收数据,但是并不是同时。如果一个网段中多于一个的网络接口试图在同一时刻传送,一个冲突发生每个载波监听多点接入/冲突检测。当一个交叉的网线用来连接两个设备,或者一个单个设备连接一个交换机端口,在该网段中仅仅两个接口需要传送或接收,没有冲突发生。这是因为设备A的传送连接到设备B的接收,设备B的接收连接到设备A的传送。冲突检测的方法不再是必需的,因此,接口能够工作于全双工模式,其允许网络设备在同一时刻传送与接收,从而提高性能。

1.3.4  主要的协议:IPTCPUDPICMP协议

下列IPTCPUDPICMP四个协议是现今互联网工作的核心。
 
IP(网际互连协议)
IP是一个非连接协议,管理寻址数据从一个点到另一个点,把大数据包分割成小的、能传输的数据包。IP数据的主要组成如下:
<!--[if !supportLists]-->Ø         <!--[endif]-->IP标识(IPID)  试图唯一标识IP数据报
<!--[if !supportLists]-->Ø         <!--[endif]-->协议  描述使用IP层服务的高层协议
<!--[if !supportLists]-->Ø         <!--[endif]-->生存时间(TTL)  数据报在通过互联网是必须具有的受限的寿命。当 TTL0时,数据报被丢弃
<!--[if !supportLists]-->Ø         <!--[endif]-->IP地址  源点的IP地址,数据报被创建的地方
<!--[if !supportLists]-->Ø         <!--[endif]-->目的IP地址 终点的IP地址,数据报应该送到的地方
 
ICMP(网际控制报文协议)
网际控制报文协议(ICMP)管理网络之间在IP上出现的错误。下面是ICMP常用的报文:
<!--[if !supportLists]-->Ø         <!--[endif]-->回送请求/回答 为诊断目的而设计,可以用来确定在IP这级能否正常通信。例如ping程序使用回送请求与回答报文来计算两个节点之间的网络延时。
<!--[if !supportLists]-->Ø         <!--[endif]-->终点不可达 网络不可达与端口不可达。该报文发送给数据报的源IP地址,当一个网络或端口不可达时。这发生在当一个防火墙拒绝了一个数据报或存在网络问题时。终点不可达报文有一些子类型,有助于诊断通信问题。
<!--[if !supportLists]-->Ø         <!--[endif]-->超时  在一个数据包的TTL0时发生
 
TCP(传输控制协议)
TCP是面向连接的协议,通常用来传输数据。TCP面向连接的特性使得选用它进行源IP地址欺骗可能性不大。
TCP握手 TCP的一个重要观念是握手。任何数据在两个主机之间能被交换之前,它们必须同意进行通信。主机A发送一个带SYN标志的数据包到主机B。如果主机B愿意并能通信,它返回SYN数据包并添加ACK标志。主机A开始发送数据,并向主机B指明它也接收到了ACK当主机间的通信结束时,发送一个带FIN(完成)标识的数据包,接下来是一个类似确认的过程。
TCP序列 TCP另一个重要的组成是序列标识,每个发送的数据包都是一个序列的一部分。通过这些序号,TCP能控制复杂的任务,诸如重发、确认与排序。
 
UDP(用户数据报)
相对于TCP, UDP数据包是非连接的,并具有多种用途,用于DNS就是一个重要的应用。
 

1.3.5硬件:网线探针、集线器、交换机

网线探针(Cable Taps)
网线探针是帮助连接到网线的硬件设备(Cable taps are hardware devices that assist in connecting to a network cable.)。使用Tap设备可以访问计算机、集线器、交换机、路由器与其它设备之间的网线的任意点。Tap可用于全双工或半双工的101001000Mbps以太网链接。They are also available in various multi-port sizes.下列是一些流行的网线探头产品列表。
<!--[if !supportLists]-->Ø         <!--[endif]-->Net Optics carries several types of network taps for copper and fiber cables, and is available at www.netoptics.com.
<!--[if !supportLists]-->Ø         <!--[endif]-->The Finisar Tap family offers a variety of taps for copper and fiber cables, and is available at www.finisar.com/nt/taps.php.
集线器(Hubs)
集线器的英文名称就是我们通常见到的“HUB”,英文“HUB”中心意思,集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI参考模型第二层,即数据链路层
集线器是一个在一个共享媒体(比如以太网)上把多个主机连接起来的设备。当一台计算机发送信息后,该信息行走到该集线器,集线器接着把该信息推向所有与之连接的计算机。
该信息的目标计算机,将会在数据包的头部识别它自己的MAC地址,并接受该数据。集线器推进所有信息的区域,叫做一个冲突域(也叫广播域)。
一个集线器对所有共享的网络流量只有一个冲突域。2-4显示了一个带有集线器冲突域的网络架构。大量的冲突使得嗅探更容易,并导致性能问题,诸如集线器的带宽占用(bandwidth hogging)或过流(excessive traffic)。
clip_image002
图2-4 Hub冲突域
交换机(Switch
一个交换机也用于在共享媒体上把计算机连接在一起;然而,当一个交换机接收信息,它不会盲目的发送给所有其它计算机。它查找数据包的头部来定位目标MAC地址,并维护一个连接到交换机上计算机的所有MAC地址与对应端口的列表。
接着把数据包推进数据包到特定端口。这把冲突域缩小为一个单独的端口(如图2-5所示)。该类型的冲突域也为每个连接提供了一个明确的带宽量,而不是集线器的一个共享量。
因为交换机的价格在最近几年中急剧下降,没有原因不采用交换机替换集线器,或者在选购新设备时选择交换机。一些价格更贵的交换机包括更好的技术使得对嗅探攻击更具抵挡能力。
clip_image004
图 2-5 交换机冲突域
就像从图中所见到的一样,集线器使得嗅探更容易,而交换机使得嗅探更困难。然而,交换机也能被欺骗。
端口映射
如果在使用交换机的网络上工作,并希望执行正当的网络分析,很幸运的是,大部分交换机与路由器提供了端口映射(port mirroring)机制。为了映射端口,必须配置交换机从一个希望映射的端口复制网络流量到所连接的端口。
配置交换机映射端口1的所有网络流量到端口5,网络分析器查看发送到计算机A与计算机A发送出去的所有网络流量。一些时候,管理员把交换机的上行端口进行映射,他们就能够查看出入交换机所有端口的网络流量。
clip_image006
图 2-6 端口映射

原创粉丝点击