捕获TCP数据报 |
您所在的位置:网站首页 › 捕获tcp三次握手建立连接的数据包 › 捕获TCP数据报 |
前言
计算机网络实验 一、实验目的通过实验熟悉 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 6.开始的6个TCP 报文段的长度各自是多少? 第一个TCP报文段长度为913+20=933 bytes 7.在整个跟踪过程中,在接收端广告(advertise)的可用缓存空间的最小值是多少? 接收端有没有因缓存空间不足而限制发送端的发送? 在6个ack报文中,接收端窗口最小的是131328,发送端窗口一直是513,小于接收端窗口并保持恒定,因此接收端没有因缓存空间不足而限制发送端的发送。 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段的序列号。注意那些堆叠在一起的点代表从发送方背靠背连续发送的一系列数据包。 总结这次实验中所得到的 TCP 数据与我们在教材中所学的理想情况有什么不同? 不同点: (1)发送过程较稳定,没有出现数据重传现象。 (2)发送速度较快,没有发现明显的拥塞控制和报文段中的窗口大小变化情况。可能是: 1.发送的文件比较小 2.数据发送过程在校内局域网完成,距离短,发送时间快 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |