基于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截包,分析数据包。 【实验环境】 用windows XP操作系统的计算机,通过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。