




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
深度剖析WinPcap之(二)网络分析与嗅探的基础知识工欲善其事,必先利其器。为了有利于深入了解WinPcap的内部机制,我们需要对网络分析与嗅探、网络模型与硬件基础作必要了解。1.1 什么是网络分析与嗅探网络分析(Network analysis) (也称为网络流量分析、协议分析、嗅探、数据包分析、窃听,等等)就是通过捕获网络流量并深入检查,来决定网络中发生了什么情况的过程。一个网络分析器对通用协议的数据包进行解码,并以可读的格式显示网络流量的内容。嗅探器(sniffer)是一种监视网络上所传输数据的程序。未经授权的嗅探器对网络安全构成威胁,因为它们很难被发现并且可在任何地方被插入,这使得它们成为黑客最喜欢使用的一种工具。网络分析器之间的差别,在于诸如支持能解码的协议数量、用户接口、图形化与统计能力等主要特性的不同。其它的差别还包括了推理能力(比如,专家分析特性)与数据包解码的质量。尽管几个不同的网络分析器针对同一个协议进行解码,但在实际环境中可能其中的一些会比另外一些工作得更好。图2-1为Wireshark网络分析器的显示窗口。一个典型的网络分析器用三个窗格显示所捕获的网络流量:图2-1Wireshark网络分析器的显示窗口概要该窗格对所捕获的内容显示一行概要。包含日期、时间、源地址、目标地址、与最高层协议的名字与信息字段。详情该窗格提供所捕获数据包所包含的每层细节信息(采用树形结构)。数据该窗格用十六进制与文本格式显示原始的被捕获数据。一个网络分析器是由硬件与软件共同组成。可以是一个带有特定软件的单独硬件设备,或者是安装在台式电脑或膝上电脑之上的一个软件。尽管每种产品之间具有差别,但都是由下列五个基本部分组成。硬件多数网络分析器是基于软件的,并工作于标准的操作系统与网卡之上。然而,一些硬件网络分析器提供额外的功能,诸如分析硬件故障(比如循环冗余纠错(CRC)错误、电压问题、网线问题、抖动、逾限(jabber)、协商错误等等)。一些网络分析器仅支持以太网或无线网适配器,而其它的可支持多重适配器,并允许用户定制它们的配置。依据实际情况,可能也需要一个集线器或一个网线探针(cable tap)连接已有的网线。捕获驱动器这是网络分析器中负责从网线上捕获原始网络流量的部分。它滤出了所需保持的流量,并把所捕的获数据保存在一个缓冲区中。这是网络分析器的核心没有它就无法捕获数据。缓冲区该组件存储所捕获的数据。数据能够被存入一个缓冲区中只到该缓冲区被填满为止,或者采用循环缓冲的方式,那么最新的数据将会替换最旧的数据。采用磁盘或内存均可实现缓冲区。实时分析当数据一离开网线,该特性就可对数据执行分析。一些网络分析器利用该特性发现网络性能问题、同时网络入侵检测系统利用它寻找入侵活动。解码(器)该组件显示网络流量的内容(带有描述),所以是可读的 。解码是特定于每个协议的,因此网络分析器当前支持可解码的协议数目是变化的,网络分析器可能经常加入新的解码。1.2 谁需要使用网络分析?系统管理员、网络工程师、安全工程师、系统操作员、与程序员都需要使用网络分析器,其对诊断与解决网络问题、系统配置问题、与应用程序的难点(或瓶颈)都是无价的工具。在历史上,网络分析器曾经专注于昂贵与难于使用的硬件设备。然而,新出现的先进技术允许基于软件进行网络分析器开发,其为有效解决网络问题提供了一种更为方便与廉价的工具,它也具备网络分析的能力。网络分析的技术是一个双刃剑。当网络、系统、与安全的专业人员使用它处理网络故障与监视网络时,入侵者为了非法的目的正在使用网络分析器。网络分析器是一种工具,就像所有的工具一样,它可被用在好的与坏的目的之上。网络分析器的用途为: 将在数据包中的二进值数据转换成易读的格式 处理网络故障 分析网络性能以发现瓶颈 网络入侵检测 为了辩护与证据记录网络流量 分析应用程序的操作 发现有问题的网卡 发现病毒爆发的源头或拒绝服务(DoS)的攻击 发现间谍软体 在开发阶段对网络编程进行调试 发现一部泄密的计算机 确认符合公司的政策 学习协议时作为学习的资源 Reverse-engineering protocols to write clients and supporting programs(逆向工程协议去写客户与支持计划)1.2.1 入侵者如何使用嗅探器?当被心怀恶意的人使用时,嗅探器能对网络安全构成重要威胁。网络入侵者使用嗅探的方式获取秘密的信息,嗅探和窃听在该应用中通常是相互关联的。然而,嗅探正成为一个非负面的术语;大多数人互换地使用嗅探和网络分析这两个术语。以非法方式使用一个嗅探器被视为一个被动的攻击,因为它不直接与网络上任何其它系统相互作用或连接。一个嗅探器也能被安装在网络的一台计算机上,并作为一个主动攻击的泄密部分。嗅探器的被动特性使得很难被检测(用的检测方法稍后详细说明)。入侵者在网络上使用嗅探器做下列事情: 取得明文的用户名和密码 发现一个网络上用户的使用模式(usage patterns) 泄密私有信息 捕获与回放VoIP电话通话 映射网络的部署 被动的操作系统指纹识别(Passive OS fingerprinting)上述都是嗅探器的非法使用,除非你是一个渗透测试人员,找出并报告这些类型的弱点就是你的工作。为了嗅探,一个入侵者首先得获取所感兴趣系统的通信网线的访问权,这意谓着要在同一共享网段上或在通信路径之间的网线某处接入探针。如果侵入者不是与目标系统或通信访问点(AP)物理接触,仍然有方法嗅探网络流量,包括: 闯入一部目标计算机而且安装远程嗅探器 闯入一个通信访问点(举例来说,一个因特网服务提供着ISP) 并安装嗅探软件。 在已经装入嗅探软件的ISP上定位一个系统 使用社会的工程学(social engineering)得到一个ISP的物理访问,安装一个数据包嗅探器 在目标计算机组织或ISP内部有一个同谋者,并在那儿安装嗅探器。 重定向或复制通信(Redirecting or copying communications),使路径包含入侵者的计算机嗅探程序大多数都包含了rootkits工具,该工具安装在泄密系统中是极具代表性的。Rootkits通过替换命令和使用、并清除日志条目,被用来掩盖入侵者的踪迹。入侵者也安装其它的程序,像嗅探器,键盘记录器和后门软件。Windows嗅探可作为远程操控特洛伊(RAT)的一部分被实现,诸如SubSeven 或Back Orifice。入侵者通常使用嗅探程序,并把嗅探程序配置成能检测特定事情(如密码)的状态, 然后把所嗅探的事情发送给入侵者(或者储存它们,由入侵者稍后取回)。易受该类活动攻击的协议包括Telnet、文件传送协议(FTP)、第3版邮局协议 (POP3) 、网际报文存取协议 (IMAP)、简单邮件传输协议(SMTP)、 超文本传输协议 (HTTP)、远程登录 (rlogin)和简单网络管理协议(SNMP)。rootkit 的一个例子是在 Solaris 和 Linux 上工作的“T0rnKit”,和rootkit 包含在一起的嗅探器叫做“t0rns”,并被安装在隐藏目录/usr/srec/.puta中。rootkit的另一个例子是 Linux Rootkit 5(Lrk5)和linsniff嗅探器一起安装。入侵者也可以使用嗅探程序控制后门(这一个实践不是相当“常见的” ,但并不是没听说过)。一个方法是将在一个监听特定信息的嗅探器安装在目标系统上,然后发送后门控制信息到一个邻近的系统。因为嗅探器固有的被动特性,该类型的后门控制很难被发现。cd00r就是一个后门嗅探的例子,并在非混杂模态中操作,它很难被检测到。1.2.2 被嗅探的数据看起来像什么?最容易领会嗅探器概念的方法就是在实际应用中看一看具体实例。图2-2演示了从一台电脑连接到一个 Linux系统请求FTP服务器服务,并通过Wireshark嗅探传输的数据包。第一、二个数据包显示了采用数据包嗅探器,获得用户名与密码是多么容易的事情(也就是,从数据包直接可知用户名为lxf和密码为lxf)。图2-2 嗅探一个连接1.2.3 常见的网络分析器具有大量各种各样的嗅探器软件可用,下面列出一些最优异的:WiresharkWireshark 是可得到的最好的嗅探器之一,并被作为一个自由的、商业化质量的嗅探器开发。它有很多的特征,如好的图形用户界面(GUI)、解码超过 400个协议、并被积极地开发与维护。它可在UNIX、Mac OS X与 Windows系统上运行。在产品环境中使用这是一个伟大的嗅探者,可从获取。WinDumpWinDump 是Windows版本的tcpdump,从/windump可获取。它使用 WinPcap库,并可运行在Windows 95、Windows 98、Windows ME、Windows NT、Windows 2000与WindowsXP上。Network General SnifferNetwork General Sniffer是一个最流行的商业嗅探器。现在有一个企业网络捕获工具套件,在上有一整个嗅探器产品线。Windows 2000 and 2003 Server Network MonitorWindows 2000 Server与 Windows 2003 Server都有一个内建程序来执行网络分析。该程序在“Administrative Tools”文件夹中,但不是缺省安装的,因此需要从安装盘中添加安装。EtherPeekEtherPeek是一个WildPackets开发的商业化网络分析器。Windows与Mac下的版本,以及其它的网络分析器从上可以获得。TcpdumpTcpdump是最古老的与最常用的网络嗅探器,由Information and Computing Sciences Division (ICSD) at Lawrence Berkeley National Laboratory (LBNL)的Network Research Group (NRG)开发。它基于命令行模式运行在UNIX与类UNIX系统上,包括Mac OS X。通过来进行开发与维护。SnoopSnoop是一个基于命令行模式运行的网络嗅探器,被包含在Sun Solaris操作系统中。SnortSnort是一个网络IDS(入侵检测系统),可用作网络嗅探 ,在网站上积极的开发与维护。参见Nessus, Snort, & Ethereal Power Tools: Customizing Open Source Security Applications(Syngress Publishing: 1597490202) 与Snort Intrusion Detection and Prevention Toolkit(Syngress, ISBN: 1597490997)获得更多的信息。DsniffDsniff 是一个非常流行的网络嗅探软件包。它是一个用来嗅探感兴趣的数据(如密码) 与使嗅探过程更便利(如规避交换机)的程序集。它在/dugsong/dsniff网站上被积极的维护。EttercapEttercap 被特别地设计用来嗅探一个交换网络。它内建的特征,诸如密码收集,操作系统”指纹”识别(OS fingerprinting),和字符注入。可在Linux、Windows和 Solaris平台上运行。它在网站上被积极地被维护。AnalyzerAnalyzer是Windows操作系统下使用的一个自由的嗅探器。它被WinPcap 和 WinDump 的制造者在Politecnico di Torino积极地开发,并能从analyzer.polito.it下载。PacketyzerPacketyzer 是一个自由的嗅探器 (在Windows操作系统下使用),使用Wireshark的核心逻辑。它倾向于在Wireshark 释放版本后一两个版本发布。它被Network Chemistry在/products/packetyzer.php网站上积极地维护。MacSnifferMacSniffer专门为 Mac OS X操作系统设计。它为tcpdump的一个前端软件被构建。该软件是共享软件而且能从/brian_hill/macsniffer.html被下载。1.3网络分析与嗅探是如何工作的?本节主要提供嗅探如何发生的简要基础,并给出关于网络和协议如何工作的背景信息。当然还有许多其它优秀的资源可以用,比如Richard Stevens的“TCP/IP详解,卷13.”就是其中之一。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-3显示了OSI模型的七层。图2-3OSI模型的七层.v:* behavior:url(#default#VML); o:* behavior:url(#default#VML); w:* behavior:url(#default#VML); .shape behavior:url(#default#VML);st1:*behavior:url(#ieooui) 在下面的各小节中分别简要描述了OSI模型的七个层。第一层 物理层OSI模型的第一层为物理层,该层规范了传输数据比特的传输媒体(如网线)的电气与机械特性。它包括发送与接收载体上的数据流,无论载体使用电的(网线)、光的(光纤)、无线的、红外的、或激光(无限)的信号。物理层的规范包括:电压变化Thetimingofvoltagechanges数据率最大传输距离连接传输媒体的物理连接器(插头)网络的拓扑与部署许多复杂的问题在物理层讨论,包括数字的与模拟的信号,基带与宽带信号,无论数据同步或异步传输,与信号如何被分配到信道上(多路复用)。物理层上的设备有NIC上的收发器、中继器、basichubs、与连接器等。物理层的数据由0与1的比特组成,其通过光脉冲或电压变化脉冲的状态(通常on代表1,off代表0)表示。这些比特位如何安排与管理,是OSI模型第二层数据链路层的功能。第二层:数据链路层OSI模型的第二层为数据链路层,该层负责维护两台电脑之间的数据链接,典型的叫法为主机或节点。它也定义与管理接收与发送的数据包中比特的顺序。帧包含通过一个有组织的方式所安排的数据,其提供一个顺序与一致的方法在媒体间发送数据比特。如果没有这样的控制,数据将会以随机大小与配置发送,这样的数据在另一端(接收端)是无法解码的。数据链路层管理物理地址与数据包的同步。也对物理层的流量控制与错误提示负责。流量控制是管理发送与接收数据的时间,以至于不超过物理连接的容量(速度、内存等等)。既然物理层只负责物理的搬运数据到或离开网络媒体,数据链路层也接收与管理与数据包物理递送相关的错误信息。该层所涉及的网络设备有两层交换机与网桥。一个两层交换机通过只发送数据到与目标计算机相关的端口来降低网络拥塞,而不是发送到交换机的所有端口。网桥提供一种方式把网络划分为两部分并过滤流量,通过建立一个定义哪台计算机在网桥的哪一边的表,基于它们的MAC地址。数据链路层分为两个子层:逻辑链接控制(LLC)子层与MAC子层。.1MAC子层MAC子层提供对访问传输媒体的控制。它负责把数据包从一个NIC移动到另一个,在一个共享传送媒体诸如以太网线或光纤线之间。物理地址是MAC子层的地址。每一个NIC有一个唯一的MAC地址(也叫物理地址),其标识网络上特定的NIC。一个NIC的MAC地址通常烧录到一个只读内存(ROM)芯片中。每一个网卡的制造商提供一个唯一的MAC地址集,所以从理论上说,每个被制造的NIC具有唯一的MAC地址。为了避免混乱,MAC地址被永久的烧录到NIC的内存中。注意在以太网的NIC中,物理或MAC地址(也叫硬件地址)被表示为12个十六进制的数字,每两个一组用:分隔开(比如12:3A:4D:66:3A:1C)。开始的三组为制造商编号,后三组代表该制造商制造的唯一NIC的编号。一些方法使用MAC,用来分配网络访问的计算机,防止它们在同一时间传输并导致数据冲突。通常的MAC方法包括以太网所使用的载波监听多点接入/冲突检测(CSMA/CD)方法,AppleTalk网络使用的载波监听多点接入/冲突避免(CSMA/CA)方法,令牌环网与光纤分布式数据接口(FDDI)网络使用的令牌传递。.2逻辑链接控制(LLC)子层LLC子层为数据链路层提供逻辑;这样它控制数据链路层的同步、流量控制与错误检查功能。该层管理面向连接的传输,然而,该层也能提供非连接的服务。非连接的操作众所周知的I类LLC,而II类LLC既能操作非连接的操作也能与操纵面向连接的操作。面向连接的通信,每一个LLC帧发送都被确认。LLC子层在接收结束时跟上它接收的LLC帧(也叫作协议数据单元,PDU)。因此,如果它检测到一个帧在传输时丢失了,它能够给发送的计算机发送一个请求 重新开始该传输,从没有到达的PDU开始。LLC子层位于MAC子层的上面,在上层与在MAC子层的协议(如以太网、令牌环等等)之间扮演着一个联络人的角色。第三层:网络层接下来的一层为网络层,在这儿数据包被顺序化,同时赋予逻辑地址。逻辑地址不是永久的,是通过软件赋予的地址。TCP/IP协议在互联网上使用的IP地址,就是逻辑地址的使用实例。网络层也负责在点或节点之间创建一个虚拟链路(比如,一个逻辑连接,不是一个物理连接)。一个节点是一个具有MAC地址的设备,典型的包含计算机、打印机或路由器。这一层也负责路由,三层交换机,与推进(forwarding)数据包。路由是指从一个网络或子网推进数据包到另外一个。如果没有路由器,计算机只能与同一网段中的计算机通信。路由对互联网是一个关键,同时是网络层的最重要的责任。最后网络层提供另外的流量控制与差错控制层。与前面提及的一样,从这儿开始实现OSI模型架构的基本方法与软件密切关联而不再是硬件。在该层操作的设备是路由器与三层交换机。第四层:运输层OSI模型的第四层为运输层,负责从一个节点传输数据到另一个节点。它在节点间提供透明的数据传输,并管理端到端的流量控制、错误检测与错误恢复。传输层协议在不同计算机的特定端口之间发起联系,并设置虚拟的链路。每个主机的传输协议确认应用程序发送的数据是被授权访问该网络与两个端点都准备好开始数据传输了。当该同步完成之后,数据被发送。当数据正在被传送时,每个主机上的传输协议监控数据流并监视传输错误。如果传输检测到错误,传输协议提供错误恢复。对网络通信而言,传输层提供的功能非常重要。正像数据链路层提供的底层可靠性与面向连接或非连接的通信,传输层作了同样的事情,只不过是在更高的层次上。面向连接的传输控制协议(TCP)与面向非连接的用户数据包协议(UDP),这两种最常见的协议都属于传输层。传输层也管理端口的逻辑地址。一台计算机上可能同时运行几个网络应用程序。决定所接收的数据属于哪个应用程序的机制就是端口的功能。最后,传输层处理域名解析,诸如DNS就时处理该问题的一种方法。第五层:会话层在传输层建立一个虚拟连接后,在两个不同计算机上的进程之间建立一个通信会话。会话层(第五层)负责建立、监视与终止会话,使用传输层建立的虚拟链路。会话层也负责给数据包添加协议头信息,指明一个消息的起点与终点。一旦该头信息添加到数据包上,会话层在发送者会话层与接收着会话层之间执行同步。利用ACK帮助协调会话层的数据传输。会话层的另一个重要功能是控制在一个会话中的通信是否采用全双工或半双工通讯方式。传输层在两台机器之间建立一个连接,而会话层在两个进程之间建立一个连接。一个应用程序可同时运行多个进程来完成应用的工作。传输层在两台机器之间建立连接后,会话层在一台计算机上的一个进程与另一台计算机上的一个进程之间设立连接。第六层:表示层数据传输是表示层(第六层)的基本活动。当数据从发送者到接收者时,它在表示层上转换(比如,发送者的应用程序把数据向下传送到表示层,在那儿数据转换为一种通用格式)。当数据在另一端接收时,表示层把它从通用格式转回到应用程序使用的格式。协议转换在此处发生。表示层也是网关服务操作的地方。网关是使用不同平台或应用的网络之间的连接点。网关通常通过软件实现。软件重定向器也在该层操作。这儿也是数据压缩发生的地方,其最小化网络媒体所需传送到接收器的比特数量。数据加密与解密也在表示层进行。第七层:应用层应用层是用户应用程序与网络交互的位置。不要把网络模型与应用程序本身混淆了。应用程序的进程是在一个用户应用程序中开始的。接着进程所创建的数据被递交给网络软件的应用层。在该层所发生的所有事情都是特定于应用的。OSI模型是通用的,可被用来解释所有的网络协议。为此目的,各种协议簇经常被映射到OSI模型上。对OSI模型深入的理解可帮助网络分析、比较与问题解答。然而,重要的是记住并不是所有的协议都能很好的映射到OSI模型上的(比如TCP/IP被设计为映射到美国国防部(DoD)模型)。TCP/IP协议簇在OSI模型之前就已经开发了。因此TCP/IP协议簇的层次无法与OSI模型准确的对应。TCP/IP协议簇由5层组成:物理层、数据链路层、网络层、运输层和应用层。前四层与OSI模型的前四层对应,提供物理标准、网络接口、网际互连、以及传输功能。然而OSI模型的最高三层在TCP/IP中则用叫做应用层的来表示。1.3.3CSMA/CD以太网使用载波监听多点接入/冲突检测(CSMA/CD)协议,为了设备在网络上家交换数据。多点接入这个术语指许多网络设备连接到同一个网段 有发送的机会。每个设备赋予等同的发送机会;没有任何设备优先于其它设备。载波监听描述了一个网络设备的以太网接口在传送之前如何监听网线。网络接口确保没有其它信号在网线上,在它传送之前,并且在传送的时候监听确保在同一时刻没有其它网络设备传送数据。当两个网络设备在同一时刻传送时,一个冲突发生。因为以太网接口在它们正在传送时监听媒体,通过冲突检测它们能够标识其它传送的出现。如果一个冲突发生了,正在传送的设备在重新传送之前等待一个小的,随机的时间量。该功能就是随机补偿(random backoff)。传统地,以太网操作是半双工的,其意味着一个接口只能传送或接收数据,但是并不是同时。如果一个网段中多于一个的网络接口试图在同一时刻传送,一个冲突发生每个载波监听多点接入/冲突检测。当一个交叉的网线用来连接两个设备,或者一个单个设备连接一个交换机端口,在该网段中仅仅两个接口需要传送或接收,没有冲突发生。这是因为设备A的传送连接到设备B的接收,设备B的接收连接到设备A的传送。冲突检测的方法不再是必需的,因此,接口能够工作于全双工模式,其允许网络设备在同一时刻传送与接收,从而提高性能。1.3.4主要的协议:IP、TCP、UDP与ICMP协议下列IP、TCP、UDP与ICMP四个协议是现今互联网工作的核心。IP(网际互连协议)IP是一个非连接协议,管理寻址数据从一个点到另一个点,把大数据包分割成小的、能传输的数据包。IP数据报的主要组成如下:IP标识(IPID)试图唯一标识IP数据报协议描述使用IP层服务的高层协议生存时间(TTL)数据报在通过互联网是必须具有的受限的寿命。当TTL为0时,数据报被丢弃源IP地址源点的IP地址,数据报被创建的地方目的IP地址终点的IP地址,数据报应该送到的地方ICMP(网际控制报文协议)网际控制报文协议(ICMP)管理网络之间在IP上出现的错误。下面是ICMP常用的报文:回送请求/回答为诊断目的而设计,可以用来确定在IP这级能否正常通信。例如ping程序使用回送请求与回答报文来计算两个节点之间的网络延时。终点不可达网络不可达与端口不可达。该报文发送给数据报的源IP地址,当一个网络或端口不可达时。这发生在当一个防火墙拒绝了一个数据报或存在网络问题时。终点不可达报文有一些子类型,有助于诊断通信问题。超时在一个数据包的TTL为0时发生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可用于全双工或半双工的10、100与1000Mbps以太网链接。They are also available in various multi-port sizes.下列是一些流行的网线探头产品列表。Net Optics carries several types of network taps for copper and fiber cables, and is available at .The Finisar Tap family offers a variety of taps for copper and fiber cables, and is available /nt/taps.php.集线器(Hubs)集线器的英文名称就是我们通常见到的“HUB”,英文“HUB”是“中心”意思,集线器的主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。它工作于OSI参考模型第二层,即“数据链路层”。集线器是一个在一个共享媒体(比如以太网)上把多个主机连接起来的设备。当一台计算机发送信息后,该信息行走到该集线器,集线器接着把该信息推向所有与之连接的计算机。该信息的目标计算机,将会在数据包的头部识别它自己的MAC地址,并接受该数据。集线器推进所有信息的区域,叫做一个冲突域(也叫广播域)。一个集线器对所有共享的网络流量只有一个冲突域。图2-4显示了一个带有集线器冲突域的网络架构。大量的冲突使得嗅探更容易,并导致性能问题,诸如集线器的带宽占用(bandwidth hogging)或过流(excessive traffic)。图2-4 Hub冲突域交换机(Switch)一个交换机也用于在共享媒体上把计算机连接在一起;然而,当一个交换机接收信息,它不会盲目的发送给所有其它计算机。它查找数据包的头部来定位目标MAC地址,并维护一个连接到交换机上计算机的所有MAC地址与对应端口的列表。接着把数据包推进数据包到特定端口。这把冲突域缩小为一个单独的端口(如图2-5所示)。该类型的冲突域也为每个连接提供了一个明确的带宽量,而不是集线器的一个共享量。因为交换机的价格在最近几年中急剧下降,没有原因不采用交换机替换集线器,或者在选购新设备时选择交换机。一些价格更贵的交换机包括更好的技术使得对嗅探攻击更具抵挡能力。图 2-5 交换机冲突域就像从图中所见到的一样,集线器使得嗅探更容易,而交换机使得嗅探更困难。然而,交换机也能被欺骗。端口映射如果在使用交换机的网络上工作,并希望执行正当的网络分析,很幸运的是,大部分交换机与路由器提供了端口映射(port mirroring)机制。为了映射端口,必须配置交换机从一个希望映射的端口复制网络流量到所连接的端口。配置交换机映射端口1的所有网络流量到端口5,网络分析器查看发送到计算机A与计算机A发送出去的所有网络流量。一些时候,管理员把交换机的上行端口进行映射,他们就能够查看出入交换机所有端口的网络流量。图 2-6 端口映射1.3.6交换机欺骗正如前面所提及的,在一个网络上使用交换机使得嗅探更困难。从理论上而言,连接到交换机的计算机应该只看见发给自己的网络流量,然而存在一些技术可绕过该技术限定。下面列举了攻溃交换机防守的几种方式:交换洪泛(Switch Flooding)一些交换机可以像一个集线器的方式运行,所有的数据包被广播给所有的计算机。这可以通过大量的假MAC地址使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 孩子手机上瘾怎么戒
- 家电公司同业拆借管理细则
- 家电公司跑步活动组织办法
- 跳画技能考试试题及答案
- 启蒙篮球测试题及答案
- 公寓管理试题及答案
- 会展概论试题及答案
- 专职理财经理考试试题及答案
- 倒茶礼仪考试题及答案
- java包装类面试题及答案
- 温硝化制硝基苯装置的改进
- 保教知识与能力幼儿园课件
- 财务部半年度述职汇报PPT模板
- 药品种类清单
- 公共基础知识(社区工作者基础知识)试题(附答案)
- GB/T 37915-2019社区商业设施设置与功能要求
- GB/T 31298-2014TC4钛合金厚板
- 《电业安全工作规程》
- 卡西欧gw5600说明书
- 中兴NGN培训教材 MSG9000结构原理介绍课件
- 穿湖隧道施工组织设计
评论
0/150
提交评论