您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 开发文档 > 基于wireshark的TCP和UDP报文分析
实验报告实验名称TCP和UDP报文分析队别姓名董德清学号实验日期2014.11.5实验报告要求:1.实验目的2.实验要求3.实验环境4.实验作业5.问题及解决6.思考问题7.实验体会【实验目的】1.复习Wireshark抓包工具的使用及数据包分析方法。2.通过分析tcp帧了解tcp建立连接,可靠传输和释放连接的原理。3.通过分析udp帧了解udp形式的数据包传输原理。【实验要求】用Wireshark1.4.9截包,分析数据包。【实验环境】用windowsXP操作系统的计算机,通过802.1x方式接入Internet。【实验中出现问题及解决方法】由于对组网的不了解,不知道网线和中转机器的选择,查找资料和询问同学后发现了诀窍,可以熟练组建一个网络。【思考问题】为什么在释放连接时,经常会遗漏必要握手。为何在不同端口,在同一时间,客户申请同一个连接。【实验体会】对于寻找连接步骤,考虑到端口,时间和确认是否一致,花费了不小的精力。同时,tcp作为平常传输数据最主要的形式,相对于udp,其复杂性需要慢慢分析。这次实验收获颇多,更深层次的对wireshark进行了学习研究,可以更加自如的使用和分析。成绩优良中及格不及格教师签名:日期:一、TCP连接时的三次握手TCP协议为终端设备提供了面向连接的、可靠的网络服务。TCP在交换数据报文段之前要在发送方和接收方之间建立连接。客户是连接的发起者,服务器是被动打开和客户进行联系。具体的过程如下所述。第一次握手:客户发送SYN=1,seq=0的TCP报文给服务器客户的TCP向服务器发出连接请求报文段,其首部中的同步位SYN=1。序号seq=0,表明报文中未携带数据。第二次握手:服务器发送SYN=1,ACK=1,seq=0的TCP报文给客户服务器的TCP收到客户发来的连接请求报文段后,如同意,则发回确认。服务器在确认报文段中应使SYN=1,使ACK=1。序号seq=0,表明报文中未携带数据。第三次握手:客户发送ACK=1的TCP报文给服务器客户收到报文段后向服务器给出确认,其ACK=1。客户的TCP通知上层应用进程,连接已经建立。服务器的TCP收到主机客户的确认后,也通知其上层应用进程,TCP连接已经建立,此时seq=1。二、TCP可靠传输分析相对于UDP传输时的简略,TCP在首部有序号和确认号,保证传输的安全性和可靠性,序号是当前报文段的序号,确认号是希望接收的对方下一报文段序号(已成功接收到的数据字节序+1),这样做的好处是:(1)序号和确认序号在一起使得确认可捎带进行,(2)TCP采用累积确认策略(效率高,而且确认丢失也不一定使发送方重传)(3)TCP采用经受时延的确认(时延一般为200ms)前两个报文是119.188.94.190给本机发送数据的报文,很明显,第一个报文的序号是1,确认号为1461,而携带数据长度为1460,第二个报文携带数据长度为1460,序号为1461,确认号为2921,说明已经传输了2920个字节的数据。最后一个报文是本机发送给119.188.94.190,要求下一个报文的序号是2921,说明前两个数据包已经成功发送过去,不需要重发。分析这两个报文,前一个还是119.188.94.190给本机发送数据的报文,分析得序号是10221,确认号为11681,携带数据长度为1460个字节,但是本机发给119.188.94.190的报文却显示上一个报文数据发送错误,本机需要的是序号为8761的报文,要求119.188.94.190发送相关数据。在第451帧要么是网络堵塞刚接收,要么网络重发。分析这两类报文得出TCP相对更快捷的发现数据错误,可以减少重发的数据量,减少误差。三、TCP连接释放时的三次握手数据传输结束后,通信的双方都可释放连接。客户应用进程先向其TCP发出连接释放报文段,并停止再发送数据,主动关闭TCP连接。接下来服务器半关闭连接,最后等待结束后释放连接资源。具体过程如下所述,为了简便,故寻找同一个连接,即本机与119.167.134.17的连接。第一次握手:客户发送FIN=1,seq=1,ACK=1的TCP报文给服务器客户把TCP连接释放报文段首部的FIN=1,等待服务器的确认。第二次握手:服务器接收了第一次握手,客户发送的信息,并且发送FIN=1,ACK=1,seq=1,Acknowledgementnumber=2的TCP报文给客户若服务器已经没有要向客户发送的数据,其应用进程就通知TCP释放连接。第三次握手:客户发送ACK=1,seq=2,Acknowledgementnumber=2的TCP报文给服务器客户收到连接释放报文段后,必须发出确认。在确认报文段中ACK=1,确认号Acknowledgementnumber=2。自己的序号seq=2。随之服务器TCP关闭,而客户进入timedwait,等时间到后连接关闭。四、TCP帧格式分析这个帧长度为60字节,前14字节分别为10.104.159.243和119.167.134.17的mac地址,还有类型表达为ip的0800,之后20个字节为ip首部,从中可以得到自身和目标ip,还有这个数据包的长度和生存时间,从06可得出数据包协议为tcp,最后的26字节中有源端口和目标端口,分别为80(http)和65072,窗口长为0x16d0,即为5840,校验和为0x987f,其余有部分字节为00填充物。五、UDP帧格式分析UDP报头定长为8B。按顺序为:源端口号:关于端口号有一些规定,服务器端通常用熟知端口号,通常在0-1023之间。而客户端用随机的端口号,其范围在49152到65535之间。目的端口号长度:包括报头和数据的长度之和。在[8,65535]区间。检验和:提供差错检测功能分析该报文得该报文为UDP协议,该报文长度为163个字节,前半部分与TCP格式相同,后半部分源端口为4001,目标端口为8000,报头加数据长度为129个字节,校验和为0x9c74。
本文标题:基于wireshark的TCP和UDP报文分析
链接地址:https://www.777doc.com/doc-5945658 .html