《实验报告报文分析.docx》由会员分享,可在线阅读,更多相关《实验报告报文分析.docx(17页珍藏版)》请在三一办公上搜索。
1、实验五 使用Ethereal工具分析网络协议一、实验目的通过使用Ethereal软件掌握Sniffer (嗅探器)工具的使用方法,实现捕捉网络协议 的数据包,以理解TCP/IP协议族中多种协议的数据结构以及多种协议的交互过程。二、实验内容1. 静态路由的配置。2. 路由协议 RIP、RIP V2, OSPFo三、实验环境安装Windows 2000/XP的PC机,在每一台上安装Ethereal软件。将PC机通过路由器/ 交换机相连,组成一个局域网。四、实验指导1、Ethereal 简介Ethereal是一款免费的网络协议分析程序,支持Unix、Windows。借助这个程序,你既 可以直接从网络
2、上抓取数据进行分析,也可以对由其他嗅探器抓取后保存在硬盘上的数据进 行分析。你能交互式地浏览抓取到的数据包,查看每一个数据包的摘要和详细信息。Ethereal 有多种强大的特征,如支持几乎所有的协议、丰富的过滤语言、易于查看TCP会话经重构后 的数据流等。它的主要特点为: 支持Unix系统和Windows系统 可以根据不同的标准进行包过滤 通过过滤来查找所需要的包 根据过滤规则,用不同的颜色来显示不同的包 提供了多种分析和统计工具,实现对信息包的分析2、Ethereal 安装安装软件可以从网站上下载。3、Ethereal操作指导3.1 Ethereal操作界面Ethereal软件界面如图上图所
3、示,在这个窗口上,整个界面环境分为三个窗口,最上 面的窗口是抓包列表窗口,经过Ethereal软件抓包后的数据包都会列在这个窗口中,同时 你可以根据抓包序列号,抓包时间、源地址、目标地址、协议等进行包列表的排序,这样你 可以很容易的找到你所需要的信息包。中间的窗口中显示的是抓包列表上所选择的包对应的各层协议说明,其中,协议层次信 息以树型的结构进行显示。最下面的窗口是数据窗口,显示的是上层窗口选中的信息包的具体数据,同时,在中间 树型窗口中所选择的某一协议数据域的内容,在数据窗口中会被突出地显示出来。3.2 Ethereal界面菜单File Edit View Go Capture Analy
4、ze Statistics Help菜单中主要有以下几个部分:File:这个子菜单下的操作与Windows菜单下File下的操作类似,包括了文件的打开,保存、 打印以及系统的退出等等。不过这里的文件仅仅指的是抓包文件。Edit:这个子菜单下所包含的操作有:查找某一个特定的帧、跳到某个帧、在一个或更多的 帧上打上标记、设置首选项、设置过滤、协议剖析允许不允许等。在这个菜单下,Windows 界面中的一些常用的操作,例如剪切、复制、粘贴等将不再使用。Capture:在这个菜单下进行开始抓包和停止抓包的操作。3.3相关操作3.3.1抓包3.3.2 Capture options 选项对话框Inter
5、faces指定在哪个网卡上抓包。一般情况下都是单网卡,所以使用缺省的就可以了。Capture packets in promiscuous mode :是否打开混杂模式。如果打开,抓取所有的数据包。 一般情况下只需要监听本机收到或者发出的包,因此应该关闭这个选项。Limit each packe t:限制每个包的大小,缺省情况不限制。Filter :过滤器。只抓取满足过滤规则的包。File:如果需要将抓到的包写到文件中,在这里输入文件名称。ring buffer:是否使用循环缓冲。缺省情况下不使用,即一直抓包。注意,循环缓冲只有 在写文件的时候才有效。如果使用了循环缓冲,还需要设置文件的数目,
6、文件多大时回卷。 其他项:选择缺省的就可以了。3.3.3过滤设置抓包过滤器用来抓取感兴趣的包,用在抓包过程中。抓包过滤器使用的是libcap过滤器语 言,在tcpdump的手册中有详细的解释,基本结构是:not primitive and|or notprimitive .,如 下:Ethereal提供了两种过滤设置方式:1)、一种是在抓包以前进行设置,通过此设置,整个抓包过程将只抓取用户所需要的特定的 数据包。2)、另一种方式是在抓包以后进行设置。3.3.3.1在抓包前进行过滤设置在抓包前进行过滤设置,是在抓包选项设置对话框中进行的(见上图)。只需在Filter 栏中填入特定的设置语句。Et
7、hereal使用libpcap filter语言来进行抓包的过滤设置。过滤表 达式由一系列简单的表达式和连词(and、or、not)组成:not primitive and|or not primitive .过滤表达式的用法:抓取一个特定的主机的telnet数据包的过滤设置tcp port 23 and host 10.0.0.5通过这个过滤表达式,可以抓取从主机10.0.0.5发出或发向该主机的所有的telnet数据包。抓取除了来自/发往某主机的telnet数据包的过滤设置tcp port 23 and not host 10.0.0.5在过滤设置字符串中,primitive表达式通常由以
8、下几种形式组成:1)、 src|dst host 此表达式通过IP地址/主机名来过滤一个特定的主机,通过前缀src或dst选择源/目的 主机。如果不注明src或者dst,则将抓到流向/流出该主机的所有数据包。例如:抓取从主机172.18.66.66发出的数据包:src host 172.18.66.662)、 ether src|dst host 此表达式用于过滤以太网上流入/流出特定的主机的数据包,不同的是ehost是以太网地 址,为主机的物理地址。例如:抓取发往物理地址为00: 04: 76: 42: 24: 80的数据包ether dst host 00: 04: 76: 42: 24:
9、 803) 、 src|dst net mask |len 此表达式根据网络地址来过滤来自/发往特定的网络的数据包。例如:抓取发往/发自网络172.18.0.0的数据包net 172.18.0.0 mask 255.255.0.04)、 tcp|udp src|dst port 此表达式可以设置过滤来自/发往特定的tcp/udp协议端口的数据包。例如:抓取SNMP协议数据包udp port 1615)、less|greater 此表达式用于过滤数据包长度小于等于/大于等于特定长度的数据包。例如:抓取数据包长度小于400byte的数据包less 4006)、 ip|ether proto 此表达
10、式用于过滤IP层/数据链路层(Ethernet层)上特定的协议数据包。例如:抓取IP层上UDP数据报ip proto UDP7)、 ether|ip broadcast|multicast此表达式用于过滤IP/Etherne t的广播包/多播包8)、 relop 此表达式用于创建复杂的过滤表达式,用于选择数据包中特定byte的数据或者某一段 数据。3.3.3.2在抓包后进行过滤设置只需要在filter文本框中填入相应的表达式即可。如下图:注:如果Filter的背景是绿色的,证明所设定的Filter是合乎规则的;如果Filter的背景是红色的,证明所设定的Filter是Ethereal不允许的,
11、是错误的。3.3.4分析数据包内容中间是协议树,通过协议树可以得到被截获的数据包的更多信息,如主机的MAC地址 (Ethernet II)、IP 地址(Internet Protocol)TCP 端口号(Transmission Control Protocol),以及 HTTP 协议的具体内容(Hypertext Trnasfer Protocol)。通过扩展协议树中的相应节点,可以得到该数 据包中携带的更详尽的信息。最下边是以十六制显示的数据包的具体内容,这是被截获的数据包在物理媒体上传输时的最 终形式,当在协议树中选中某行时,与其对应的十六进制代码同样会被选中,这样就可以很 方便地对各种
12、协议的数据包进行分析。(1) 实验耳1工,巳C:匚口巾 pa】El_:L6:E!E:6N (口口 : 口2 : EE : 6N) ,: 口一Li nk:_EE! : 81 : 口8 (口。: 9日:EE 1、以太网帧结构字段描述长度前导码同步码用来使局域网中的所有节点同步7 bytes帧标志帧的起始标志1 byte目的MAC地址接收端的MAC地址6bytes源MAC地址发送端的MAC地址6bytes上层协议类型数据包的类型2bytes数据字段被封装的数据包46-1500bytes校验错误检验4bytes1.1典型帧结构Ethernet. II,报文结构如下:通过Ethereal抓包,并观察以太
13、帧结构,如下图:I田 fthee 1bytes un wire,耳?】 bytES uapturEd)+ Destlnatlon: D-Li nk_ce:81:08 COO:17:9a:ce:81:08+ source: CompalEl_16:ec:62 (00:02:3f:16:ec:62)Type: IP (0x0800)+ internet Protocol, Src: 192.168.0.103 C192.168.0.103, Dst: 209.85.139.18 C209.85.139.18+ Transnri ssi on control Protocol, Ere Port:
14、1317 (1317), Dst Port: http (80), 5eq: 0, Ack : 0,1.2 Ethernet Example捕捉并显示所有从本地机器发出和接收的数据包。1)获取本地MAC地址:在命令行输入arp -a2)通过Ethereal抓包。方法一:将 Ethereal 的 capture filter 的 filter string 设置为:eth.addr=00.17.9a.ce.81.08方法二:将主界面上 Filter 设置为:eth.addr=00.17.9a.ce.81.08(Untitled) - EtherealFile Edit View Go Captu
15、re AnalyzeStatistics Helpu at图瓣翘nX宓)昌国蝎五咨齐眩( & afilter: |eth.addL=UD.81 .响Expression. Clear ApplyNo.,TimeSourceDestinationProtocolInfo1 0.000000192.168.0.103209.85.139.18TCPTCP s earn ent ut a reassei2 0.0001843 0.442483192.168.0.103209.85.139.18209.85.139.18192.168.0.103HTTPTCP4 0.443204209.85.139.
16、18192.168.0.103TCP5 0.4449266 0.534105209.85.139.18209.85.139.18192.168.0.103192.168.0.103TCPHTTPPOST /riidil/channel/bind?e http 1317 ACK Seq=o /http 1317 ACK Seq=0 / HTTP/1.1 200 ok Ctext/hrn1 PI x k.-t- beC-miFrame 1 (1421 bytes on wire, 1421 bytes captured)EthprriPT II, sre: compdl E1J_6:ec:62 (
17、00:02 :3f :16:ec:62)5 Dsr : D-Link_ce:81:08 (。:1F:9a.:勇:0 Destination: D-Link.ee:81:08 (0Q:17:9a:ce:81:08)S Source: Compal El_16:ec:62 (00:02:3f:16:ec:62)Type: IP (0x0800)Internet Protocol, Src: 192.168.0.103 (192.168.0.103), Dst: 209.85.139.18 (209.85.139.18) Transmission control Protocol, sre Port
18、: 1317 (1317), Dst Port: http (80), seq: 0, Ack: 0,0000001000200030004 02 6 4 f c co o c 4 6 o o o o 5-1 o 8 8 5 6 ft 8 o . oe. o o 5 o LtlLL-. 1 o o oer 8 4 o o 6 e4 5 31JI c 5 2 f 6 _d b 5 8 c- 91o 8 6 7- f 2 5 3 17-116 o 5 _Q f f t o o 8 f 2o 5 8 4 o 5 1 _.tl7 ll-. 51o _y 1 d 4 d 5 6 6 o 7- 7 1 f
19、 o 6 -y 6 3 8 o 3 d 4 n o o 8 6 6 ,.8 _d fed 6 _d d 2 LtlLL-. c o 4 o 口; t!c12 6 Lt:ld p- 41 -H- 5 5 LOLU-. r C.-.U _.-_1_r r 3 b 1 5 2i=. :- . Li. . E.T1&g. u.P. . . A. . . ;p. po st /mai1 /c h a n ne 1 ,/b 1 n d ?at一匚,-j .,i ,-j n-i .-1File/CADOCUME-ltfanminglLOCALS-nTempletherXXXXPQOM. P: 7 D: 7
20、M: 0 Drops: 02、IP报头结构2.1 IP协议概述 IP提供无连接的数据转发,是Internet数据通信的基础 IP提供的是最底层的、最基础的一部分 这种服务是不提供服务保证的,分组可能丢失、延迟,也不通知发送方或接受方。一 个分组序列有可能沿着不同的路径发送。 服务是全力转发,不因为资源耗尽或网络故障而停止,因而会引起丢失等不可靠的情 形出现。2.2 IP数据报结构IP数据报分为两个部分:数据报报头数据报数据域详细的数据报报头:版本 首部长度服务类型总长度标识标志片偏移量生存时间协议首部校验和源IP地址目的IP地址IP选项填充通过Ethereal查看IP数据报报头,如下图:通过E
21、thereal查看IP地址为192.168.0.103的数据包3、ARP协议3.1 ARP协议概述ARP 协议(Address Resolution Protocol),即地址解析协议。ARP协议主要负责将局域网中的32为IP地址转换为对应的48位物理地址,即网卡的 MAC地址,比如IP地址为192.168.0.1网卡MAC地址为00-03-0F-FD-1D-2B。整个转换过 程是一台主机先向目标主机发送包含IP地址信息的广播数据包,即ARP请求,然后目标主 机向该主机发送一个含有IP地址和MAC地址数据包,通过MAC地址两个主机就可以实现 数据传输了。3.2 ARP命令在安装了以太网网络适配
22、器的计算机中都有专门的ARP缓存,包含一个或多个表,用 于保存IP地址以及经过解析的MAC地址。在Windows中要查看或者修改ARP缓存中的信息,可以使用arp命令来完成,比如在 Windows XP的命令提示符窗口中键入卬-a”或“arp-g”可以查看ARP缓存中的内容; 键入“2中-d IPaddress ”表示删除指定的IP地址项(IPaddress表示IP地址)。arp命令的其 它用法可以键入中/? ”查看到。3.2 ARP协议应用举例为了解释ARP协议的作用,就必须理解数据在网络上的传输过程。这里举一个简单的 PING例子。假设我们的计算机IP地址是192.168.1.1,要执行这
23、个命令:ping192.168.1.2。该命令会通过 ICMP协议发送ICMP数据包。该过程需要经过下面的步骤:1)、应用程序构造数据包,该示例是产生ICMP包,被提交给内核(网络驱动程序);2)、内核检查是否能够转化该IP地址为MAC地址,也就是在本地的ARP缓存中查看IP-MAC 对应表;3)、如果存在该IP-MAC对应关系,那么跳到步骤7;如果不存在该IP-MAC对应关系,那 么接续下面的步骤;4)、内核进行 ARP广播,目的地的 MAC地址是FF-FF-FF-FF-FF-FF,ARP命令类型为 REQUEST(1),其中包含有自己的MAC地址;5)、当192.168.1.2主机接收到该
24、ARP请求后,就发送一个ARP的REPLY(2)命令,其中 包含自己的MAC地址;6)、本地获得192.168.1.2主机的IP-MAC地址对应关系,并保存到ARP缓存中;7)、内核将把IP转化为MAC地址,然后封装在以太网头部结构中,再把数据发送出去;使用arp-a命令就可以查看本地的ARP缓存内容,所以,执行一个本地的PING命令后, ARP缓存就会存在一个目的IP的记录了。当然,如果你的数据包是发送到不同网段的目的 地,那么就一定存在一条网关的IP-MAC地址对应的记录。端(Untitled) - EtherealX |Eile Edit View Go Capture Analyze
25、Statistics Help厨&(嬲翘翩H x翎昌国摹翰蓟寄业|H j Si QFilter: icmpT Expression. Clear ApplyNo. T TimeSourceDestinationProtocol Info3 0.098998192.168.0.103218. 57.9. 53ICMP Echo Cpinq) requestI4 0.116133218.57.9.53192.168.0.103ICMPEcho (ping) replyI5 1.099443192.168.0.103218. 57.9. 53ICMPEcho CDina-) reauest虹皿 n+
26、1 Frame 3 (74 bytes on wire, 74 bytes captured)-1 EthernEt II, 匚 cimpa : ec : 6N (Q0: ON : ec : 6N) ,: D-Li nk_CE: 81: 08 (00: Sa : ce : 8Destination: D-Link.ce:81:08 C00:17:9a:ce:81:08)+ Source: CompalEl_16:ec:62 C00:02:3f:16:ec:62 Type: IP (0x0800+ internet Protocol, 5rc: 192.163.0.103 C152.163.0.
27、103, Dst: 218.57.9.53 (213.57.9.53)+1 Internet Control Message Protocol0000001000200030004 0e c -d _y2 o o o1 o p- 7- o o 6-6- Q 3 d 6 8 o 6 6 o c c CJ o cl- 6 6- o 1 b 4 o 2 6 6 5 o -d 3 5 o LtlLtl 8 8 Q.- -J.- .Q 6 6 c c J 8 1 3 3 6 6 Q 9 7- 7- Q Q 6 7-2 26 71 16 7-o o 9Q 7- 6T d _y f 83 Ltl2 LtlL
28、tlo o2 86 a c o5 c6 5 L OJ0 9 6 60 3 6 75 A- 5 54 d 6 70 7 4 40 6 6 7yTT 己. h.匚. .(_u. . . . m. . . . g. 9 .5. . ! . . ;:i. abcdef ghi j klmn opqrstuv wabcdefg hi4、ICMP协议4.1 ICMP协议概述IP协议是一种不可靠的协议,无法进行差错控制。但IP协议可以借助其他协议来实现 这一功能,如ICMP。ICMP(Internet Control Messages Protocol,网际控制报文协议)允许主机或路由器报告差 错情况和提供
29、有关异常情况的报告。一般来说,ICMP报文提供针对网络层的错误诊断、拥塞控制、路径控制和查询服务四 项大的功能。如,当一个分组无法到达目的站点或TTL超时后,路由器就会丢弃此分组, 并向源站点返回一个目的站点不可到达的ICMP报文。4.2 ICMP报文类型ICMP报文大体可以分为两种类型,即ICMP差错报文和ICMP询问报文。类型代码描 述A差错回射应答:仰突应答)1 :73-目标不可达0网络不可达71主机不可达72协议不可达4:3端口不可达4需要宏片但设置了不分片比特75源站选路失败.V6目的网络不认识47目的主机不认识i:君源主机被隔离H乍废不用J.9目的网络被强制禁止10-目的主机被强制
30、禁止711由于服务类型TO3,网络不可达712由于服务类型TOS,:主机不可让13由于过滤,通信被强制禁止寸14主机越权.寸15-优先权中止生效440源端被关闭1基本流控制).75-重定向70对网络重定向-41对主机重定向-42对服务类型卸网络重定向4-3对服务类型和主机重定向.8.0回射请求请荥).:4.0路由器通告:41C0路由器请求ir超时,0传输期间生存时间为口41在数提报组装期间生存时间为04-场参数问题0坏的IP头部(包括各种差错)7.1缺少必要的选项7130时间戳请求-414.0时间戳应答415.Q信息请求作废不用)海侦.0信息段答心乍废示用)17-0地址揽妈请求.7 .0地址掩
31、码皮答.移IP 头部(20 bytes)类型代码校验和标识符序列号选项常见ICMP报文类型类型代码描述80回射请求00回射应答110超时4.3 ICMP Ping 命令Ping命令利用ICMP回射请求报文和回射应答报文来测试目标系统是否可达。ICMP回射请求和ICMP回射应答报文是配合工作的。当源主机向目标主机发送了 ICMP 回射请求数据包后,它期待着目标主机的回答。目标主机在收到一个ICMP回射请求数据包 后,它会交换源、目的主机的地址,然后将收到的ICMP回射请求数据包中的数据部分原封 不动地封装在自己的ICMP回射应答数据包中,然后发回给发送ICMP回射请求的一方。如 果校验正确,发送
32、者便认为目标主机的回射服务正常,也即物理连接畅通。开启Ethereal的抓包功能,如下图:在 windows 命令行输入:ping 将主界面上Filter设置为:icmp(Untitled) - EtherealFile Edit View Go Capture Analyze Statistics HelpX购昌叵|珍叙)移殳B I ( QNo.TimeSourceDestinationDrotocolInfo5573.143621192.168.103.230211.94.144.100ICMPEcho(ping)request6463.889837192.168.102.53L92.16
33、8.102.1ICMPEcho(ping)request6493.894351192.168.102.1192.168.102. 53ICMPEcho(pmq)reply11281118.160564192.168.103.2301Q7 1 AR 1n? 74A211.94.144.100Q7 1 AR 1n? 1ICMPTCMPEchoCrhn(ping)(nn nn、request r phi ipTFilter: Expression. Clear Applyii i-rame 649 (10o byres on wire, 100 byres caprured)+ Ethernet I
34、I, src: Hangzhou_16:75:88 00:0f:e2:16:75:88), Dst: lntel_39:13:7c (00:0c:fl:3+ IEEE 802.11H internet Protocol, src: 192.168.102.1 (192.168.102.1), Dst:二92.168.102.53 (192.168.102.+ Logical-Link controlversion: 4Header length: 20 bytes+ Differentiated services Field: 0x00 (dscp 0x00: Default; ecn: 0x
35、00)Total Length: 33Identification: 0xb41c C46108)0010002000300040005002 01 00 Oc fl 39 13 7c 00 14 7c 5a 85 80 00 Of62 16 75 88 60 bb 33 33 03 00 DO 00 08 00 j I N.DHCPC.15 DO37 cG a8 66 01 cO a8SE4e 00 44 48 43 50 43 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 21b4 lc 00 00 ff01 166 3 5.00
36、 00 e4 66 0300 Internet Protocol (ip), 20 bytesP:8311 D: 52 M: 0 Drops: 0j Ethernet II, Src: c8 : Ba:3 5:32 : 09:bO (c8:Ba:B5 : B2 :09 :bO), Dst: 00:1c :bf: 3d:8f : 28 (00 曰 DesTination: OO:lc:bf:3d:8f:28 (pO:1c:bf:3d:8f:28)Address: 00:1c:bf:3d:8f:28 (00:1c:bf:3d:8f:28) 0=Multi cast: This Is a unica
37、st frame 0=Locally Administrated Address: This is a factor. 日 Source: c8:3a:B5:32:O9:b0 (c8:Ba:35:32:09:bOAddress: c8:3a:35:32:09:bQ (c8:3a:35:32:09:bO) 0=Multicast: This is a unicast frame 0=Local ly Administrated Address: This is a factor-Type: IP (0x0800)-Frame 503 (168 bytes on wire, 1&8 bytes c
38、apturedArrival Time: Nov 14, 2011 01:27:54.698715000Time delta from previous packet: 5.156797000 secondsTime si nee reference or first frame: 5.156797000 secondsFrame Number: 503Packet Length: 168 bytescapture Length: 168 bytesprotocols in frame: eth:ip:icmp:1p:udp:dataColori ng Rule Name: ICMP erro
39、rscolorlng Rule string: 1cmp.rype eq 3 I I icmp.type eq 4 I I Icmp.Type eq 11 I I ic-internet control Message ProtocolType: 3 (Dest natl on unreachabl e;):-coda: 3- (Port unraachablchekum: 0x802 correct-internet Protocol, 计匚:192.168.0.100 (192.168.0.1007, Dst: 118.2 51.94.2 54 (118. Version: 4Header
40、 1 ength: .20 bytes田 Differentiated servicesj Field: 0x00 (DSCP 0x?00: Default; ECN: 0知CQTotal Length: 12.6identif i Safi on: 0xb4ab (462 51田 Fl ags:-: 0x00Fragment offset: 0Time to live:. 116Protocol: udp (口次11)+ Header checksum: Oxfabd correctSource: 192,168. 0.100 Cl-168. 0.100JDestination; 118.2
41、51. 94.254 (118.2 51. 94.2 54j;:田 U5可 Datagram Protocol, 5rc Port: 8080 (8080), Dst Port: 31526 旧MN6)Data (98 bytes)-internet Protocol , .Ere:- 118. 251.94.2 54 (118-2 51.94.2 54 Dst: 192.168. 0.100 C192.1 version: 4Header 1ength: 20 bytes+ Differenfiated 5ervi;e Field: 0X00 (DSCP 0X00: Default; ECN
42、: 000)Total Length 154identif 1 cat 1 on:0x0097 (151)+ Flags: O.XOOFragment offset: 0Time to live: 128Protocol; ICMP (0x01)Header checksum: Ox.2cj6 correctSource: 118.251.94.254 (118;251.94.254)Destination 192.168.0.100 C192.168.0.100)(a)类型字段值为:8;(b) 代码字段值为:0;(c) 标识符:任选16位二进制数(如0x1234);(d) 序列号:任选16位二进制数(如0x5677);(e) 数据字段:任选;(f) 校验和:首先把该字段置为0,接下来计算ICMP首部的校验和。其算法与IP首部校验和的计算方法相同。对数据进行分析。5. TCP三次握手开启Ethereal的抓包功能打开IE浏览器,随意输入一个网站,例如,待页面完全打开之后,关闭IE浏览器,停止截取报文,进行分析。五、实验报告1. 实验名称2. 实验目的3. 实验内容(截取任意MAC、IP、ICMP、UDP、TCP的数据包,根据首部格式分析该包)4. 小结(出错及解决方法,调试的结果和体会)