TCP、ICMP协议分析实验

在开始之前请打开我们的实验工具Wireshark,点击“捕获”—“选项”选择要捕捉的输入接口,选择“在所有接口上使用混杂模式”,然后点击“开始”,这样可以有选择的捕获只和你有关系的数据包。

一、捕获一个从你的电脑到远程服务器的TCP数据

在我们开始对TCP的研究之前,我们需要利用Wireshark来捕获一个TCP的数据包。这个包从你的电脑向远程服务器传输一个文件,我们是使用POST方式而不用GET方法是因为我们要传输一个很大数量的数据。

现在按以下步骤做:

1.打开你的浏览器。输入:

http://gaia.cs.umass.edu/ethereal-labs/alice.txt

你将会看到Alice in Wonderland的文本版,然后点击鼠标右键另存到你的电脑中;

2.接下来输入:

Upload page for TCP Ethereal Lab

你将会看到一个像这样的界面:

3.按“选择文件”按钮选取你刚才保存的文件,请先不要按“Upload alice.txt file”按钮;

4.现在打开Wireshark,开始数据包的捕获;

5.再回到你的浏览器,按下“Upload alice.txt file”按钮向gaia.cs.umass.edu服务器来上载文件(一旦这个文件被上载,一个短小的祝词将会显示在你的浏览器窗口);

6.停止Wireshark的捕获,你的Wireshark窗口应该和下面所示的窗口相类似:

来看一下捕获的数据,在主窗口顶部的“应用显示过滤器”中输入“tcp”以用来过滤包。你所看见的是你的电脑和gaia.cs.umass.edu之间的一系列TCP和HTTP消息。你可以看到含有SYN消息的最初的三次握手,还可以看到一个HTTP POST消息和一系列从你的电脑发送到gaia.cs.umass.edu的HTTP附加部分的消息。同时,你也可以看到从gaia.cs.umass.edu 返回到你的电脑的TCP ACK片段。

7.点击“文件”—“保存”选项将数据保存,命名为tcp-1。

通过观察所捕获数据包的内容回答以下问题:

Q1.TCP属于五层协议中的哪一层?

传输层

Q2.你电脑向gaia.cs.umass.edu 传输文件时所用的IP地址和TCP端口号是多少?

IP地址:192.168.1.2

端口号:3837

Q3.gaia.cs.umass.edu的IP地址是多少?该服务器的哪个端口发送和接收TCP片段?

IP地址:128.119.245.12

端口号:80

Q4.用来在你电脑和gaia.cs.umass.edu 之间开始TCP连接的TCP SYN片段的序列号是多少?在片段中怎样识别这个片段是一个SYN片段?

序列号:相对序列号为0,真实序列号为2017586174

怎样识别:客户端发送一个TCP,标志位为SYN=1,序列号为0。

Q5.找出其中的HTTP数据包,它的请求方法是什么?

请求方法:POST

Q6.FIN ACK片段有什么作用?

作用:FIN ACK片段用于关闭TCP连接,是四次挥手的第一个片段。当一方要关闭连接时,它会发送一个FIN标志,告诉对方它不会再发送数据了。对方收到FIN标志后,会发送一个ACK标志,表示它已经收到了FIN标志,并准备好关闭连接。这个ACK标志也可以携带数据。如果对方也要关闭连接,它也会发送一个FIN标志,然后等待对方的ACK标志,最终双方都关闭连接。

Q7.结合所捕获的数据包,简述终端连接的握手过程。

1.客户端给服务器发送一个SYN片段,即使此UDP片段中的SYN位为1,该段中也包含客户端的初始序列号(Sequence number = J)。

2.服务器返回客户端SYN + ACK段,即SYN和ACK位字段都为1,该段中包含服务器的初始序列号(Sequence number = K);同时使 Acknowledgment number = J + 1来表示确认已收到客户端的SYN段(Sequence number = J)。

3.客户端给服务器响应一个ACK=1段,该段中使 Acknowledgment number = K + 1来表示确认已收到服务器的SYN段(Sequence number = K)。

Q8.window size value、calculated window size和window size scaling factor之间有什么关系?

Window size value表示接收方期望接收的数据量,以字节为单位。

Calculated window size是根据网络状况和接收方的处理能力计算出来的窗口大小,以字节为单位。

Window size scaling factor是一个可选的TCP选项,它允许接收方扩大窗口大小的范围。

Calculated window size = Window size scaling factor * Window size value

二、ICMP与ping

现在按以下步骤做:

1.打开命令提示符;

2.打开Wireshark,开始捕捉数据包;

3.在命令提示符里输入:ping -n 10 gaia.cs.umass.edu(参数“-n 10”说明需要发送10 个ping 消息);

4.当ping程序终止后,停止用Wireshark捕获数据包,Wireshark 窗口应该和下图类似:

来看一下捕获的数据,在主窗口顶部的“应用显示过滤器”中输入“icmp”以用来过滤包。我们可以看到源端发出了10个查问包并收到了10个响应,可以对每一个响应源端计算往返时间(RTT),也不妨计算一下这10个包平均RTT。注意到包列表显示出20个包:源端发出的10个ping询问和收到的10个ping 响应。现在让我们展开由我们电脑发出的第一个包,在上图中包内容区提供了这个包的信息。我们看到包内的IP数据包有协议号01(这是ICMP 的协议号),这说明这个IP数据包承载的是一个ICMP包。然后我们展开ICMP协议部分的信息,我们观察到这个ICMP包的Type为8而Code为0,这称为一个ICMP“请求”包。

  5. 点击“文件”—“保存”选项将数据保存,命名为icmp-1。

通过观察所捕获数据包的内容回答以下问题:

Q9.ICMP属于五层模型中哪一层?

网络层

Q10.你主机的IP地址是什么?远程主机的IP地址是什么?

我主机的IP地址:192.168.1.2

远程主机的IP地址:128.119.245.12

Q11.为什么ICMP包没有源和目标端口号?

ICMP是Internet控制消息协议,用于在IP网络中传输控制信息和错误消息,是基于网络层的协议,而端口号是应用层的协议才有的,因此ICMP包没有源和目标端口号。

Q12.你主机发送ping请求包的TTL值是多少?都一样吗?

TTL值都一样,均为28

Q13.检查相应的ping回应包,ICMP type和code是多少?type的数字表示什么意思?

Ping回应包中

Type:0

Code:0

Type为0表示接收方回复Echo Request消息的响应消息。

Q14.TTL值代表什么含义?

TTL(Time To Live)值代表数据包在网络中可以经过的最大路由跳数。每经过一个路由器,TTL值就会减1,当TTL值为0时,数据包会被丢弃并返回一个错误消息。TTL值的作用是防止数据包在网络中无限循环。

Q15.为什么ping回应包的TTL时间不相同?

当ping请求到达目标主机时,它的TTL值可会因为经过不同数量的路由器而不同。此外,网络拓扑结构也可以影响TTL值的变化。如果某些路由器比其他路由器更远离源主机或目标主机,那么通过这些路由器的数据包的TTL值可能会更大。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
IP/ICMP协议分析实验主要是通过对IP(Internet Protocol)和ICMP(Internet Control Message Protocol)协议的深入研究和分析来探讨网络通信中的数据传输和控制机制。 在这个实验中,首先需要了解IP协议的基本功能和作用。IP协议是一种网络协议,它负责将数据包从源主机传输到目标主机。IP协议使用IP地址来标识网络中的主机和路由器,通过路由选择算法来确定数据包的最佳路径,并提供分片和组装等功能,以适应不同网络环境的需求。 接下来,实验需要对ICMP协议进行深入分析ICMP协议IP协议的一个补充,它主要用于网络设备之间的控制和错误消息的传递。ICMP协议可以用来检查主机是否可达、测量网络延迟和丢包率等网络性能指标,并提供错误报告和诊断功能。 在实验过程中,可以使用一些网络分析工具,如Wireshark等,来捕获和分析网络数据包。通过观察和解读数据包的头部信息,可以深入了解IP协议ICMP协议的工作原理和机制。 此外,实验中还可以进行一些实际操作,如发送ping命令来测试网络主机的可达性和延迟,以及模拟网络故障来观察ICMP错误消息的传递和处理过程。 通过这个实验,我们可以更加深入地理解和学习IP/ICMP协议网络通信中的重要性和作用。同时,实验还可以帮助我们掌握网络分析和故障诊断的技巧,提高网络管理和维护的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FchZero

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值