Wireshark实验 - TCP

这篇具有很好参考价值的文章主要介绍了Wireshark实验 - TCP。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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 档案文件。将此文件存储在计算机上的某个位置

  • 接下来去这里

  • 你将会看到如下图的网页
    Wireshark实验 - TCP

  • 使用此表单中的“选择文件”按钮选择包含 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实验 - TCP

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

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

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

    获取到之后我们可以在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请求是乱入的~)
Wireshark实验 - TCP

  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实验 - TCP

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

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

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

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

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

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

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

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

下面的往返时间,有点抽象
Wireshark实验 - TCP文章来源地址https://www.toymoban.com/news/detail-418873.html

到了这里,关于Wireshark实验 - TCP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C++】String类基本接口介绍(多看英文文档)

    string目录 目录  如果你很赶时间,那么就直接看我本标题下的内容即可!! 一、STL简介 1.1什么是STL 1.2STL版本 1.3STL六大组件 1.4STL重要性 1.5如何学习STL 二、什么是string??(本质上是一个类) 三、string的类模板(什么?string居然利用了模板??) 三、string的三种构造(拷贝

    2024年02月07日
    浏览(40)
  • 使用 Wireshark 进行嗅探实验

    (这是 HNU 肖晟老师的《计算机网络》第一次实验) 本文首发于 blog.skywt.cn,点击 阅读原文以获得更好的阅读体验。 手机(iPhone)开启热点作为 gateway,让电脑(MacBook)连接热点作为 攻击者 ,平板(iPad)也连接热点作为 victim 。让我们来看看,当 victim 上网时,攻击者能看

    2024年02月07日
    浏览(47)
  • 实验9 利用Wireshark软件分析DHCP

    目录 一、实验目的及任务 二、实验环境 三、预备知识 四、实验步骤  五、实验报告内容 一、实验目的及任务 1.通过协议分析进一步明确DHCP报文格式中各字段语法语义; 2.进一步明确DHCP工作原理并能够描述 二、实验环境 联网的计算机;主机操作系统为Windows;WireShark等软件

    2023年04月23日
    浏览(49)
  • 实验7 利用Wireshark软件分析TCP

    目录 一、 实验目的及任务 二、 实验环境 三、 预备知识 四、 实验步骤 五、 实验报告内容 一、 实验目的及任务 1.通过协议分析进一步明确TCP报文段结构中各字段语法语义; 2.能够描述TCP协议的序号确认机制、连接管理、RTT估算、流量控制机制。 二、 实验环境 联网的

    2023年04月08日
    浏览(43)
  • HNU-计算机网络-实验1-应用协议与数据包分析实验(Wireshark)

    计科210X 甘晴void 202108010XXX 通过本实验,熟练掌握Wireshark的操作和使用,学习对HTTP协议进行分析。 2.1 HTTP 协议简介 HTTP 是超文本传输协议 (Hyper Text Transfer Protocol)的缩写,用于WWW 服务。 (1)HTTP 的工作原理 HTTP 是一个面向事务的客户服务器协议。尽管HTTP 使用TCP 作为底层

    2024年02月06日
    浏览(49)
  • 计算机网络实验(二):Wireshark网络协议分析

    HTTP协议分析   1.超文本传输协议(Hypertext Transfer Protocol, HTTP)是万维网(World Wide Web)的传输机制,允许浏览器通过连接Web服务器浏览网页。目前在大多数组织中,HTTP流量在网络中所占的比率是最高的。每一次使用Google搜索、连接Twitter、发一条微博,或者在ESPN上查看肯塔基

    2024年01月15日
    浏览(51)
  • 计算机网络 wireshark TCP抓包实验

    1. 你的客户端电脑传送文件到 192.168.1.70 的 IP 地址和端口是什么?从192.168.1.70 接收文件的 IP 地址和端口是什么? 可以看出 传送文件的地址是192.168.8.90 端口是61588 接受文件的地址是192.168.1.70 端口是80 2. 用来初始化客户端电脑和 192.168.1.70 的 TCP 连接的 TCP SYN 报文段的序号

    2024年02月07日
    浏览(45)
  • Visual Studio中C++部分的官方文档链接【微软(Microsoft)所有产品的官方文档链接】

    目前(2022年07月),微软官方网站上关于Visual Studio的文档,最老的版本也是VS2015了,如下图所示: 微软所有产品的文档目录: 中文版:https://docs.microsoft.com/zh-CN/documentation/ 英文版:https://docs.microsoft.com/en-us/documentation/ Visual Studio中C++部分的官方文档: 中文版:https://docs.microso

    2024年02月07日
    浏览(67)
  • MySQL官方文档如何查看,MySQL中文文档

    MySQL官网地址:https://dev.mysql.com/doc/ 比如这里我要找InnoDB架构 MySQL 5.1中文文档地址:https://www.mysqlzh.com/

    2024年02月07日
    浏览(41)
  • 【计算机网络实验/wireshark】tcp建立和释放

    wireshark开始捕获后,浏览器打开xg.swjtu.edu.cn,网页传输完成后,关闭浏览器,然后停止报文捕获。 若捕获不到dns报文,先运行ipconfig/flushdns命令清空dns缓存 设置了筛选条件:dns 查询报文目的端口:53,目标ip地址:202.115.64.33  找到DNS相关部分,可以看到事务id,以及queries(问

    2024年01月17日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包