捕获TCP数据报

您所在的位置:网站首页 捕获tcp三次握手建立连接的数据包 捕获TCP数据报

捕获TCP数据报

2024-07-09 16:07| 来源: 网络整理| 查看: 265

前言

计算机网络实验

一、实验目的

通过实验熟悉 Wireshark 抓包软件的使用方法,理解 TCP 传输过程,以及慢启动、拥塞避免等相关技术。

二、实验环境

1.操作系统:几乎任意 windows 版本。本实验是在 windows 下实现的。 2.所需软件:wireshark-setup-1.10.2.

三、实验内容

1.在 windows 环境进行 Wireshark 抓包。 2.在 windows 环境 Wireshark 窗口中查看各种协议下的数据包。 3.在 windows 环境上传文件到服务器,同时观察 TCP 传输过程。

四、实验步骤

1.Wireshark 的安装 Wireshark 基本安装过程与一般软件安装并无大异,均按默认设置安装即可,安装时可 勾选——desktop Icon选项。 2. 捕捉从自己 PC 机到远程服务器的 TCP 传输 在开始探索 TCP 奥秘之前,我们需要用 Wireshark 来得到一个从你 PC 到远程服务器的 一个文件的 TCP 传输数据包的跟踪。你需要进入一个网页,这个网页允许你输入在你的 37PC 机上的一个文件的名字,然后将这个文件利用 HTTP POST方法传输到 web 服务器 本次实验提交文件的网址为 http://192.168.0.17/login.php (实验室电脑访问http://192.168.0.17/login.php),以下类似 需要提交的是“upload”作业)使用POST 方法而不是 GET 方法,因为我们想要从你 的 PC 上传输大量数据到另外一台 PC。当然,我们在做以上工作的时候,需要同时运行Wireshark,以得到我们想要的从你 PC 上发送和接收到的 TCP 报文段的追踪结果。 需要做如下步骤: 3) 准备好 Alice in Wonderland(爱丽丝漫游奇境记)的 ASCII 码文档, 即实验附件中的upload.txt文件 登陆网站: http://192.168.0.17 (实验室电脑访问http://192.168.0.17/,以下出现的ip地址均参考这里替换 2) 进入网站的upload作业提交页面 你会看到下面样式的窗口: 点击“ 选择文件” 按钮并包含文件 upload.txt (注意:你需要按上图中蓝色框中的文件命名 规则,对upload.txt文件重新命名,才可以正确提交,若提交失败且提示出现中文乱码,清除浏览器缓存后再次提交)文件,请先不要着急按“ 提交作业”按钮 3) 用 Wireshark 开启数据包捕捉。 开始抓包之前,进入 Wirshark 的 Capture->Options,选择本地连接,去掉“ Hide capture info dialog” 前面的“ √” ,以便在抓包过程中看到数据框。具体操作如下图所示。 安装好 Wireshark 后,点击 Capture->Start 开始抓包。回到浏览器,按“ 提交作业 ” 按钮来上传文件。一旦文件被上载成功,将会有一个祝贺信息出现。 4) 停止 Wireshark 数据包捕捉。你的 Wireshark 窗口会出现类似下面的样式: 39为方便分析数据,可在左上角的过滤器(filter)工具栏中输 入“ ip.dst192.168.0.17 or ip.src192.168.0.17的公网IP” 后回车,即可初步筛选所需 数据。 3.查看捕获的跟踪 在分析 TCP连接过程的细节之前,我们先来仔细查看一下跟踪。首先,在 Wireshark窗口上方的过滤器(filter)窗口输入“ 上面提到的合适的过滤条件 and tcp” ,使得 Wireshark 的数据窗口中只显示TCP数据包。在数据窗口中你将看到下面的消息: 1)一系列往返于你的计算机和 192.168.1f0.83之间的TCP 和 HTTP 消息。在这些消息中,你会看到包含 SYN 消息的初始的三次握手过程。 2)可能会看到从你的计算机发送到 192.168.0.17的一个 HTTP POST 消息 3)从192.168.0.17返回到你计算机的 TCP ACK 段。

五、实验思考题 TCP 基础

回答以下有关TCP 报文段的问题: 1.你的客户端电脑传送文件到 192.168.0.17的IP地址和端口是什么?从192.168.0.17接收文件的 IP 地址和端口是什么?分别是:①192.168.0.104和58358 ②192.168.0.17和80 在这里插入图片描述 2.用来初始化客户端电脑和 192.168.0.17 的 TCP 连接的 TCP SYN 报文段的序号是什么?在报文段中,哪个地方表明这是一个 SYN 报文段? 第一个红框对应序号,第二个红框对应标志位,表明是个SYN报文段 在这里插入图片描述 3.回复 SYN 报文段时,由 192.168.0.17 发送的 SYNACK 报文段的序号是什 么?在SYNACK 报文段中的 ACKnowledgement 域的值是什么?192.168.0.17 是如何确定这个值的?表明这个段是 SYNACK 的标志位或者符号是什么? 三个框顺序依次对应:序号为0;ACKnowledgement域的值为1,即SYN报文段seq+1;Flags:0x012(SYN,ACK)就是该段的标志位 在这里插入图片描述 4.包含 HTTP POST 命令的 TCP 段的序号是多少?注意,要找到 POST 命令,你需要在 Wireshark 窗口的底部发掘这个数据包内容域,找到一个在其DATA 域中有标识 POST 的段。 在这里插入图片描述 所以包含 HTTP POST 命令的 TCP 段的序号是1 5.仔细思考一下作为 TCP 连接的第一个报文段的包含 HTTP POST 的 TCP 报文段。 TCP 连接(包括包含 HTTP POST 的报文段)的开头6个报文段的序号是多少? 每个报文段都在什么时间发送?每个报文段接收到 ACK 的时间是多少?6个报文段: 在这里插入图片描述 在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述 对应的ACK: 在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述 文件开始传输的6个报文段时间如下: Sequence number 发送时间 Ack接收时间 1 0.582896000 0.622589000 914 0.614557000 0.628240000 2374 0.614569000 0.628240000 3834 0.614574000 0.643690000 5294 0.614577000 0.643690000 6754 0.614581000 0.643690000

6.开始的6个TCP 报文段的长度各自是多少? 第一个TCP报文段长度为913+20=933 bytes 在这里插入图片描述 其他均为1460+20=1480 bytes 在这里插入图片描述 所以开始的6个TCP 报文段的长度分别是933 bytes、1480 bytes、1480 bytes、1480 bytes、1480 bytes、1480 bytes。

7.在整个跟踪过程中,在接收端广告(advertise)的可用缓存空间的最小值是多少? 接收端有没有因缓存空间不足而限制发送端的发送? 在6个ack报文中,接收端窗口最小的是131328,发送端窗口一直是513,小于接收端窗口并保持恒定,因此接收端没有因缓存空间不足而限制发送端的发送。 在这里插入图片描述 8.在跟踪文件中,有重传的报文段么?回答这个问题,你需要检查哪个地方? 没有;需要检查客户机发出报文段的sequence number,如果有重复的sequence number,则发生了重传。

9.接收方在一个 ACK 中,通常确认多少数据?你能辨别出这样一种情形吗:即接收方对收到的报文段,每隔一个确认一次? 通常确认1-2个报文段数据; 统计发送和ack情况:在这里插入图片描述 图中就有接收方对收到的报文段,每隔一个确认一次这种情况。

10.这个 TCP 连接的吞吐量(每单位时间传输的字节数)是多少?解释你是如何计算这个数值的? 在上传整个文件的过程中,第一个报文段的序号是1,时间是0.582896000,最后一个报文段的序号是760811,时间是1.189839000; 所以这个 TCP 连接的吞吐量=760811/(1.189839000-0.582896000)=760811/0.606943=1253513.097605541

TCP 拥塞控制

下面我们来观察单位时间内从客户端向服务器的数据量。我们不必对 Wireshark 窗口中 的原始数据进行繁琐的计算,而是通过 Wireshark 的 TCP 画图工具来完成:选择 Time-Sequence-Graph(Stevens) 完成数据的图形显示。 在Wireshark的“listing of captured-packets”窗口中选择一个TCP段。然后在菜单中选 择Statistics->TCP Stream Graph-> Time-Sequence-Graph(Stevens),鼠标左键画框 可以将框内图形放大你会看到从捕获的数据包生成的如下图所示的图像。注意,可用鼠标完成对图像的移动和缩进以得到满意效果,详见help选项。 这里,图中的每个点代表一个发送的TCP段,横坐标代表时间,纵坐标代表TCP段的序列号。注意那些堆叠在一起的点代表从发送方背靠背连续发送的一系列数据包。 在这里插入图片描述 11.用Time-Sequence-Graph(Stevens)中的画图工具观察从客户端发送到 192.168.0.17服务器的TCP段的序列号-时间图。你怎样判断TCP的慢启动(slowstart)开始和结束?拥塞避免在什么地方开始起作用的?注意在实际的跟踪中,不是所有的都像教材那样简单漂亮的形式。同时还要注意在Time-Sequence-Graph(Stevens)中纵坐标所代表的变量与教材中是否不同。 慢启动过程的特征是发送端的Congestion window值指数增长。上面的图中,开头一段发送的报文段数量为1,2,4,10可以判断前三轮为慢启动。第四轮及以后的发送过程中,发送的数量较稳定,则拥塞避免在此时开始起作用。

总结这次实验中所得到的 TCP 数据与我们在教材中所学的理想情况有什么不同? 不同点: (1)发送过程较稳定,没有出现数据重传现象。 (2)发送速度较快,没有发现明显的拥塞控制和报文段中的窗口大小变化情况。可能是: 1.发送的文件比较小 2.数据发送过程在校内局域网完成,距离短,发送时间快



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3