资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
实验四 IP协议/TCP协议分析实验一、实验目的通过对截获帧进行分析,验证TCP/IP的主要协议和协议的层次结构,掌握对应数据包的内部封装结构。二、实验内容使用Ethereal网络监听软件对TCP/IP体系下的以太网链路层MAC帧,网络层ARP协议、ICMP协议和IP协议,传输层TCP协议和UDP协议格式进行分析。三、实验知识局域网按照网络拓扑结构可以分为星形网、环形网、总线网和树形网,相应代表性的网络主要有以太网、令牌环形网、令牌总线网等。局域网经过近三十年的发展,尤其是近些年来快速以太网(100Mb/s)、吉比特以太网(1Gb/s)和10吉比特以太网(10Gb/s)的飞速发展,采用CSMA/CD(Carrier sense,Multiple Access with Collision detection)接入方法的以太网已经在局域网市场中占有绝对优势,以太网几乎成为局域网的同义词。因此,本章的实验以以太网为主。以太网MAC帧常用的以太网MAC帧格式有两种标准,一种是DIX Ethemet V2标准,另一种是IEEE 的802.3标准。图 4-1显示了这两种不同的MAC帧格式。这种802.3+802.2帧已经很少使用了 当长度/类型字段 表示长度时 6 802.3 字节 MAC帧 目的地址 6 源地址 1 1 802.2 字节 1 LLC帧 DSAP SSAP 控制 2 1 1 1 IP数据 IP层 数据 431497 数据 4 FCS LLC子层 长度/类型 DSAP SSAP 控制 MAC子层 IP数据 6 以太网V2 字节 目的地址 MAC帧 插入 8字节 7字节 1字节 MAC帧 6 源地址 2 长度/类型 461500 IP数据 4 FCS IP层 MAC子层 物理层 10101010101010101010101010 10101011 前同步码 帧开始定界符 图 4-1 Ethernet和IEEE 802.3/802.2定义的帧封装结构Ethernet V2标准的MAC帧格式DIX Ethernet V2标准是指数字设备公司(Digital Equipment Corp.)、英特尔公司(Intel Corp.)和Xerox公司在1982年联合公布的一个标准。它是目前最常用的MAC帧格式,它比较简单,由5个字段组成。第一、二字段分别是目的地址和源地址字段,长度都是6字节;第三字段是类型字段,长度是2字节,标志上一层使用的协议类型;第四字段是数据字段,长度在461500字节之间;第五字段是帧检验序列FCS,长度是4字节。此外,为了使发送端和接收端达到位同步,实际传送时要在MAC帧前设置前同步码(7字节)和帧开始界定符(1字节)。这两个字段和帧检验序列FCS在网卡接收MAC帧时被去掉了,因此实验中抓包软件截获报文中没有这些字段。Ethernet V2标准定义MAC帧都有最小长度要求,规定数据部分必须至少为46字节。为了保证这一点,必要时需要插入填充(pad)字节。IEEE 802.3标准的MAC帧格式1983年,IEEE(电子电气工程师协会)802委员会公布了一个和Ethernet V2标准稍有不同的标准集,局域网的数据链路层被拆成逻辑链路控制LLC子层和媒体接入控制MAC子层。MAC子层中定义了几种不同的局域网标准,如802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络。如图 4-1所示,802.2和802.3定义了一个与DIX Ethernet V2标准不同的以太网帧格式。IEEE 802.3标准设计的主要特点是MAC层能够知道其有效数据的长度并能够为局域网提供面向连接的服务。与DIX Ethernet V2标准相比要复杂一些。IEEE 802.3 MAC帧的第一、二字段也分别是目的地址和源地址字段,长度都是6字节;第三字段是长度类型字段,如果该字段数值小于1500,它就表示MAC帧数据字段的长度;如果其数值大于0x0600,就表示类型,即上层协议的类型,此时802.3的MAC帧和Ethernet V2的MAC帧一样。当长度类型字段表示长度时,MAC帧的数据部分为802.2标准定义的LLC子层的LLC帧,其长度就是长度类型字段的值。LLC帧的首部有3个字段,目的服务访问点DSAP(Destination Service Access Point,l字节)、源服务访问点SSAP(Source Service Access Point,1字节)和控制字段(1或2字节)。DSAP指出LLC帧的数据应当上交的协议,SSAP指出发送数据的协议,控制字段则指出LLC帧的类型。其数据字段、帧检验序列FCS字段、MAC帧前前同步码、帧开始界定符,以及最小长度要求与Ethernet V2标准类似。此外,802.3标准为了能够更好地与Ethernet V2标准兼容,802委员会又制定了802.3子网接入协议SNAP(Sub-Network Access Protocol),对LLC首部进行扩展。使用SNAP协议时,DSAP和SSAP的值都设为0xaa,Control字段的值设为3,随后的3个字节Organization Code一般都置为0。再接下来的2个字节类型字段和以太网帧格式一样。显然,与Ethernet V2标准相比,802.3标准在MAC帧中增加了8个字节的开销,而且实践证明,这样做过于繁琐,使得其在实际中很少得到使用。因此,本实验中重点分析Ethernet V2 MAC帧的格式,802.3 MAC帧只做一般了解。TCP/IP体系结构当网络运行TCP/IP协议时,其协议栈如错误!未找到引用源。所示。应用层 运输层 ICMP 网际层 IGMP IP RARP 网络接口层 与各种网络接口 物理硬件 ARP 各种应用层协议 (TELNET, FTP, SMTP 等) TCP, UDP 图 4-2 TCP/IP协议栈在错误!未找到引用源。中,与网际协议IP配套使用的还有地址解析协议ARP(Address Resolution Protocol)、逆地址解析协议RARP(Reverse Address Resolution Protocol)、因特网控制报文协议ICMP(Internet Control Message Protocol)和因特网组管理协议IGMP(Internet Group Management Protocol)等四个协议。其中ARP和RARP画在最下面,因为IP经常要使用这两个协议。ICMP和IGMP画在这一层的上部,因为它们要使用IP协议。由于IP、ARP和RARP直接承载在MAC数据包上,作为链路层数据帧的帧头,其帧类型标识主要有:0x0800IP 0x0806ARP0x8035RARPARP协议ARP(Address Resolution Protocol)是地址解析协议的简称。在实际通信中,物理网络使用硬件地址进行报文传输,IP地址不能被物理网络所识别。所以必须建立两种地址的映射关系,这一过程称为地址解析。用于将IP地址解析成硬件地址的协议就被称为地址解析协议(ARP协议)。ARP是动态协议,就是说这个过程是自动完成的。在每台使用ARP的主机中,都保留了一个专用的内存区(称为缓存),存放最近的IP地址与硬件地址的对应关系。一旦收到ARP应答,主机就将获得的IP地址和硬件地址的对应关系存到缓存中。当发送报文时,首先去缓存中查找相应的项,如果找到相应项后,便将报文直接发送出去;如果找不到,再利用ARP进行解析。ARP缓存信息在一定时间内有效,过期不更新就会被删除。同一网段的ARP解析过程处在同一网段或不同网段的主机进行通信时,利用ARP协议进行地址解析的过程不同。在同一网段内通信时,如果在ARP缓存中查找不到对方主机的硬件地址,则源主机直接发送ARP请求报文,目的主机对此请求报文作出应答即可。例如,如果主机A需要发报文给同一网段中主机B,如果在缓存中查找不到相应的记录,就必须先解析主机A的硬件地址。主机A首先在网段内发出ARP请求报文,主机B收到后,判断报文的目的IP地址是自己的IP地址,便将自己的硬件地址写入应答报文,发送给主机A,主机A收到后将其存入缓存,则解析成功。然后才将报文发往主机B。不同网段的ARP解析过程位于不同网段的主机进行通信时,源主机只需将报文发送给它的默认网关,即只需查找或解析自己的默认网关地址即可。例如,如果主机A要发报文给位于不同网段的主机B,首先,主机A分析目的地址不在同一网段,需要将报文先发给其默认网关,再由默认网关转发。如果没有找到默认网关的硬件地址,便发送ARP请求报文,请求默认网关的硬件地址,默认网关收到之后,将自己的硬件地址写入应答报文,发送给主机A。然后,主机A到主机B的报文首先被送到默认网关,默认网关再查找或解析主机B的硬件地址,将报文送到主机B中。主机B到主机A的报文以相反的顺序发送。ICMP协议ICMP(Internet Control Message Protocol)是因特网控制报文协议RFC792的缩写,是因特网的标准协议。ICMP允许路由器或主机报告差错情况和提供有关信息,用以调试、监视网络。在网络中,ICMP报文将作为IP层数据报的数据,封装在IP数据报中进行传输。如图 4-3所示。但ICMP并不是高层协议,而仍被视为网络层协议。IP报头 ICMP报头 ICMP信息 图 4-3 ICMP报文ICMP 报文的格式由于ICMP报文的类型很多,且各自又有各自的代码,因此,ICMP并没有一个统一的报文格式以供全部ICMP信息使用,不同的ICMP类别分别有不同的报文字段。ICMP报文只是在前4个字节有统一的格式,共有类型、代码和校验和3个字段。接着的4个字节的内容与ICMP报文的类型有关。再后面的数据字段的长度取决于ICMP报文的类型。以回送请求或应答报文为例,其ICMP报文格式如图 4-44所示。0 类型(8/0) 8 代码(0) 标识 16 校验和 序列号 数据部分 31 图 4-4 回送请求和应答报文格式其中类型字段表示ICMP报文的类型,代码字段是为了进一步区分某种类型的几种不同情况,校验和字段用来检验整个ICMP报文。ICMP报文的分类ICMP报文的种类可以分为ICMP差错报告报文和ICMP询问报文两种,它们各自对应的报文类型及代码如错误!未找到引用源。所示。表 4-1 ICMP报文的分类及各自对应的报文类型和代码 ICMP报文种类型的值 ICMP报文的类型 类 3 终点不可达 4 源站抑制(Source Quench) 差错报告报文 11 时间超过 12 参数问题 5 路由重定向(Redirect) 8或0 回送(echo)请求或应答 13或14 时间戳(Timestamp)请求或应答 询问报文 17或18 地址掩码(Address Mask)请求或应答 10或9 路由器询问(Router Soliciation)或通告 ICMP差错报告报文主要有终点不可达、源站抑制、超时、参数问题和路由重定向5种。实验中主要涉及终点不可达和超时两种。其中终点不可达报文中需要区分的不同情况较多,对应的代码列表如表 4-22所示。表 4-2 ICMP类型3 代码 描述 处理方法 代码 描述 处理方法 0 网络不可达 无路由到达主机 8 源主机被隔离(作废无路由到达主不用) 机 1 主机不可达 无路由到达主机 9 目的网络被强制禁无路由到达主止 机 2 10 协议不可达 连接被拒绝 目的主
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号