网络安全第二章PPT学习课件_第1页
网络安全第二章PPT学习课件_第2页
网络安全第二章PPT学习课件_第3页
网络安全第二章PPT学习课件_第4页
网络安全第二章PPT学习课件_第5页
已阅读5页,还剩120页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章网络安全协议基础,2,1,内容提要,本章介绍OSI七层网络模型TCP/IP协议簇介绍IP协议、TCP协议、UDP协议和ICMP协议介绍常用的网络服务:文件传输服务、Telnet服务、电子邮件服务和Web服务介绍常用的网络服务端口和常用的网络命令的使用,2,OSI参考模型,OSI参考模型是国际标准化组织ISO(InternationalStandardsOrganization)制定的模型,把计算机与计算机之间的通信分成七个互相连接的协议层,结构如图所示。,3,OSI参考模型,很少有产品是完全的OSI模式,然而OSI参考模型为网络的结构提供了可行的机制。OSI模型将通信会话需要的各种进程划分成7个相对独立的层次。,4,1、物理层(PhysicalLayer),最底层是物理层,这一层负责传送比特流,它从第二层数据链路层接收数据帧,并将帧的结构和内容串行发送,即每次发送一个比特。物理层只能看见0和1,只与电信号技术和光信号技术的物理特征相关。这些特征包括用于传输信号电流的电压、介质类型以及阻抗特征。该层的传输介质是同轴电缆、光纤、双绞线等,有时该层被称为OSI参考模型的第0层。物理层可能受到的安全威胁是搭线窃听和监听,可以利用数据加密、数据标签加密,数据标签,流量填充等方法保护物理层的安全。,5,2、数据链路层(DataLinkLayer),OSI参考模型的第二层称为数据链路层。与其他层一样,它肩负两个责任:发送和接收数据。还要提供数据有效传输的端到端连接。在发送方,数据链路层负责将指令、数据等包装到帧中,帧是该层的基本结构。帧中包含足够的信息,确保数据可以安全地通过本地局域网到达目的地。,6,3、网络层(NetworkLayer),网络层(NetworkLayer)的主要功能是完成网络中主机间的报文传输。在广域网中,这包括产生从源端到目的端的路由。当报文跨越两个或多个网络时,会产生一些问题。例如第二个网络的寻址方法可能不同于第一个网络;第二个网络也可能因为第一个网络的报文太长而无法接收;两个网络使用的协议也可能不同等。网络层必须解决这些问题,使异构网络能够互连。在单个局域网中,网络层是冗余的,因为报文是直接从一台计算机传送到另一台计算机的。,7,4、传输层(TransportLayer),传输层的主要功能是完成网络中不同主机上的用户进程之间可靠的数据通信。最好的传输连接是一条无差错的、按顺序传送数据的管道,即传输层连接是真正端到端的。识别连接的信息可以放入传输层的报文头中。,8,5、会话层(SessionLayer),会话层允许不同机器上的用户之间建立会话关系。会话层允许进行类似传输层的普通数据的传送,在某些场合还提供了一些有用的增强型服务。会话层提供的服务之一是管理对话控制。会话层允许信息同时双向传输,或限制只能单向传输。如果属于后者,类似于物理信道上的半双工模式,会话层将记录此时该轮到哪一方。一种与对话控制有关的服务是令牌管理(TokenManagement)。,9,6、表示层(PresentationLayer),表示层完成某些特定的功能,这些功能不必由每个用户自己来实现。表示层以下各层只关心从源端机到目标机可靠地传送比特,而表示层关心的是所传送的信息的语法和语义。表示层服务的一个典型例子是用一种一致选定的标准方法对数据进行编码。大多数用户程序之间并非交换随机的比特,而是交换诸如人名、日期、货币数量和发票之类的信息。这些对象是用字符串、整型数、浮点数的形式,以及由几种简单类型组成的数据结构来表示。,10,7、应用层(ApplicationLayer),应用层包含大量人们普遍需要的协议。FTPTELNETSMTPPOP3,11,TCP/IP协议簇,TCP/IP协议簇模型和其他网络协议一样,TCP/IP有自己的参考模型用于描述各层的功能。TCP/IP协议簇参考模型和OSI参考模型的比较如图所示。,12,TCP/IP协议簇,TCP/IP参考模型实现了OSI模型中的所有功能。不同之处是TCP/IP协议模型将OSI模型的部分层进行了合并。OSI模型对层的划分更精确,而TCP/IP模型使用比较宽的层定义。,13,解剖TCP/IP模型,TCP/IP协议簇包括四个功能层:应用层、传输层、网络层及网络接口层。这四层概括了相对于OSI参考模型中的七层。1、网络接口层网络接口层包括用于物理连接、传输的所有功能。OSI模型把这一层功能分为两层:物理层和数据链路层,TCP/IP参考模型把两层合在一起。2、网络层(Internet层)网络层由在两个主机之间通信所必须的协议和过程组成。这意味着数据报文必须是可路由的。,14,解剖TCP/IP模型,3、传输层这一层支持的功能包括:为了在网络中传输对应用数据进行分段,执行数学检查来保证所收数据的完整性,为多个应用同时传输数据多路复用数据流(传输和接收)。这意味着该层能识别特殊应用,对乱序收到的数据进行重新排序。当前的主机到主机层包括两个协议实体:传输控制协议(TCP)和用户数据报协议(UDP)。4、应用层应用层协议提供远程访问和资源共享。应用包括Telnet服务、FTP服务、SMTP服务和HTTP服务等,很多其他应用程序驻留并运行在此层,并且依赖于底层的功能。该层是最难保护的一层。,15,解剖TCP/IP模型,TCP/IP组的四层、OSI参考模型和常用协议的对应关系如图所示。,16,网络协议IP,IP协议已经成为世界上最重要的网际协议。IP的功能定义在由IP头结构的数据中。IP是网络层上的主要协议,同时被TCP协议和UDP协议使用。,17,IP数据报,IP数据报有两层含义:IP层的无连接数据报传输机制和IP层无连接服务;IP层传输的数据单元及格式。二者是密切相关的:数据报机制要通过数据报格式来体现,而数据报格式只有在数据报机制中才真正具有意义。1.数据报格式IP数据报分为报头和数据区两部分,符合典型分组的一般格式。报头长度取32比特字长的整数倍,由IP协议处理,是IP协议的体现;数据区用于封装上层(传输层)数据。IP数据报是为实现它的无连接传输机制和IP层的无连接服务而设计的。,18,IP数据报,04816192431,IP数据报格式,报头,数据区,19,IP数据报,2.版本与协议类型“版本(VERS)”域是IP数据报中的第一个域,它规定数据报头的格式,占用4个比特。不同的IP协议版本号规定了不同的IP数据报格式。“协议(PROTOCOL)”域表示创建该数据报数据区数据的高级协议类型(如TCP),实际上表示数据区数据的格式,占用8个比特。“版本”域和“协议”域都是指定数据的格式,二者的层次却不一样。前者指定数据报头格式,属IP层范畴;后者指定数据报数据区格式,属传输层范畴。,20,IP数据报,3.长度IP数据报报头含两个长度域。头标长(HLEN)域占用4个比特,表示以32比特字长为单位的报头长度。在报头中,除IP选项域、填充域外,其余都是定长域。各定长域共占用5个32比特字长。因此一个不含选项域和填充域的IP数据报,其头标长域取值为5。对一个包含选项域的IP数据报,报头长度取决于选项域的长度,报头长度应是32比特的整数倍;否则,填充域(PADDING)便添0凑齐。总长(TOTALLENGTH)域占用16个比特,表示以字节为单位的整个IP数据报(包括头标、数据区)的总长度。,21,IP数据报,4.服务类型与优先权服务类型(SERVICETYPE)域规定对本数据报的处理方式,占用8个比特,分为5个子域,其结构如下图所示。,034567,服务类型子域结构,对服务类型各个子域信息的使用和具体处理是在网关中进行。,22,IP数据报,5.数据报传输网络数据都是通过物理网络帧传输的。从主机发出的IP数据报在其子网接口中封装成帧后,送进与之相连的第一个物理网络。当此帧到达与第一个物理网络相连的下一个网关时,在其子网接口中删除帧头,露出IP数据报,送到IP层。在此IP层查找间接路径表,得到要传送去的下一个网关的IP地址,并解析出与下一个网关相连的物理网络。将IP数据报送回子网接口。子网接口根据新的物理网络要求,重新封装数据报,并传送到新的物理网络。物理网络所允许的最长的帧称为该网络的最大传输单元(MaximumTransferUnit,MTU)。MTU由硬件决定。不同物理网络,其MTU一般不相同。,23,IP数据报,IP数据报的传输过程。(1)数据报封装。数据报的重新封装仅在网关中进行,这是最简单的情况。如果按新的物理网络技术装配成帧后,总长度能为新的物理网络允许,那么就可以将IP数据报直接装入帧数据区,作为无意义的一般数据传输,物理硬件并不关心其细节。这种将数据报直接映射到物理帧的方式叫做数据报封装(encapsulation)。,24,IP数据报,(2)数据报分片。数据报分片(fragment)仅在网关中进行。如果新的物理网络不能容纳原数据报的新的整体封装,就要将其分成两片或更多的片,使得分片包装后,新的物理网络能容纳下分片包装的每一个帧。例如,设在当前物理网络上传送的一个帧中封装着一个数据报。该数据报报头长20个字节,数据长1400个字节。通过网关后,将要进入的下一个物理网络,除新帧头长度外,被封装的数据报长度最多是620个字节。应该分为三片。三个片的片头域基本上都从原数据报的报头拷贝过来(“标志”域及“片偏移”域除外),各长20个字节(等于无选项普遍数据报报头长)。第一片取原数据的前600个字节(MTU减片头长)。第二片取原数据的相继600个字节。第三片取原数据的最后200个字节。然后,根据片的顺序对三个片头中的标志域、片偏移域,分别作相应修改。,25,IP数据报,片2(偏移600),片1(偏移0),(a)数据区大小为1400字节的初始数据,数据1(600字节),数据1(600字节),报头(20字节),数据3(200字节),(b)在MTU=620字节的网络上的三个分片,数据1,片1头(20字节),数据2,片2头(20字节),数据3,片3头(20字节),片3(偏移1200),分片方法与片格式,26,IP数据报,分片必须满足两个条件:第一,各片尽可能大,但要能为帧所封装;第二,片大小(以字节为单位)必须为8的整数倍,因为IP数据报报头中的片偏移域是以8个字节(64比特)为1个片偏移单位的。分片只可能出现在不同MTU网络交界处的网关中。因为根据“方便”原则,信源机按照所在网络的MTU确定初始数据报大小,所以信源机处不进行分片。在同一物理网络传输过程中,由于数据报及MTU大小均无改变,同样不会出现分片。IP规范要求,网关必须能处理所连诸网络中最大的MTU数据报,主机和网关通常必须能处理至少576个字节的数据报。,27,IP数据报,(3)片的重组。所有片的重组只在信宿主机中进行。这就是说,一旦数据报被分片,各片就作为独立的数据报进行传送,在到达信宿机之前可能还会多次被分片,但决不进行片重组。这就大大简化了网关协议,减轻了网关负担,使分组以最快的速度在网间网中传递。TCP/IP对数据报的分片与重组,是网络操作系统的内部功能,对应用软件和一般用户都是透明的。(4)分片控制。IP数据报报头中的标识域(IDENTIFICATION)、标志域(FLAGS)、片偏移域(FRAGMENTOFFSET)在分片与重组过程中所发挥的作用。,28,IP数据报,标识是信源机赋予数据报的标识符,信宿机利用它和信源地址判断收到的分组属于哪个数据报,以便数据报重组。标志域占3个比特。最高位无效。中间一位名为“不分片(donotfragment)”,置1表示不允许分片,置0表示允许分片。如果在某一网关处,必须对标志置1的数据报分片才能在下一个物理网络传送时,网关就将它抛弃,并向信源机发回一出错信息。标志域的最低一位名为“片未完(morefragment)”,置1时表示该片不是原数据报的最后一片,置0时表示该片是原数据报的最后一片。片偏移域。片偏移域指出本片数据在初始数据报数据区中的偏移量,以8个字节(64比特)为1个片偏移单位。,29,IP数据报,6.数据报延迟控制数据报传输的一大特点是随机寻径,因此从信源机到信宿机的传输延迟也具有随机性。有这种可能性:由于网关寻径表出错,数据报会进入一条循环路径,无休止地在网间网中流动。为避免出现诸如此类的情况,IP协议对数据报传输延迟要进行特别的控制。信源机每产生一个新的IP数据报,便在其报头的“生存时间(TimeToLive,TTL)”域中填写入本数据报的最长生存时间值,以秒为单位。每经过一个网关或主机,便要减去一定的旅程消耗时间。网关或主机再检查该域的新值,若小于或等于0,便将该数据报从网间网中删除,并信源机发回出错信息。此外,在接收端的内存中,设置了一组重组定时器(reassemblytimer)。接收端收到某数据报的第一个分片后,立即启动一个重组定时器定时,假如在规定时间内尚未收到全部分片则放弃整个数据报,同时向信源机报告出错信息。,30,IP数据报,7.头校验和“头校验和(HEADERCHECKSUM)”域用于保证头标数据的完整性。计算方法:将该域初值置0;对头标数据每16位求异或;结果取反。注意,在IP数据报中只含头校验和,而无显式的数据区校验域。这种将头标校验与数据区校验分开的做法其好处是可大大节约网关处理每一数据报的时间,符合“尽力传送”思想,同时又允许不同协议选择自己的数据校验方法。缺点是给高层软件留下数据不可靠的问题,增加了高层协议的负担。IP层为了最大限度地提高效率,做了不少诸如此类的舍弃。,31,IP数据报,8.信源地址与信宿地址在IP数据报的头标中,最简单的两个域是“信源地址(SOURCEADDRESS)”域和“信宿地址(DESTINATIONADDRESS)”域,各占32比特,分别表示本IP数据报(最初)发送者和(最终)接收者的地址。在整个数据报传输过程中,无论经过什么路径,无论怎样分片,此两域均保持不变。,32,IP数据报选项,“IP选项(IPOPTIONS)”主要用于控制和测试。作为选项,IP选项域是任选的,但作为IP协议的组成部分,在所有IP协议的实现中,选项处理都不可缺少。IP选项一共有4类,每一类又分若干选项号。4类中,有两类是在用的,即0类和2类。0类用于数据报或网络控制,其中有6个选项号是在用的,2类用于调试和测试,其中有1个选项号是在用的。这就是说,数据报选项域一共有7个选项可选。各选项由三部分组成:选项码(optioncode)、长度和选项数据。选项数据的长度由“长度”部分决定。选项码由“拷贝(COPY)”、“选项类(OPTIONCLASS)”和“选项号(OPTIONNUMBER)”组成。其中“拷贝”标志用于控制网关分片时对本选项的处理。“选项类”和“选项号”用于确定该选项的具体内容。,33,IP数据报选项,数据报可用的选项号,34,抓取Ping指令发送的数据包,按照第一章Sniffer的设置抓取Ping指令发送的数据包,命令执行如下图所示。,35,抓取Ping指令发送的数据包,36,抓取Ping指令发送的数据包,其实IP报头的所有属性都在报头中显示出来,可以看出实际抓取的数据报和理论上的数据报一致,分析如下图所示。,37,IPv4的IP地址分类,A类地址B类地址C类地址D类地址E类地址,38,互联网控制消息协议ICMP,通过ICMP协议,主机和路由器可以报告错误并交换相关的状态信息。在下列情况中,通常自动发送ICMP消息:IP数据报无法访问目标。IP路由器(网关)无法按当前的传输速率转发数据报。IP路由器将发送主机重定向为使用更好的到达目标的路。,39,ICMP协议与IP协议的关系,如同其它高层协议一样,ICMP也是封装在IP数据报的数据部分中传输的。包含ICMP报文的IP数据报报头协议域指出数据区内容为ICMP报文。,40,ICMP协议与IP协议的关系,虽然ICMP报文由IP数据报传输,但人们并不把ICMP看作是比IP更高层的协议。事实上,ICMP的信宿总是信宿机上的IP软件,ICMP软件只是作为IP软件的一个模块而存在。IP软件一旦接收到差错或控制报文,立即交给ICMP模块处理。从这种意义上说,也可以把ICMP看作不同机器的IP软件间相互通信的机制。ICMP报文格式分为头标和数据区两部分。头标包含“类型”、“代码”和“校验和”三个域。类型域(TYPE)占一个字节,以一个整数来表示报文的类型,,41,ICMP报文类型,42,ICMP差错报文,ICMP出错报告包括信宿不可到达报告、超时报告、参数出错报告等。1.信宿不可到达报告网关寻径和转发数据报并不总是能成功的,在下述情况下,它便会发现信宿不可到达:信宿机没有运行(出现故障、关机,或已撤离网络);发送者指定的信宿不存在;网关不知道去往信宿的路径。其中第一种情况寻径是成功的,只是转发数据时出了差错;第三种情况是寻径时出的差错,在网关寻径表中根本没有关于信宿的表目。不论发生上述哪种故障,网关便向信源机发送“信宿不可到达”报文并抛弃相应数据报。,43,ICMP差错报文,2.超时报告网间网寻径是网关根据本地寻径表进行的,若某些网关寻径表出现差错,则网间网寻径将出现不一致性。其后果之一就是数据报路径中的某些网关组成一个循环,称之为寻径圈(routingcycle),使数据报无休止地在寻径圈中循环。为了防止出现这种情况,TCP/IP采取了两项措施:一是在数据报报头设置“生存时间(TimeToLive,TTL)”域,二是对分片数据报采用定时器技术。通过定时来限制数据报在网络中的逗留时间,以提高网络的传输效率。一旦定时时间到,网关或信宿机立即抛弃本数据报,并向信源发送ICMP超时报告。,44,ICMP差错报文,3.参数出错报告ICMP参数出错报告,报告错误的数据报报头和错误的数据报选项参数。如果参数错误严重,网关或主机不得不将报文抛弃,并向信源发送出错报文。,45,ICMP控制报文,1.拥塞控制与源抑制报文对于无连接的传输来说,由于网关不事先为数据报分配缓冲区,可能出现大量的数据在某些时刻拥入同一网关的事情,此时网关可能被淹没,这就是所谓拥塞。造成拥塞的原因有二:其一,网关的处理速度太慢,不能完成数据报排队、表格刷新等日常各项工作;其二,网关输入数据的速率大于输出数据的容量,当许多数据同时通过同一网关转发时就可能发生这种事情。不论属于何种拥塞,本质上都是因为网关没有足够的缓冲区。而当网关有充足的缓冲区时,它总能容纳从四面八方拥入的信息,并从容排队、处理、转发,犹如一个巨大的蓄洪区那样。,46,ICMP控制报文,拥塞控制的方法很多,TCP/IP采用“源抑制(sourcequench)”技术。所谓源抑制就是抑制信源机发送数据的速率。源抑制包括三个阶段。第一个阶段:网关周期性地测试每条输出线路,一旦发现某条输出线路拥塞,立即向相应的源发送机发出ICMP源抑制报文。第二个阶段:信源机收到抑制报文后,按一定的速率降低发往某信宿的数据报传输率。第三个阶段:拥塞解除后,信源机要恢复数据报传输速率。恢复的过程跟ICMP无关,完全由主机自动完成。方法是,在上面所提到的时间间隔内,假如没有源抑制报文到达,主机便认为拥塞已经解除,主机可以逐渐恢复数据报流量。,47,ICMP控制报文,2.路径控制与重定向报文网间网的路径是由主机和网关上的路径表决定的,其中网关寻径表起着决定作用,各主机寻径表信息绝大部分来自于同一网络中的网关。TCP/IP的原则是,假定网关知道正确的路径,主机启动时只知道最少的寻径信息,启动后在数据传输过程中不断从网关获得新路径信息。问题是,主机如何从网关处获得路径信息;而当路径发生变化后,网关如何通知其它网关以保持路径的正确性。对后一问题的回答是网关间周期性地交换路径信息,即可保证网关寻径表的正确性。,48,ICMP控制报文,现在回到第一个问题,主机是通过网关向它发送ICMP重定向报文来获得路径信息的。主机启动时,在其寻径表中产生初始网关信息,主机通过初始网关将数据报发送出去;但经过初始网关的路径不一定是最优的,初始网关一旦发现另有最优路径时,它一方面将正在传送中的数据报继续转发出去,另一方面便向主机发送一个路径重定向报文,告诉主机去往相应信宿的最优路径,主机于是立即修改相应路径。这个过程会一直进行下去:主机通过当时的最优路径发送报文,而最优路径上的网关不断地搜寻更优路径,一旦发现有更优路径,一方面把正在传送的数据报发送出去,同时又向主机发送去往相应信宿的更优路径,主机于是立即修改相应路径。这样主机开机后经过不断积累便能掌握越来越多的最优路径信息,其寻径表逐渐得到充实。ICMP重定向机制的优点是保证主机拥有一个动态的、既小且优的寻径表。遗憾的是,ICMP重定向机制只能用于同一网络的网关与主机之间,对网关之间的路径刷新它是无能为力的。,49,ICMP请求/应答报文对,。1.回应请求与应答回应请求/应答对用于测试信宿机的可到达性。请求者(某机器)向特定信宿机发送一个回应请求报文,报文中包含一个任选的数据区;信宿机发回相应的回应应答报文,其中包含一个请求中任选数据的拷贝。因为同一机器可以同时向若干信宿机发出请求,为了确定哪一条路径是畅通的,故使用“标识符”域和“序号”域来匹配请求与应答。,50,ICMP请求/应答报文对,2.时截请求与应答网间网中各机器基本上都是独立运行的,为避免时钟相差太大,TCP/IP提供了一些用于时钟同步的协议,其中最简单的一种就是使用ICMP时截请求/应答报文。时截请求/应答报文的类型域值为13时是时截请求报文,为14时是应答报文。信源机在请求报文的“初始时截”域中填好发出请求的时间,立即将报文发出。信宿机收到请求报文时,记住此时间,然后构造应答报文,在“接收时截”域中填入收到请求报文的时间,在“发送时截域”中填入发送回应的时间,之后,立即将应答报文发回。,51,ICMP请求/应答报文对,3.地址模请求与应答使用掩码,可以将同一个IP网络号所能容纳的一个物理网络再分为几个物理网络,每个物理网络都称为一个子网。为区分每个子网,必须使用IP地址的主机号部分的一些高位来标识。与IP地址的标准格式(网络号主机号)不同,IP地址主机号中的子网结构是非标准的,称子网模(subnetmask),不同网络的子网模各不相同。为了正确地解释子网地址,主机向网关发出地址模请求,网关发回相应应答。,52,ICMP数据报分析,使用Ping命令发送ICMP回应请求消息,使用Ping命令,可以检测网络或主机通讯故障并解决常见的TCP/IP连接问题。分析Ping指令的数据报,如图所示。,53,传输控制协议协议TCP,TCP是传输层协议,提供可靠的应用数据传输。TCP在两个或多个主机之间建立面向连接的通信。TCP支持多数据流操作,提供错误控制,甚至完成对乱序到达的报文进行重新排序。,54,TCP协议的头结构,和IP一样,TCP的功能受限于其头中携带的信息。,55,TCP协议的头结构,TCP协议的头结构都是固定的:(1)TCP源端口(SourcePort):16位的源端口包含初始化通信的端口号。源端口和IP地址的作用是标识报文的返回地址。(2)TCP目的端口(DestinationPort):16位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。(3)序列号(SequenceNumber):TCP连线发送方向接收方的封包顺序号。(4)确认序号(AcknowledgeNumber):接收方回发的应答顺序号。(5)头长度(HeaderLength):以32比特为单位的段头标长度。该域是针对变长的选项域设计的。(6)URG:是否使用紧急指针,0为不使用,1为使用。(7)ACK:请求/应答状态。0为请求,1为应答。(8)PSH:以最快的速度传输数据。(9)RST:连线复位,首先断开连接,然后重建。(10)SYN:同步连线序号,用来建立连线。(11)FIN:结束连线。如果FIN为0是结束连线请求,FIN为1表示结束连线。(12)窗口大小(Window):目的机使用16位的域告诉源主机,它想收到的每个TCP数据段大小。(13)校验和(CheckSum):这个校验和和IP的校验和有所不同,不仅对头数据进行校验还对封包内容校验。(14)紧急指针(UrgentPointer):当URG为1的时候才有效。TCP的紧急方式是发送紧急数据的一种方式。,56,一次完整的FTP会话,首先开启目标主机的FTP服务。,57,一次完整的FTP会话,启动Sniffer,然后在主机的DOS命令行下利用FTP指令连接目标主机上的FTP服务器,连接过程如图所示。,58,一次完整的FTP会话,59,一次完整的FTP会话,登录FTP的过程是一次典型的TCP连接。,60,传输控制协议(TCP)的特点,传输控制协议(TCP)的特点是:提供可靠的、面向连接的数据报传递服务。传输控制协议可以做到如下的六点:确保IP数据报的成功传递。对程序发送的大块数据进行分段和重组。确保正确排序以及按顺序传递分段的数据。通过计算校验和,进行传输数据的完整性检查。根据数据是否接收成功发送消息。通过有选择的确认,也对没有收到的数据发送确认。为必须使用可靠的基于会话的数据传输的程序提供支持,如数据库服务和电子邮件服务。,61,TCP协议的工作原理,TCP提供两个网络主机之间的点对点通讯。TCP从程序中接收数据并将数据处理成字节流。首先将字节分成段,然后对段进行编号和排序以便传输。在两个TCP主机之间交换数据之前,必须先相互建立会话。TCP会话通过三次握手的完成初始化。这个过程使序号同步,并提供在两个主机之间建立虚拟连接所需的控制信息。TCP在建立连接的时候需要三次确认,俗称“三次握手”,在断开连接的时候需要四次确认,俗称“四次挥手”。,62,TCP协议的“三次握手”,面向连接的传输要求A机和B机以同步方式进行报文传输,双方发出的第一个报文均给出一个本地独立的初始序号。在双方一来一回的报文交换过程中,回报文要对收到的上一个来报文加以确认。在三次握手法的第一次中,A机向B机发出连接请求(简称CR),其中包含A机端的初始报文序号(比如X)。第二次,B机收到CR后,发回连接确认(CC),其中,包含B机端的初始报文序号(比如Y),以及B机对A机初始序号X的确认。第三次,A机向B机发送X序号数据,其中包含对B机初始Y的确认。三次握手法的操作过程如下图所示。由于A机在本端对报文进行编号,它知道哪些序号是过时的。假如B收到一个过时连接请求CR(初始序号=X1),并确认之。A机判断出CC(确认=X1)是过时的,将发送一个拒绝报文REJ(确认=Y),表示对来自B机的CC(初始序号=Y,确认=X1)的拒绝。于是便不会在旧的重复连接请求上建立错误连接了。,63,TCP协议的三次“握手”,64,三次握手示意图,TCP协议的三次“握手”,65,TCP协议的三次“握手”,这个过程在FTP的会话过程中也明显的显示出来。,66,第一次“握手”,首先分析建立“握手”第一个过程包的结构。,67,第二次“握手”,SYN为1,开始建立请求连接,需要对方计算机确认,对方计算机确认返回的数据包如图所示。,68,第三次“握手”,对方计算机返回的数据包中ACK为1并且SYN为1,说明同意连接。这个时候需要源计算机的确认就可以建立连接了。确认数据包的结构如图所示。,69,TCP协议的四次“挥手”,需要断开连接的时候,TCP也需要互相确认才可以断开连接,四次交互过程如图所示。,70,第一次“挥手”,第一次交互过程的数据报结构。,71,第二次“挥手”,第一次交互中,首先发送一个FIN=1的请求,要求断开,目标主机在得到请求后发送ACK=1进行确认,如图所示。,72,第三次“挥手”,在确认信息发出后,就发送了一个FIN=1的包,与源主机断开。,73,第四次“挥手”,随后源主机返回一条ACK=1的信息,这样一次完整的TCP会话就结束了。,74,用户数据报协议UDP,UDP为应用程序提供发送和接收数据报的功能。UDP协议在TCP/IP主机之间建立快速、轻便、不可靠的数据传输通道。,75,UDP和TCP的区别,UDP提供的是非连接的数据报服务,意味着UDP无法保证任何数据报的传递和验证。UDP的结构如图所示。,76,UDP和TCP传递数据的差异,UDP和TCP传递数据的差异类似于电话和明信片之间的差异。TCP就像电话,必须先验证目标是否可以访问后才开始通讯。UDP就像明信片,信息量很小而且每次传递成功的可能性很高,但是不能完全保证传递成功。UDP通常由每次传输少量数据或有实时需要的程序使用。在这些情况下,UDP的低开销比TCP更适合。UDP与TCP提供的服务和功能直接对比,77,UDP和TCP传递数据的比较,78,UDP协议的头结构,UDP的头结构比较简单。,79,UDP的头结构,(1)源端口(SourcePort):16位的源端口域包含初始化通信的端口号。源端口和IP地址的作用是标识报文的返回地址。(2)目的端口(DestinationPort):16位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。(3)封包长度(Length):UDP头和数据的总长度。(4)校验和(CheckSum):和TCP和校验和一样,不仅对头数据进行校验,还对包的内容进行校验。,80,UDP数据报分析,常用的网络服务中,DNS使用UDP协议。DNS是域名系统(DomainNameSystem)的缩写当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与此名称相关的IP地址。,81,设置DNS解析,需要在主机上设置DNS解析的主机,将主机的DNS的解析指向虚拟机。,82,设置DNS解析,虽然虚拟机并没有设置DNS解析,但是只要访问DNS都可以抓到UDP数据报。设置完毕后,在主机的DOS界面中输入命令nslookup。,83,UDP报头,查看Sniffer抓取的数据报,可以看到UDP报头。,84,UDP报头的分析,对UDP报头的分析如图所示。,85,FTP服务,FTP的缺省端口是20(用于数据传输)和21(用于命令传输)。在TCP/IP中FTP是非常独特的,因为命令和数据能够同时传输,而数据传输是实时的,其他协议不具有这个特性。FTP客户端可以是命令界面的也可以是图形界面的。,86,命令行登录FTP服务器,87,图形界面登录FTP服务器,也可以在浏览器中输入“ftp:/主机IP地址”,利用图形界面连接FTP服务器。,88,更改登录用户信息,登录FTP可以更改登录用户信息,选择菜单“文件”下的菜单项“登录”,出现用户名输入对话框。,89,Telnet服务,Telnet是TELecommunicationsNETwork的缩写,其名字具有双重含义,既指应用也是指协议自身。Telnet给用户提供了一种通过网络登录远程服务器的方式。Telnet通过端口23工作。,90,开启Telnet服务,Telnet要求有一个Telnet服务器,此服务器驻留在主机上,等待着远端机器的授权登录。要使用Telnet服务首先需要在虚拟机上开启Telnet服务,选择进入Telnet服务管理器。,91,开启Telnet服务,在Telnet服务管理器中选择4,启动Telnet服务器。,92,连接Telnet服务器,虚拟机上的Telnet服务器就启动了,然后在主机的DOS窗口中连接虚拟机的Telnet服务器。,93,Email服务,目前Email服务用的两个主要的协议是:简单邮件传输协议SMTP(SimpleMailTransferProtocol)和邮局协议POP3(PostOfficeProtocol)。SMTP默认占用25端口,用来发送邮件,POP3占用110端口,用来接收邮件。,94,Web服务,Web服务是目前最常用的服务,使用HTTP协议,默认Web服务占用80端口在Windows平台下一般使用IIS(InternetInformationServer)作为Web服务器。,95,网络端口,按端口号可分为3大类:(1)公认端口(WellKnownPorts):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。(2)注册端口(RegisteredPorts):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。(3)动态和/或私有端口(Dynamicand/orPrivatePorts):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。,96,常用的网络服务端口,常用服务端口列表,97,常用的网络命令,常用的网络命令有:判断主机是否连通的ping指令查看IP地址配置情况的ipconfig指令查看网络连接状态的netstat指令进行网络操作的net指令进行定时器操作的at指令。,98,ping,ping指令通过发送ICMP包来验证与另一台TCP/IP计算机的IP级连接。应答消息的接收情况将和往返过程的次数一起显示出来。ping指令用于检测网络的连接性和可到达性,如果不带参数,ping将显示帮助。,99,ping,100,ping,可以利用ping指令验证和对方计算机的连通性,使用的语法是“ping对方计算机名或者IP地址”。如果连通的话,返回的信息如图所示。,101,ipconfig指令,ipconfig指令显示所有TCP/IP网络配置信息、刷新动态主机配置协议(DHCP,DynamicHostConfigurationProtocol)和域名系统(DNS)设置。使用不带参数的ipconfig可以显示所有适配器的IP地址、子网掩码和默认网关。在DOS命令行下输入ipconfig指令。,102,netstat指令,netstat指令显示活动的连接、计算机监听的端口、以太网统计信息、IP路由表、IPv4统计信息(IP、ICMP、TCP和UDP协议)。使用“netstat-an”命令可以查看目前活动的连接和开放的端口,是网络管理员查看网络是否被入侵的最简单方法。,103,net指令,net指令的功能非常的强大,net指令在网络安全领域通常用来查看计算机上的用户列表、添加和删除用户、和对方计算机建立连接、启动或者停止某网络服务等。利用“netuser”查看计算机上的用户列表。,104,net指令,利用“netuser用户名密码”给某用户修改密码,比如把管理员的密码修改成“123456”,105,建立用户并添加到管理员组,案例名称:添加用户到管理员组文件名称:2-01.batnetuserjack123456/addnetlocalgroupadministratorsjack/addnetuser,106,和对方计算机建立信任连接,只要拥有某主机的用户名和密码,就可以用“IPC$(InternetProtocolControl)”建立信任连接,建立完信任连接后,可以在命令行下完全控制对方计算机。比如得到IP为09计算机的管理员密码为123456,可以利用指令“netuse09ipc$123456/user:administrator”,107,和对方计算机建立信任连接,建立完毕后,就可以操作对方的计算机,比如查看对方计算机上的文件。,108,at指令,案例名称:创建定时器文件名称:2-02.batnetuse*/delnetuse09ipc$123456/user:administratornettime09at8:40notepad.exe,109,tracet命令,tracet(跟踪路由)是路由跟踪实用实用程序确定IP数据报访问目标所采取的路径,110,Windows内部机制,Windows是一个“基于事件的,消息驱动的”操作系统。在Windows下执行一个程序,只要用户进行了影响窗口的动作(如改变窗口大小或移动、单击鼠标等)该动作就会触发一个相应的“事件”。系统每次检测到一个事件时,就会给程序发送一个“消息”,从而使程序可以处理该事件。每次检测到一个用户事件,程序就对该事件做出响应,处理完以后,再等待下一个事件的发生。,111,八个基本概念,与Windows系统密切相关的八个基本概念分别是:窗口、程序、进程、线程消息、事件、句柄、API与SDK。,112,1、窗口,窗口是Windows本身以及Windows环境下的应用程序的基本界面单位,但是很多人都误以为只有具有标题栏、状态栏、最大化、最小化按钮这样标准的方框才叫窗口。其实窗口的概念很广,例如按钮和对话框等也是窗口哦,只不过是一种特殊的窗口罢了。,113,2、程序,通常说的程序都是指一个能让计算机识别的文件接触得最多的是以exe或者com作为扩展名的文件。,114,3、进程,进程就是应用程序的执行实例(或称一个执行程序),进程是程序动态的描述。一个以exe作为扩展名的文件,在没有被执行的时候称之为应用程序,当用鼠标双击执行以后,就被操作系统作为一个进程执行了。当关机或者在任务栏的图标上单击鼠标右键选“退出”时,进程便消亡,彻底结束了生命。进程经历了由“创建”到“消亡”的生命期,而程序自始至终存在于你的硬盘上,不管计算机是否启动。,115,4、线程,线程是进程的一个执行单元,同一个进程中的各个线程对应于一组CPU指令、一组CPU寄存器以及一个堆栈。进程本来就具有动态的含义,是通过线程来体现的。,116,5、消息,消息是应用程序和计算机交互的途径,在计算机上几乎做每一个动作都会产生一个消息鼠标被移动会产生WM_MOUSEMOVE消息,鼠标左键被按下会产生WM_LBUTTONDOWN的消

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论