Wireshark实验 - TCP

官方英文文档:Wireshark_TCP_v6.0.pdf

以下内容为笔者翻译:


Wireshark 实验: HTTP v6.0

《计算机网络:自顶向下方法(第6版)》补充材料,J.F. Kurose and K.W. Ross

“不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之。” ——中国谚语

© 2005-2012, J.F Kurose and K.W. Ross, All Rights Reserved


在本实验中,我们将详细研究著名的 TCP 协议的行为。 我们将通过从您的电脑向远程服务器传输一份 150KB 的文件(一份 Lewis Carrol 的“爱丽丝梦游仙境”文本),并分析 TCP 传输内容的发送和接收过程来实现。 我们将研究 TCP 对序列和确认号的使用,以提供可靠的数据传输;我们将看到 TCP 的拥塞控制算法 – 慢启动和拥塞避免 – 在过程中,我们将看看 TCP 的接收器发送流量控制的机制。 我们还将简要地观察 TCP 连线的设置,我们还会研究计算机和服务器之间 TCP 连线的性能(吞吐量和往返时间)。

1. 捕获从计算机到远程服务器的批量 TCP 传输)

在开始我们对 TCP 的探索之前,我们需要使用 Wireshark 来获取文件从计算机到远程服务器的 TCP 传输的数据包内容。您可以通过访问一个网页,在网页上输入您计算机上存储的文件名称(包含 Alice in Wonderland 的 ASCII 文本),然后使用HTTP POST 方法将文件传输到 Web 服务器(见文中第 2.2.3 节)。我们使用POST 方法而不是 GET 方法,因为我们希望将大量数据从您的计算机传输到另一台计算机。当然,我们将在此期间运行 Wireshark 以获取从您的计算机发送和接收的 TCP 区段的内容

执行以下步骤:

  • 启动Web浏览器在实验网站查看Alice in Wonderland 的 ASCII 档案文件。将此文件存储在计算机上的某个位置

  • 接下来去这里

  • 你将会看到如下图的网页

  • 使用此表单中的“选择文件”按钮选择包含 Alice in Wonderland的文件。 这个时候不要按下Upload alice.txt file按钮

  • 启动 Wireshark 并开始数据包捕获 (Capture-> Start),然后在 Wireshark 数据包捕获选项视窗上按 OK (我们不需要在此处选择任何选项)(详细操作因Wireshark 版本略有不同)

  • 返回浏览器,按“Upload alice.txt file”按钮将文件上传到 gaia.cs.umass.edu
    服务器。文件上传后,浏览器窗口中会显示一条简短的祝贺消息。(如下图所示)
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qGD0XZkG-1648111080355)

  • 停止 Wireshark 数据包捕获。 您的 Wireshark 视窗内容应该类似于下面显示
    的内容。

  • 如果您无法在实际的网路上运行 Wireshark,则可以下载在作者的计算机上执行上述步骤时捕获的数据包跟踪文件。当您探索下面的问题时,即使您已经捕获了自己的传输内容并使用它来回答下面的问题,您也可能会发现这份下载的跟踪包很有参考价值。下载链接

2. 跟踪包的初步观察

  • 首先,在 Wireshark 视窗顶部的显示的过滤器指定窗口中输入“tcp”(小写,无引号,并且不要忘记在输入后按 enter 键!),过滤 Wireshark 视窗中显示的数据包。
    ps:
    这里有一个小trick,实际上在我们捕获的时候,还没有点击发送就会捕获到很多别的tcp报文段,这会对我们的观察造成很大的干扰,这个时候就需要筛选,根据上一个DNS实验可以知道,我们可以通过nslookup命令来向DNS服务器请求一个url的ip地址,我们可以从提交页面看到,实际的请求页面的url为 gaia.cs.umass.edu (注意,不应该有http://),然后获取它的ip地址

    获取到之后我们可以在WireShark中通过ip进行筛选(筛选那些tcp报文段且发送或者接受的ip是128.119.245.12)

  • 您应该看到的是计算机和 gaia.cs.umass.edu 之间的一系列 TCP 和 HTTP 讯息。您应该看到包含 SYN 讯息的初始三次握手。您应该看到 HTTP POST 讯息。根据您使用的 Wireshark 的版本,您可能会看到从您的计算机向 gaia.cs.umass.edu 发送一系列“HTTP Continuation”讯息。 回想一下我们在早期的 HTTP Wireshark 实验室
    中的讨论,这不是 HTTP Continuation 消息 – 这是 Wireshark 指示有多个 TCP 区段用于承载单个 HTTP 讯息的方式。在 Wireshark 的最新版本中,您将在 Wireshark显示的 Info 列中看到“[重新组装的 PDU 的 TCP 段]”,以指示此 TCP 区段包含属于上层协议讯息的数据(在我们的示例中为,HTTP)。您还应该看到从gaia.cs.umass.edu 返回到您的计算机的 TCP ACK 区段。

  • 利用下载的 http://gaia.cs.umass.eduwireshark-labs/wireshark-traces.zip 档案,打开其中的 Wireshark 捕获的数据包文件 tcp-ethereal-trace-1 来回答以下问题(即下载跟踪包并打开 Wireshark 中的跟踪包;见附注 2)。在回答问题时,您应该提交用于回答问题的跟踪内的数据包的列印输出。 加上适当的注释以解释您的答案。 要印出数据包,请使用文件 - >列印,选择仅选定数据包,选择数据包摘要行,然后选择回答问题所需的最小数据包详细信息量。(下载的压缩文件打不开,因此用我自己捕获的分析)

  1. 将文件传输到 gaia.cs.umass.edu 的客户端计算机(源)使用的 IP 地址和 TCP 端口号是什么

100.120.23.92:55167
这里发现其实最开始不应该用dns查询ip的。。。正确的做法应该是根据我们捕获到的报文,按照http协议进行筛选,找到POST报文,然后就可以查看到IP和TCP端口号
(注意下面两个http请求是乱入的~)

  1. gaia.cs.umass.edu 的 IP 地址是什么?在哪个端口号上发送和接收此连接的 TCP 区段?

128.119.245.12:80
答案在上面的图中就有体现

  1. 用于在客户端计算机和 gaia.cs.umass.edu 之间启动 TCP 连接的 TCP SYN 区段的序列号是什么?将区段标识为 SYN 区段的区段有什么功能?

Seq:3794991032
此时筛选条件应该为
tcp and (ip.dst == 128.119.245.12 or ip.src == 128.119.245.12) 表示仅查看二者间的tcp报文段
筛选后可以看到如下的tcp报文段(感觉第二行的报文段,也就是55168端口向目标的80端口发送tcp连接建立请求有点奇怪,因为根据第一题可以知道,我们发送的端口号使用的是55167,而且从后续的报文交换来看,也并没有55168端口的事,所以猜测是http协议希望并行传输~)

忽略图中的第二行报文段,从图中可以看到第一行WireShark用方框给我们标出是SYN,点开后可以发现,初始化的序列号(Seq)是3794991032,Seq的功能为防止此前发送的报文段滞留在网络中,影响到下一次的TCP连接(具体的影响方式为:如果我们的TCP报文都从0开始编号,那么假设我第一次的TCP连接某一个报文段的Seq为1500,由于网络问题,滞留在了网络中,等到这次的TCP连接结束后,一段时间后,上述两个主机进行第二次TCP连接时,可能滞留的报文段神奇地被发送到了接受主机,那么他就会把这个报文当作此时发送方发送的报文段,从而产生错误。而随机生成Seq的话,第一次的滞留的报文就算发送给接受主机,也会因为Seq和Ack不匹配而被接受主机拒绝接收~)

  1. gaia.cs.umass.edu 发送给客户端计算机以回复 SYN 的 SYNACK 区段的序列号是多少?SYNACK 区段中的 Acknowledgment 栏位的值是多少?Gaia.cs.umass.edu 是如何确定此 Acknowledgment 的数值的?在将区段标识为 SYNACK 区段的区段在连线中有什么功能

Seq:600963478
Ack:3794991033(请求报文Seq+1)
功能:告知TCP请求的建立者,已经收到了连接建立请求并允许连接

上图为SYN ACK报文,是TCP连接建立的第二步,可以看到ACK和SYN标志位都是1

  1. 包含 HTTP POST 命令的 TCP 区段的序列号是多少? 请注意,为了找到
    POST 命令,您需要深入了解 Wireshark 窗口底部的数据包内容⫿段,在其
    DATA 栏位中查找带有“POST”的区段。

Seq:3794991033
双击打开第一个标记为[PSH,ACK]的报文段,可以通过二进制形式查看

  1. 在跟踪文件中是否有重传的区段?为了回答这个问题,您检查了什么(在跟踪包中)?

点击:统计->TCP流形图->时间序列(Stevens),可以得到下图,可以看到随着时间的增大,序号并不是一直在增大的,有部分重传的序号~

下面的往返时间,有点抽象

Wireshark实验 - TCP相关推荐

  1. 计算机网络实验二抓包协议分析,计算机网络实验-使用Wireshark分析TCP和UDP协议...

    <计算机网络实验-使用Wireshark分析TCP和UDP协议>由会员分享,可在线阅读,更多相关<计算机网络实验-使用Wireshark分析TCP和UDP协议(6页珍藏版)>请 ...

  2. 计算机网络自顶向下 Wireshark实验 Lab4 TCP

    计算机网络自顶向下 Wireshark实验 Lab4 TCP 不写答案,本文章只记录 任务 和 问题 开始Wireshark Lab TCP 先在Wireshark Lab官网下载相应文档:https ...

  3. Wireshark实验 - 入门

    # Wireshark实验 - 入门 **官方英文文档:[Wireshark_Intro_v6.0.pdf](Wireshark_Intro_v6.0.pdf)** **以下内容为笔者翻译:** ** ...

  4. Wireshark实验HTTP

    在 Wireshark 实验入门里,我们已经初步使用了 Wireshark 包嗅探器,我们现在可以操作 Wireshark 来查看网络协议.在这个实验中,我们会探索 HTTP 协议的几个方面:基本的 ...

  5. 计算机网络Wireshark实验(西安交通大学)

    实验名称 计算机网络Wireshark实验 实验日期 2021 年 5 月 17 日 实验地点 XJTU 一.实验目的 1. 掌握WireShark软件,通过监测网络流量理解计算机网络体系结构的分层原 ...

  6. 计算机网络————Wireshark 实验

    Wireshark 实验 一.数据链路层 实作一 熟悉 Ethernet 帧结构 实作二 了解子网内/外通信时的 MAC 地址 实作三 掌握 ARP 解析过程 二.网络层 实作一 熟悉 IP 包结构 ...

  7. 泡芙噶的计算机网络(2)-紧张刺激的Wireshark实验

    泡芙噶的计算机网络(2)-紧张刺激的Wireshark实验 实验内容 准备阶段 实验内容 数据链路层 网络层 传输层 应用层 实验内容 按照数据链路层.网络层.传输层及应用层的顺序部署10个实验,需要 ...

  8. 计算机网络实验之Wireshark 实验

    本文作为记录本人计算机网络课程的实验之Wireshark 实验的过程和结果,用于日后温习,若是各位有建议或者看法也欢迎各位提出和指正. 目录 Wireshark 实验 准备 数据链路层 实作一 熟悉 ...

  9. 计算机网络Wireshark实验-棋歌教学网

    计算机网络Wireshark实验 实验简介 实验准备 实验内容展示 数据链路层 实作一 熟悉 Ethernet 帧结构 实作二 了解子网内/外通信时的 MAC 地址 实作三 掌握ARP解析过程 网络层 ...

  10. 计算机网络实验报告(Wireshark 实验)

    Wireshark 实验报告 Wireshark 实验 准备 数据链路层 实作一 熟悉 Ethernet 帧结构 实作二 了解子网内/外通信时的 MAC 地址 实作三 掌握 ARP 解析过程 网络层 ...

最新文章

  1. 8.继续分析一破解加密码获取-最最最简单的注册机
  2. 应用系统瓶颈排查和分析的思考-Arthas 实战
  3. 3socket编程:UDP编程
  4. 8屏 旌宇多屏管理软件_如何选择拼接屏,不能说的秘密,都在这!
  5. 委托事件实现更新窗体
  6. SVN遇到Can't convert string from 'UTF-8' to native encoding(转)
  7. 10月10日见!官方再曝OPPO K5外观配置细节:6400万超清四摄加持
  8. python中的axis=0和1代表什么
  9. php sql慢查询,一个用户SQL慢查询分析,原因及优化_MySQL
  10. IT运维岗位可以分为哪几种?10个运维岗详解
  11. linux系统查看内核版本是多少,在linux下查看内核版本、gcc版本、操作系统多少位等参数...
  12. [week13] 2 - T1
  13. PPT如何锁定一些元素(使用母版的策略)
  14. utools配置内网穿透
  15. Windows 10 IDM 下载play.kth.se上面的网课视频
  16. burpsuite抓不到本地服务器包的解决方法
  17. 一次 BO 报表引发的数据库宕机要点分析
  18. kindle3折腾之修砖、修复“wifi unavailable”等总结
  19. 线序检测视觉算设计过程及效果展示
  20. 荣耀猎人是鸿蒙,荣耀猎人游戏本V700有哪些产品优势?

热门文章

  1. 微软bi报表服务器,安装适用于 Power BI 报表服务器的 Power BI Desktop
  2. 【历史上的今天】7 月 1 日:分时系统之父诞生;支付宝推出条码支付;世界上第一支电视广告
  3. 破血伐木,千里追踪,梦幻奇游新法诀体验
  4. 谷歌浏览器二维码识别插件,解决你二维码识别跳转难题
  5. Android开发学习之路III-服务器技术篇
  6. 人到中年,程序猿的人生路~
  7. Google - Android 12 更新预览
  8. 齐齐哈尔计算机科学学费,齐齐哈尔三立高级中学收费标准(学费)及学校简介
  9. 如何辨别物理机和云主机?
  10. Flutter(十七) 实现国际化