网络协议---TCP协议分析(基于wireshark)

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

实验项目:

                Wireshark TCP协议分析

实验目的

1)TCP使用序列号和确认号提供可靠的数据传输;

2)观察 TCP的拥塞控制算法(慢启动和拥塞避免);

3)TCP接收段实现流量控制的机制;

4)简要地观察TCP连接设置,

5)并调查计算机和服务器之间TCP的连接性能(吞吐量和往返时延)。

实验环境

  1. Windows 10,操作系统;
  2. Firefox Version 76.0.1 (64 位) 浏览器;
  3. Wireshark Version 3.2.3;
  4. 互联网可访问。

实验方案

        通过Wireshark捕获浏览器访问的html类型文件。捕获从计算机到远程服务器的批量 TCP 传输。下载爱丽丝梦游记(alice.txt)并且在进行上传同时进行Wireshark抓包操作。

实验步骤

本次实验中,在开始数据包捕获时,你是否设置了捕获过滤器?如果设置了,给出你输入的捕获过滤表达式,并说明该捕获表达式的含义。

解答:设置了捕获过滤器,且捕获过滤表达式为:host gaia.cs.umass.edu ,该捕获表达式的含义为仅捕获与gaia.cs.umass.edu 计算机之间的通信(会自动根据gaia.cs.umass.edu解析其对应的IP地址)。

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark

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

解答:IP: 128.119.245.12,端口号:80。

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

解答:IP: 128.119.245.12;端口号:54681。

将显示过滤器设置为:tcp.port==54681,仅显示当前TCP连接中交换的报文。

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark

TCP 基础

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

ANS:根据三次握手,客户端应该发送SYN请求建立连接,我找到发送的第一个请求并且发现客户端(我的电脑)将SYN标志标1用来请求建立连接。SEQ(序列号)Sequence number (raw): 3016317277(这是个随机值)【Sequence number: 0    (relative sequence number)】,这一步也是三次握手的第一步。

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark

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

ANS:根据 SYN-ACK 响应值序列号 SEQ=客户端 SEQ+1,求得SEQ(序列号) Acknowledgment number (raw): 3016317378【Acknowledgment number: 1    (relative ack number)】。

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark

观察到除了 SYN 标志位,ACK(Acknoledment)标志位也设1,意思服务器接收到我的连接请求并且发 SYN-ACK 确认,这是三次握手的第二步。

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

ANS: 含有POST的字段的TCP值SEQ: Sequence number (raw): 563428612【Sequence number: 1    (relative sequence number) 】。

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark

  1. 将包含HTTP POST 的 TCP 报文段视为 TCP 连接中的第一个报文段。
    在这个TCP连线中由客户端发送给gaia.cs.umass.edu服务器的前六个TCP报文段的序列号是什么(包括包含HTTP POST的段)?
    每报文段发送的时间是什么时候?
    收到的每个报文段的 ACK 是什么时候?
    鉴于发送每个 TCP 报文段的时间与收到确认的时间之间的差异,六个报文段中每个报文段的 RTT 值是多少?收到每个 ACK 后,EstimatedRTT 值是什么?假设第一个 EstimatedRTT 的值等于第一个报文段的测量 RTT,然后使用课本的 EstimatedRTT 公式计算所有后续报文段。
NO.1 第1个TCP数据报文段

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark

1TCP数据报文段的序号No.223

TCP序列号SEQ: Sequence number (raw):3016317278(原始值RAW),1(相对值)

Sequence number: 706 (relative sequence number)

[Time since first frame in this TCP stream: 9.392207000 seconds]

[TCP Segment Len: 1460]

[Next sequence number: 2166    (relative sequence number)]

对应的ACK报文:无

NO.2 第2个 TCP数据报文段

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark

TCP数据报文段的序号No.:224

TCP序列号SEQ:Sequence number (raw): 3016319443

Sequence number:  2166  (relative sequence number)

发送时间Timestamp value:

[Time since first frame in this TCP stream:  9.392207000 seconds]

[TCP Segment Len: 1460]

[Next sequence number: 3626  (relative sequence number)]

对应的ACK报文:无

NO.3 第3个 TCP数据报文段

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark

TCP数据报文段的序号No.:225

TCP序列号SEQ:Sequence number (raw): 3016320903

Sequence number: 3626    (relative sequence number)

发送时间Timestamp value:

[Time since first frame in this TCP stream: 9.392207000 seconds]

[TCP Segment Len: 1460]

[Next sequence number: 5086    (relative sequence number)]

对应的ACK报文:无

NO.4 第4个 TCP数据报文段

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark

TCP数据报文段的序号No.:226

TCP序列号SEQ:

Sequence number (raw): 3016322363

Sequence number: 5086    (relative sequence number)

发送时间Timestamp value:

[Time since first frame in this TCP stream: 9.392207000 seconds]

[TCP Segment Len: 1460]

[Next sequence number: 6546    (relative sequence number)]

对应的ACK报文:无

NO.5 第5个 TCP数据报文段

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark

TCP数据报文段的序号No.:227

TCP序列号SEQ:

Sequence number (raw): 3016323823

Sequence number: 6546    (relative sequence number)

发送时间Timestamp value:

[Time since first frame in this TCP stream: 9.392207000 seconds]

[TCP Segment Len: 1460]

[Next sequence number: 8006    (relative sequence number)]

对应的ACK报文:无

NO.6 第6个 TCP数据报文段

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark

TCP数据报文段的序号No.:227

TCP序列号SEQ:

Sequence number (raw): 3016325283

Sequence number: 8006    (relative sequence number)

发送时间Timestamp value:

[Time since first frame in this TCP stream: 9.392207000 seconds]

[TCP Segment Len: 1460]

[Next sequence number: 9466    (relative sequence number)]

相关问题解答

前六个 TCP 报文段的长度是多少?

六个 TCP 报文段的长度是=1460*6=8760

对于整个跟踪包,收到的最小可用缓冲区空间量是多少? 缺少接收器缓冲区空间是否会限制发送方传送 TCP 报文段?

收到的最小可用缓冲区空间量是64240;缺少接收器缓冲区空间会限制发送方传送TCP报文段。

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark

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

无重传的报文段,所有发送的数据包的SEC都是依序加大,服务器返回的确认ACK中的ACK number没有重复的。

接收器通常在 ACK 中确认多少数据? 您是否可以识别接收方每隔一个接收到的报文段才发送确认的情况。

接收方基本每隔10个左右的发送数据包才接收到1~2个确认报文,可见接收方是采用了累积确认的方式进行报文确认。

  1. TCP 连接的吞吐量(每单位时间传输的字节数)是多少? 解释你如何计算这个值。

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark

吞吐量=数据传输大小/所用时间=153026/10.301818000

= 14854.2313(Byte/秒).

[Time since first frame in this TCP stream: 10.301818000 seconds]

TCP 拥塞控制

使用时序图(Stevens)绘图工具查看从客户端发送到 gaia.cs.umass.edu 服务器的报文段的序列号与时间关系图。您能否确定TCP的慢启动阶段的开始和结束位置,以及拥塞避免接管的位置?评论测量数据与我们在文本中研究的 TCP 的理想化行为的不同之处。

网络协议---TCP协议分析(基于wireshark),网络,网络,tcp/ip,网络协议,wireshark文章来源地址https://www.toymoban.com/news/detail-846841.html

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

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

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

相关文章

  • 使用Wireshark抓包分析TCP协议

    wireshark数据包详细栏每个字段对应的分层。 我们点开这个字段,从该字段中可以看到相邻两个设备的MAC地址 本层主要负责将TCP层传输下来的数据加上目标地址和源地址。 这一层用到了TCP协议 tcp包头 每个字段对应的TCP包头 TCP三次握手示意图 第一次握手 :客户端向服务器发

    2023年04月13日
    浏览(45)
  • 网络程序设计实验:TCP/IP协议栈源代码分析

    深入理解TCP/IP协议栈的源代码结构和功能,探究其与上层套接口和下层数据链路层的关联方式。 分析TCP的三次握手过程,理解其状态转换和数据传输机制。 掌握send和recv操作在TCP/IP协议栈中的执行路径,探究其与上层应用程序的交互方式。 了解路由表、ARP缓存以及IP到MAC地址

    2024年02月03日
    浏览(64)
  • 网络程序设计实验-TCP/IP协议栈源代码分析

    ​ inet_init代码如下: 调用inet_init的过程中,涉及到的函数如下: 1. start_kernel: start_kernel 是Linux内核的启动函数,定义在 init/main.c 文件中。 在启动过程中,首先执行 start_kernel ,这个函数负责进行内核的初始化工作。 2. rest_init: 在 start_kernel 中,会调用 rest_init 函数,该函数的

    2024年02月03日
    浏览(70)
  • 网络程序设计专题实验:TCP/IP协议栈源代码分析

    inet_init是如何被调用的?从start_kernel到inet_init调用路径 跟踪分析TCP/IP协议栈如何将自己与上层套接口与下层数据链路层关联起来的? TCP的三次握手源代码跟踪分析,跟踪找出设置和发送SYN/ACK的位置,以及状态转换的位置 send在TCP/IP协议栈中的执行路径 recv在TCP/IP协议栈中的执

    2024年02月02日
    浏览(69)
  • Wireshark数据抓包分析之传输层协议(TCP协议)

            通过使用wireshark对TCP协议的数据包的抓取分析TCP协议的具体内容         1.需要了解TCP协议的三次握手过程         2.需要了解TCP协议的四次挥手的过程 part1:3次握手和4次挥手的数据包的获取 1.通过使用TCP测试工具在机器一中创建服务器,并且进行相应的配置,然

    2024年02月11日
    浏览(40)
  • 网络编程day2——基于TCP/IP协议的网络通信

            计算机S                                                 计算机C      创建socket对象                                   创建socket对象      准备通信地址(自己的ip(非公网ip))      准备通信地址                                     (计算

    2024年02月10日
    浏览(68)
  • 基于TCP/IP协议的网络摄像头的QT项目

    目录 项目简述: 1.服务器  步骤一:首先搭建一个基本的服务器框架。  1.初始化服务器的函数主体  2.等待连接 步骤二:数据库的使用,本次项目使用的Sqlite3数据库 1.数据库初始化 2.登录时使用数据库  3.注册时使用数据库 步骤三:摄像头的调用与数据传输 1.V4L2框架的使

    2024年02月03日
    浏览(39)
  • 【网络安全 | 网络协议】结合Wireshark讲解TCP三次握手

    TCP(传输控制协议)是一种面向连接的、可靠的传输层协议。在建立 TCP 连接时,需要进行三次握手,防止因为网络延迟、拥塞等原因导致的数据丢失或错误传输,确保双方都能够正常通信。 TCP三次握手在Wireshark数据包中是如何体现的?在此之前,先熟悉TCP三次握手的流程。

    2024年02月03日
    浏览(50)
  • 网络协议分析(一)(C语言实现---ethernet、arp、ip、icmp、udp、tcp)

    以太网协议是一种局域网通信协议,它通过物理层和数据链路层的协同工作,使用媒体访问控制地址和载波监听/冲突检测协议来实现计算机之间的稳定数据传输。在数据传输过程中,以太网会将数据封装成数据帧,并根据目标MAC地址来识别需要接收数据的计算机。通过这种方

    2024年02月06日
    浏览(52)
  • Wireshark抓包分析TCP协议:三次握手和四次挥手

    面试中我们经常会被问到TCP协议的三次握手和四次挥手的过程,为什么总喜欢问这个问题呢? 其实我们平时使用的很多协议都是应用层协议,比如HTTP协议,https协议,DNS协议,FTP协议等;而应用层协议都是要基于传输层的两个协议之上的,也就是TCP协议和UDP协议。我们在使用

    2024年01月21日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包