《第2章 计算机网络安全协议基础.ppt》由会员分享,可在线阅读,更多相关《第2章 计算机网络安全协议基础.ppt(77页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院第二章第二章计算机网络安全协议基础计算机网络安全协议基础云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院内容提要内容提要TCP/IP协议簇。协议簇。重点介绍重点介绍IP协议、协议、TCP协议、协议、UDP协议和协议和ICMP协议。协议。介绍常用的网络服务:文件传输服务、介绍常用的网络服务:文件传输服务、Telnet服务、电子邮件服务和、服务、电子邮件服务和、Web服务服务介绍常用的网络服务端口和常用的网络命令介绍常用的网络服务端口和常用的网络命令的使用
2、。的使用。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院TCP/IP协议簇协议簇TCP/IP协议簇模型协议簇模型和其他网络协议一样,和其他网络协议一样,TCP/IP有自己的参考模型用于描述各层的功能。有自己的参考模型用于描述各层的功能。TCP/IP协议簇参考模型和协议簇参考模型和OSI参考模型的比较如图参考模型的比较如图2-2所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院TCP/IP协议簇协议簇TCP/IP参考模型实现了参考模型实现了OSI模型中的所有功模型中的所有功能。能。不同之处
3、是不同之处是TCP/IP协议模型将协议模型将OSI模型的部模型的部分层进行了合并。分层进行了合并。OSI模型对层的划分更精确,而模型对层的划分更精确,而TCP/IP模型模型使用比较宽的层定义。使用比较宽的层定义。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院解剖解剖TCP/IP模型模型TCP/IP协议簇包括四个功能层:应用层、传输层、网络协议簇包括四个功能层:应用层、传输层、网络层及网络接口层。层及网络接口层。这四层概括了相对于这四层概括了相对于OSI参考模型中的七层。参考模型中的七层。1、网络接口层、网络接口层网络接口层包括用于物理连接、传输
4、的所有功能。网络接口层包括用于物理连接、传输的所有功能。OSI模型把这一层功能分为两层:物理层和数据链路层,模型把这一层功能分为两层:物理层和数据链路层,TCP/IP参考模型把两层合在一起。参考模型把两层合在一起。2、网络层(、网络层(Internet层)层)网络层由在两个主机之间通信所必须的协议和过程组网络层由在两个主机之间通信所必须的协议和过程组成。这意味着数据报文必须是可路由的。成。这意味着数据报文必须是可路由的。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院解剖解剖TCP/IP模型模型3、传输层、传输层这一层支持的功能包括:为了在网络中
5、传输对应用数这一层支持的功能包括:为了在网络中传输对应用数据进行分段,执行数学检查来保证所收数据的完整性,据进行分段,执行数学检查来保证所收数据的完整性,为多个应用同时传输数据多路复用数据流为多个应用同时传输数据多路复用数据流(传输和接传输和接收收)。这意味着该层能识别特殊应用,对乱序收到的。这意味着该层能识别特殊应用,对乱序收到的数据进行重新排序。数据进行重新排序。当前的主机到主机层包括两个协议实体:传输控制协当前的主机到主机层包括两个协议实体:传输控制协议议(TCP)和用户数据报协议和用户数据报协议(UDP)。4、应用层、应用层应用层协议提供远程访问和资源共享。应用包括应用层协议提供远程访
6、问和资源共享。应用包括Telnet服务、服务、FTP服务、服务、SMTP服务和服务和HTTP服务等,服务等,很多其他应用程序驻留并运行在此层,并且依赖于底很多其他应用程序驻留并运行在此层,并且依赖于底层的功能。该层是最难保护的一层。层的功能。该层是最难保护的一层。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院解剖解剖TCP/IP模型模型TCP/IP组的四层、组的四层、OSI参考模型和常用协议的对应关系如图参考模型和常用协议的对应关系如图2-3所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件
7、学院网络协议网络协议IPIP协议已经成为世界上最重要的网际协议。协议已经成为世界上最重要的网际协议。IP的功能定义在由的功能定义在由IP头结构的数据中。头结构的数据中。IP是网络层上的主要是网络层上的主要协议,同时被协议,同时被TCP协议和协议和UDP协议使用。协议使用。TCP/IP的整个数据报在数据链路层的结构如表的整个数据报在数据链路层的结构如表2-1所示。所示。表表2-1TCP/IP数据报的结构数据报的结构以太网数据包以太网数据包头头IP头头TCP/UDP/ICMP/IGMP头头数据数据云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院IP头
8、的结构头的结构可以看出一条完整数据报由四部分组成可以看出一条完整数据报由四部分组成第三部分是该数据报采用的协议第三部分是该数据报采用的协议第四部分是数据报传递的数据内容第四部分是数据报传递的数据内容其中其中IP头的结构如表头的结构如表2-2所示。所示。版本(版本(4位)位)头长度(头长度(4位)位)服务类型(服务类型(8位)位)封包总长度(封包总长度(16位)位)封包标识(封包标识(16位)位)标志(标志(3位)位)片断偏移地址(片断偏移地址(13位)位)存活时间(存活时间(8位)位)协议(协议(8位)位)校验和(校验和(16位)位)来源来源IP地址(地址(32位)位)目的目的IP地址(地址(
9、32位)位)选项(可选)选项(可选)填充(可选)填充(可选)数据数据云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院IP头的结构头的结构IP头结构在所有协议中都是固定的,对表2-2说明如下:(1)字节和数字的存储顺序是从右到左,依次是从低位到高位,而网络存)字节和数字的存储顺序是从右到左,依次是从低位到高位,而网络存储顺序是从左到右,依次从低位到高位。储顺序是从左到右,依次从低位到高位。(2)版本:占第一个字节的高四位。头长度:占第一个字节的低四位。)版本:占第一个字节的高四位。头长度:占第一个字节的低四位。(3)服务类型:前)服务类型:前3位为
10、优先字段权,现在已经被忽略。接着位为优先字段权,现在已经被忽略。接着4位用来表示位用来表示最小延迟、最大吞吐量、最高可靠性和最小费用。最小延迟、最大吞吐量、最高可靠性和最小费用。(4)封包总长度:整个)封包总长度:整个IP报的长度,单位为字节。报的长度,单位为字节。(5)存活时间:就是封包的生存时间。通常用通过的路由器的个数来衡量,)存活时间:就是封包的生存时间。通常用通过的路由器的个数来衡量,比如初始值设置为比如初始值设置为32,则每通过一个路由器处理就会被减一,当这个值,则每通过一个路由器处理就会被减一,当这个值为为0的时候就会丢掉这个包,并用的时候就会丢掉这个包,并用ICMP消息通知源主
11、机。消息通知源主机。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院IP头的结构头的结构(6)协议:定义了数据的协议,分别为:)协议:定义了数据的协议,分别为:TCP、UDP、ICMP和和IGMP。(7)检验和:校验的首先将该字段设置为)检验和:校验的首先将该字段设置为0,然后将,然后将IP头的头的每每16位进行二进制取反求和,将结果保存在校验和字段。位进行二进制取反求和,将结果保存在校验和字段。(8)来源)来源IP地址:将地址:将IP地址看作是地址看作是32位数值则需要将网络位数值则需要将网络字节顺序转化位主机字节顺序。字节顺序转化位主机字节顺
12、序。(9)目的)目的IP地址:转换方法和来源地址:转换方法和来源IP地址一样。地址一样。在网络协议中,在网络协议中,IP是面向非连接的,所谓的非连接就是传是面向非连接的,所谓的非连接就是传递数据的时候,不检测网络是否连通。所以是不可靠的数递数据的时候,不检测网络是否连通。所以是不可靠的数据报协议,据报协议,IP协议主要负责在主机之间寻址和选择数据包协议主要负责在主机之间寻址和选择数据包路由。路由。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院抓取抓取Ping指令发送的数据包指令发送的数据包按照第一章按照第一章Sniffer的设置抓取的设置抓取P
13、ing指令发送的数据包,命令指令发送的数据包,命令执行如图执行如图2-4所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院抓取抓取Ping指令发送的数据包指令发送的数据包云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院抓取抓取Ping指令发送的数据包指令发送的数据包其实其实IP报头的所有属性都在报头中显示出来,可以看出实际抓取报头的所有属性都在报头中显示出来,可以看出实际抓取的数据报和理论上的数据报一致,分析如图的数据报和理论上的数据报一致,分析如图2-6所示。所示。云南大学软件学院云南大
14、学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院IPv4的的IP地址分类地址分类IPv4地址在地址在1981年年9月实现标准化的。基本的月实现标准化的。基本的IP地址是地址是8位位一个单元的一个单元的32位二进制数。为了方便人们的使用,对机器位二进制数。为了方便人们的使用,对机器友好的二进制地址转变为人们更熟悉的十进制地址。友好的二进制地址转变为人们更熟悉的十进制地址。IP地址中的每一个地址中的每一个8位组用位组用0255之间的一个十进制数表示。之间的一个十进制数表示。这些数之间用点这些数之间用点“.”隔开,因此,最小的隔开,因此,最小的IPv4地址值为地址值为0.0
15、.0.0,最大的地址值为,最大的地址值为255.255.255.255,然而这两个值是,然而这两个值是保留的,没有分配给任何系统。保留的,没有分配给任何系统。IP地址分成五类:地址分成五类:A类地址、类地址、B类地址、类地址、C类地址、类地址、D类地址类地址和和E类地址。类地址。每一个每一个IP地址包括两部分:网络地址和主机地址,上面五地址包括两部分:网络地址和主机地址,上面五类地址对所支持的网络数和主机数有不同的组合。类地址对所支持的网络数和主机数有不同的组合。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院1、A类地址类地址一个一个A A类类
16、IPIP地址仅使用第一个地址仅使用第一个8 8位组表示网络地址。位组表示网络地址。剩下的剩下的3 3个个8 8位组表示主机地址。位组表示主机地址。A A类地址的第一个类地址的第一个位总为位总为0 0,这一点在数学上限制了,这一点在数学上限制了A A类地址的范围小类地址的范围小于于127127,因此理论上仅有,因此理论上仅有127127个可能的个可能的A A类网络,而类网络,而0.0.0.00.0.0.0地址又没有分配,所以实际上只有地址又没有分配,所以实际上只有126126个个A A类网。技术上讲,类网。技术上讲,127.0.0.0127.0.0.0也是一个也是一个A A类地址,但类地址,但是
17、它已被保留作闭环(是它已被保留作闭环(Look BackLook Back)测试之用而不)测试之用而不能分配给一个网络。能分配给一个网络。A A类地址后面的类地址后面的2424位表示可能的主机地址,位表示可能的主机地址,A A类网络类网络地址的范围从地址的范围从1.0.0.01.0.0.0到到126.0.0.0126.0.0.0。每一个。每一个A A类地类地址能支持址能支持16,777,21416,777,214个不同的主机地址。个不同的主机地址。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院2、B类地址类地址设计设计B类地址的目的是支持中到大
18、型的网络。类地址的目的是支持中到大型的网络。B类网络地址类网络地址范围从范围从128.1.0.0到到191.254.0.0。B类地址蕴含的数学逻辑是类地址蕴含的数学逻辑是相当简单的。相当简单的。一个一个B类类IP地址使用两个地址使用两个8位组表示网络号,另外两个位组表示网络号,另外两个8位组位组表示主机号。表示主机号。B类地址的第类地址的第1个个8位组的前两位总是设置为位组的前两位总是设置为1和和0,剩下的,剩下的6位既可以是位既可以是0也可以是也可以是1,这样就限制其范围小,这样就限制其范围小于等于于等于191。最后的最后的16位(位(2个个8位组)标识可能的主机地址。每一个位组)标识可能的
19、主机地址。每一个B类类地址能支持地址能支持64,534个惟一的主机地址,个惟一的主机地址,B类网络有类网络有16,382个。个。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院3、C类地址类地址C类地址用于支持大量的小型网络。类地址用于支持大量的小型网络。C类地址使用三个类地址使用三个8位位组表示网络地址,仅用一个组表示网络地址,仅用一个8位组表示主机号。位组表示主机号。C类地址的前类地址的前3位数为位数为110,因此,因此C类网络地址范围从类网络地址范围从192.0.1.0至至223.255.254.0。最后一个最后一个8位组用于主机寻址。每一
20、个位组用于主机寻址。每一个C类地址理论上可支类地址理论上可支持最大持最大256个主机地址个主机地址(0255),但是仅有,但是仅有254个可用。个可用。在在IP地址中,地址中,0和和255是保留的主机地址。是保留的主机地址。IP地址中所有的地址中所有的主机地址为主机地址为0用于标识局域网。同样,全为用于标识局域网。同样,全为1表示在此网段表示在此网段中的广播地址。中的广播地址。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院4、D类地址类地址D类地址用于在类地址用于在IP网络中的组播(网络中的组播(Multicasting)。)。D类组播类组播地
21、址机制仅有有限的用处。一个组播地址是一个惟一的网络地址机制仅有有限的用处。一个组播地址是一个惟一的网络地址。它能指导报文到达预定义的地址。它能指导报文到达预定义的IP地址组。地址组。因此,一台机器可以把数据流同时发送到多个接收端,这比因此,一台机器可以把数据流同时发送到多个接收端,这比为每个接收端创建一个不同的流有效得多。组播长期以来被为每个接收端创建一个不同的流有效得多。组播长期以来被认为是认为是IP网络最理想的特性,因为它有效地减小了网络流量。网络最理想的特性,因为它有效地减小了网络流量。D类地址空间,和其他地址空间一样,有其数学限制,类地址空间,和其他地址空间一样,有其数学限制,D类类地
22、址的前地址的前4位恒为位恒为1110,因此,因此D类地址空间的范围从类地址空间的范围从224.0.0.0到到239.255.255.254。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院5、E类地址类地址E类地址虽被定义为保留研究之用。因此类地址虽被定义为保留研究之用。因此Internet上上没有可用的没有可用的E类地址。类地址。E类地址的前类地址的前4位为位为1,因此有效的地址范围从,因此有效的地址范围从240.0.0.0至至255.255.255.255。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大
23、学软件学院子网掩码子网掩码子网掩码是用来判断任意两台计算机的子网掩码是用来判断任意两台计算机的IP地址是否属于地址是否属于同一子网络的根据。同一子网络的根据。最为简单的理解就是两台计算机各自的最为简单的理解就是两台计算机各自的IP地址与子网掩地址与子网掩码进行二进制码进行二进制“与与”(AND)运算后,如果得出的结)运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。上的,可以进行直接的通讯。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院传输控制协议协议传
24、输控制协议协议TCPTCP是传输层协议,提供可靠的应用数据传输。是传输层协议,提供可靠的应用数据传输。TCP在两个或多个主机之间建立面向连接的通在两个或多个主机之间建立面向连接的通信。信。TCP支持多数据流操作,提供错误控制,甚至支持多数据流操作,提供错误控制,甚至完成对乱序到达的报文进行重新排序。完成对乱序到达的报文进行重新排序。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院TCP协议的头结构协议的头结构和和IP一样,一样,TCP的功能受限于其头中携带的信息。因此理的功能受限于其头中携带的信息。因此理解解TCP的机制和功能需要了解的机制和功能
25、需要了解TCP头中的内容,表头中的内容,表2-6显示显示了了TCP头结构。头结构。来源端口(来源端口(2字节)字节)目的端口(目的端口(2字节)字节)序号(序号(4字节)字节)确认序号(确认序号(4字节)字节)头长度(头长度(4位)位)保留(保留(6位)位)URGACKPSHRSTSYNPIN窗口大小(窗口大小(2字节)字节)校验和(校验和(16位)位)紧急指针(紧急指针(16位)位)选项(可选)选项(可选)数据数据云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院TCP协议的头结构协议的头结构TCP协议的头结构都是固定的,对表协议的头结构都是固定
26、的,对表2-6说明如下:说明如下:(1)TCP源端口(源端口(SourcePort):):16位的源端口包含初始化通信的端口号。位的源端口包含初始化通信的端口号。(2)TCP目的端口(目的端口(DestinationPort):):16位的目的端口域定义传输的目的。位的目的端口域定义传输的目的。(3)序列号()序列号(SequenceNumber):):TCP连线发送方向接收方的封包顺序号。连线发送方向接收方的封包顺序号。(4)确认序号()确认序号(AcknowledgeNumber):接收方回发的应答顺序号。):接收方回发的应答顺序号。(5)头长度()头长度(HeaderLength):表示
27、):表示TCP头的双四字节数。头的双四字节数。(6)URG:是否使用紧急指针,:是否使用紧急指针,0为不使用,为不使用,1为使用。为使用。(7)ACK:请求:请求/应答状态。应答状态。0为请求,为请求,1为应答。为应答。(8)PSH:以最快的速度传输数据。:以最快的速度传输数据。(9)RST:连线复位,首先断开连接,然后重建。:连线复位,首先断开连接,然后重建。(10)SYN:同步连线序号,用来建立连线。:同步连线序号,用来建立连线。(11)FIN:结束连线。如果:结束连线。如果FIN为为0是结束连线请求,是结束连线请求,FIN为为1表示结束连线。表示结束连线。(12)窗口大小()窗口大小(W
28、indow):目的机使用):目的机使用16位的域告诉源主机,它想收到的每个位的域告诉源主机,它想收到的每个TCP数据段数据段大小。大小。(13)校验和()校验和(CheckSum):不仅对头数据进行校验还对封包内容校验。):不仅对头数据进行校验还对封包内容校验。(14)紧急指针()紧急指针(UrgentPointer):当):当URG为为1的时候才有效。的时候才有效。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院一次完整的一次完整的FTP会话会话首先开启目标主机的首先开启目标主机的FTP服务,如图服务,如图2-7所示。所示。云南大学软件学院云南
29、大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院一次完整的一次完整的FTP会话会话启动启动Sniffer,然后在主机的,然后在主机的DOS命令行下利用命令行下利用FTP指令连接指令连接目标主机上的目标主机上的FTP服务器,连接过程如图服务器,连接过程如图2-8所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院一次完整的一次完整的FTP会话会话云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院一次完整的一次完整的FTP会话会话登录登录FTP的过程是一次典型的的过程是
30、一次典型的TCP连接,因为连接,因为FTP服务使用的是服务使用的是TCP协议。分析协议。分析TCP报头的结构如图报头的结构如图2-10所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院传输控制协议(传输控制协议(TCP)的特点)的特点传输控制协议(TCP)的特点是:提供可靠的、面向连接提供可靠的、面向连接的数据报传递服务。的数据报传递服务。传输控制协议可以做到如下的六点:1、确保、确保IP数据报的成功传递。数据报的成功传递。2、对程序发送的大块数据进行分段和重组。、对程序发送的大块数据进行分段和重组。3、确保正确排序以及按顺序传递分段的
31、数据。、确保正确排序以及按顺序传递分段的数据。4、通过计算校验和,进行传输数据的完整性检查。、通过计算校验和,进行传输数据的完整性检查。5、根据数据是否接收成功发送消息。通过有选择的确、根据数据是否接收成功发送消息。通过有选择的确认,也对没有收到的数据发送确认。认,也对没有收到的数据发送确认。6、为必须使用可靠的基于会话的数据传输的程序提供、为必须使用可靠的基于会话的数据传输的程序提供支持,如数据库服务和电子邮件服务。支持,如数据库服务和电子邮件服务。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院TCP协议的工作原理协议的工作原理TCP提供两个
32、网络主机之间的点对点通讯。提供两个网络主机之间的点对点通讯。TCP从程从程序中接收数据并将数据处理成字节流。序中接收数据并将数据处理成字节流。首先将字节分成段,然后对段进行编号和排序以便传首先将字节分成段,然后对段进行编号和排序以便传输。在两个输。在两个TCP主机之间交换数据之前,必须先相互主机之间交换数据之前,必须先相互建立会话。建立会话。TCP会话通过三次握手的完成初始化。这会话通过三次握手的完成初始化。这个过程使序号同步,并提供在两个主机之间建立虚拟个过程使序号同步,并提供在两个主机之间建立虚拟连接所需的控制信息。连接所需的控制信息。TCP在建立连接的时候需要三次确认,俗称在建立连接的时
33、候需要三次确认,俗称“三次握三次握手手”,在断开连接的时候需要四次确认,俗称,在断开连接的时候需要四次确认,俗称“四次四次挥手挥手”。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院TCP协议的三次协议的三次“握手握手”云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院TCP协议的三次协议的三次“握手握手”这个过程在这个过程在FTP的会话过程中也明显的显示出来,如图的会话过程中也明显的显示出来,如图2-12所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南
34、大学软件学院第一次第一次“握手握手”首先分析建立首先分析建立“握手握手”第一个过程包的结构,如第一个过程包的结构,如图图2-13所示所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院第二次第二次“握手握手”SYN为为1,开始建立请求连接,需要对方计算机确认,对,开始建立请求连接,需要对方计算机确认,对方计算机确认返回的数据包如图方计算机确认返回的数据包如图2-14所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院第三次第三次“握手握手”对方计算机返回的数据包中对方计算机返回的数据包中A
35、CK为为1并且并且SYN为为1,说明同意连接。,说明同意连接。这个时候需要源计算机的确认就可以建立连接了。确认数据包的结这个时候需要源计算机的确认就可以建立连接了。确认数据包的结构如图构如图2-15所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院TCP协议的四次协议的四次“挥手挥手”需要断开连接的时候,需要断开连接的时候,TCP也需要互相确认才可以断开连接,四也需要互相确认才可以断开连接,四次交互过程如图次交互过程如图2-16所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院第
36、一次第一次“挥手挥手”第一次交互过程的数据报结构如图第一次交互过程的数据报结构如图2-17所所示。示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院第二次第二次“挥手挥手”第一次交互中,首先发送一个第一次交互中,首先发送一个FIN=1的请求,要求断开,目标主的请求,要求断开,目标主机在得到请求后发送机在得到请求后发送ACK=1进行确认,如图进行确认,如图2-18所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院第三次第三次“挥手挥手”在确认信息发出后,就发送了一个在确认信息发出后,就发送
37、了一个FIN=1的包,与源主机断开,如的包,与源主机断开,如图图2-19所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院第四次第四次“挥手挥手”随后源主机返回一条随后源主机返回一条ACK=1的信息,这样一次完整的的信息,这样一次完整的TCP会话会话就结束了。如图就结束了。如图2-20所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院用户数据报协议用户数据报协议UDPUDP为应用程序提供发送和接收数据报的功为应用程序提供发送和接收数据报的功能。能。某些程序(比如腾讯的某些程序(比
38、如腾讯的OICQ)使用的是)使用的是UDP协议,协议,UDP协议在协议在TCP/IP主机之间建立快速、主机之间建立快速、轻便、不可靠的数据传输通道。轻便、不可靠的数据传输通道。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院UDP和和TCP的区别的区别UDP提供的是非连接的数据报服务,意味着提供的是非连接的数据报服务,意味着UDP无法无法保证任何数据报的传递和验证。保证任何数据报的传递和验证。UDP的结构如图的结构如图2-21所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院UDP和和TC
39、P传递数据的差异传递数据的差异UDPUDP和和TCPTCP传递数据的差异类似于电话和明信片之间的传递数据的差异类似于电话和明信片之间的差异。差异。TCPTCP就像电话,必须先验证目标是否可以访问后才开始通讯。就像电话,必须先验证目标是否可以访问后才开始通讯。UDPUDP就像明信片,信息量很小而且每次传递成功的可能性很高,就像明信片,信息量很小而且每次传递成功的可能性很高,但是不能完全保证传递成功。但是不能完全保证传递成功。UDPUDP通常由每次传输少量数据或有实时需要的程序使用。通常由每次传输少量数据或有实时需要的程序使用。在这些情况下,在这些情况下,UDP UDP 的低开销比的低开销比TCP
40、 TCP 更适合。更适合。UDP UDP 与与TCP TCP 提供的服务和功能直接对比。提供的服务和功能直接对比。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院UDP和和TCP传递数据的比较传递数据的比较UDP协议协议TCP协议协议无连接的服务;在主机之间不建立会无连接的服务;在主机之间不建立会话。话。面向连接的服务;在主机之间建立会话。面向连接的服务;在主机之间建立会话。UDP不能确保或承认数据传递或序列不能确保或承认数据传递或序列化数据。化数据。TCP通过确认和按顺序传递数据来确保数据通过确认和按顺序传递数据来确保数据的传递。的传递。使用使
41、用UDP的程序负责提供传输数据所的程序负责提供传输数据所需的可靠性。需的可靠性。使用使用TCP的程序能确保可靠的数据传输。的程序能确保可靠的数据传输。UDP快速,具有低开销要求,并支持快速,具有低开销要求,并支持点对点和一点对多点的通讯。点对点和一点对多点的通讯。TCP比较慢,有更高的开销要求,而且只支比较慢,有更高的开销要求,而且只支持点对点通讯。持点对点通讯。UDP和和TCP都使用端口标识每个都使用端口标识每个TCP/IP程序的通讯。程序的通讯。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院UDP协议的头结构协议的头结构UDP的头结构比较简
42、的头结构比较简单,如表单,如表2-8所示。所示。源端口(2字节)目的端口(2字节)封报长度(2字节)校验和(2字节)数据云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院UDP的头结构的头结构(1)源端口()源端口(SourcePort):):16位的源端口域包含初位的源端口域包含初始化通信的端口号。源端口和始化通信的端口号。源端口和IP地址的作用是标识报文地址的作用是标识报文的返回地址。的返回地址。(2)目的端口()目的端口(DestinationPort):):6位的目的端口域位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应定义传
43、输的目的。这个端口指明报文接收计算机上的应用程序地址接口。用程序地址接口。(3)封包长度()封包长度(Length):):UDP头和数据的总长度。头和数据的总长度。(4)校验和()校验和(CheckSum):和):和TCP和校验和一样,和校验和一样,不仅对头数据进行校验,还对包的内容进行校验。不仅对头数据进行校验,还对包的内容进行校验。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院UDP数据报分析数据报分析常用的网络服务中,常用的网络服务中,DNSDNS使用使用UDPUDP协议。协议。DNSDNS是域是域名系统名系统 (Domain Name
44、System)(Domain Name System)的缩写的缩写当用户在应用程序中输入当用户在应用程序中输入DNSDNS名称时,名称时,DNSDNS服务服务可以将此名称解析为与此名称相关的可以将此名称解析为与此名称相关的IPIP地址。地址。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院设置设置DNS解析解析需要在主机上设置需要在主机上设置DNS解析的主机,将主机的解析的主机,将主机的DNS的解析指向虚拟机,的解析指向虚拟机,如图如图2-22所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件
45、学院设置设置DNS解析解析虽然虚拟机并没有设置虽然虚拟机并没有设置DNS解析,但是只要访问解析,但是只要访问DNS都可以抓到都可以抓到UDP数据数据报。设置完毕后,在主机的报。设置完毕后,在主机的DOS界面中输入命令界面中输入命令nslookup,如图,如图2-23所所示。示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院UDP报头报头查看查看Sniffer抓取的数据报,可以看到抓取的数据报,可以看到UDP报头,如图报头,如图2-24所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院UD
46、P报头的分析报头的分析对对UDP报头的分析如图报头的分析如图2-25所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院互联网控制消息协议互联网控制消息协议ICMP通过通过ICMP协议,主机和路由器可以报告错误并交换相协议,主机和路由器可以报告错误并交换相关的状态信息。在下列情况中,通常自动发送关的状态信息。在下列情况中,通常自动发送ICMP消消息:息:IP数据报无法访问目标。数据报无法访问目标。IP路由器(网关)无法按当前的传输速率转发数据报。路由器(网关)无法按当前的传输速率转发数据报。IP路由器将发送主机重定向为使用更好的到达目标的
47、路。路由器将发送主机重定向为使用更好的到达目标的路。ICMP协议的结构如图协议的结构如图2-26所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院ICMP协议的结构协议的结构云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院ICMP协议的头结构协议的头结构ICMP头结构比较简单,如表头结构比较简单,如表2-9所示。所示。类型(8位)代码(8位)校验和(8位)类型或者代码云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院ICMP数据报分析数据报分析
48、使用使用PingPing命令发送命令发送ICMPICMP回应请求消息,使用回应请求消息,使用PingPing命令,可以检测网络或命令,可以检测网络或主机通讯故障并解决常见的主机通讯故障并解决常见的TCP/IPTCP/IP连接问题。分析连接问题。分析PingPing指令的数据报,指令的数据报,如图如图2-272-27所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院FTP服务服务FTP的缺省端口是的缺省端口是20(用于数据传输)和(用于数据传输)和21(用于命令(用于命令传输)。传输)。在在TCP/IP中中FTP是非常独特的,因为命令和数
49、据能够是非常独特的,因为命令和数据能够同时传输,而数据传输是实时的,其他协议不具有这个同时传输,而数据传输是实时的,其他协议不具有这个特性。特性。FTP客户端可以是命令界面的也可以是图形界面的。客户端可以是命令界面的也可以是图形界面的。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院Telnet服务服务Telnet是是TELecommunicationsNETwork的缩的缩写,其名字具有双重含义,既指应用也是指写,其名字具有双重含义,既指应用也是指协议自身。协议自身。Telnet给用户提供了一种通过网络登录远程服给用户提供了一种通过网络登录远程
50、服务器的方式。务器的方式。Telnet通过端口通过端口23工作。工作。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院开启开启Telnet服务服务Telnet要求有一个要求有一个Telnet服务器,此服务器驻留在主机上,等待着远端机服务器,此服务器驻留在主机上,等待着远端机器的授权登录。要使用器的授权登录。要使用Telnet服务首先需要在虚拟机上开启服务首先需要在虚拟机上开启Telnet服务,服务,选择进入选择进入Telnet服务管理器,如图服务管理器,如图2-31所示。所示。云南大学软件学院云南大学软件学院云南大学软件学院云南大学软件学院云南大