992vg 2022-06-07 14:45 采纳率: 16.7%
浏览 209
已结题

用wireshark分析TCP协议特性

img

img


一、俘获本机与远程服务器的 TCP 踪迹文件
在开始研究 TCP 工作机制之前,需要使用 Wireshark 来俘获从本机到远程服务器之间的 TCP 踪迹文件。为此,我们可以从本机浏览器打开某 Web 网站上的网页,用 HTTP 协议下 载包括文本文件在内的对象。与此同时,在本机上运行 Wireshark 俘获本机收发的 TCP 报文 段并存入踪迹文件 tcp.cap 中。为了便于比较,我们可从因特网上下载现成的踪迹文件进行 分析,相关 URL 是 http://gaia.cs.umass.edu/wireshark-labs/wireshark-traces.zip。
二、熟悉 TCP 踪迹文件
打开 tcp-ethereal-trace-1.pcap 文件,可以看到俘获机器与 gaia.cs.umass.edu 的 Web 服务 器之间交互的 TCP 和 HTPP 报文序列(参见图 25)。 选择一个报文,观察其各层次协议包含关系。观察 HTTP 与 TCP 之间关系是如何体现 的?从俘获报文列表窗口右侧,可以发现发起三次握手的 SYN 报文,也可以发现一系列交 互的 HTTP 报文。
回答下列问题:
(1)与 gaia.cs.umass.edu 传输文件的源主机所使用 IP 地址和端口号是什么?
(2)gaia.cs.umass.edu 服务器所使用 IP 地址和端口号是什么?
(3) 前 6 个 TCP 报文段的每个长度各为多长?

三、分析 TCP 序列/应答编号和流量控制
为分析 TCP 序列和应答编号,可以从分组列表中观察,也可以点击“Statitics/Flow Graph”, 出现如图 26 所示的本机与服务器之间的图分析结果。

观察该图,回答下列问题:
(4) 用于发起与服务器 TCP 连接的 TCP SYN 报文段的序号是多少?在该报文段中标识 其为 SYN 报文段的标志是什么?
(5) 服务器应答上述 TCP SYN 报文段的 SYN ACK 报文段的序号是什么?在该 SYN ACK 报文段的 ACK 应答字段中的值是多少?服务器是怎样确定这个 ACK 值的?在该报文 段中标识其作为 SYN ACK 报文段的标志是什么?
(6) 接收方的 ACK 报文应答的数据一般为多长?你如何确定接收方是对哪个报文段进 行应答的?
(7) 观察 TCP SYN 报文段达到的时间以及 SYN ACK 报文段回复的时间。它们与后继 请求和应答报文对之间的时间差一样吗?
(8) 接收方通常的可用缓存的量是一样大的吗?最小量是多少?出现了为抑制发送方 而减少接收缓存空间的情况吗?
(9) 在踪迹文件中有重传报文段吗?你如何检查是否出现了这种情况?
(10) 对该 TCP 连接,吞吐量是多大?解释你计算的方法

四、分析应用层内容
本实验中的应用层是 HTTP,该协议的可靠传输基于 TCP 得到的。通过分析 TCP 报文 序列可以得到 HTTP 传输的内容。为此,点击 TCP 三次握手之间的第 4 号报文,发现它是 一条从本机向服务器发送 HTTP POST 命令的报文,请求 Web 服务器发送特定的页面对象。 对于后继报文,也可以发现以 ASCII 明文发送的应用层内容。 58 对于分析应用层内容,Wireshark 提供了一个很好的工具。点击“Analyze/Follow TCP Stream”,可打开如图 27 所示界面,显示了该 TCP 流的应用层相关信息。
(11) 分析一下 HTTP 传输的是大约什么内容?
(12) 如果 Web 页面传输的是图片或视频对象,会出现什么情况?

五、分析TCP拥塞控制
前面实验已经为你用 Wireshark 分析报文序列打下了有用的基础。应当说它是一件枯燥 (尽管十分有用)的工作,下面我们使用 Wireshark 提供的分析大量 TCP 报文时的图形工具。 点击“Statistics/TCP Stream Graph/Throughput Gragh)”,得到如图 28 所示的界面。图中的 每个点表示在某时刻该 TCP 连接的吞吐量。
(13) 根据图 28 分析的吞吐量分布曲线,解释哪部分对应的是 TCP 慢启动阶段和拥塞 避免阶段。
(14) 图示曲线是否与课文中的理论分析曲线一致?为什么?

  • 写回答

2条回答 默认 最新

  • 「已注销」 2022-06-07 15:00
    关注

    你这个是个大问题

    评论

报告相同问题?

问题事件

  • 系统已结题 6月15日
  • 创建了问题 6月7日

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘