【计算机网络】IP协议与ICMP协议分析

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

一、实验目的

1、分析IP协议与IP数据报;

2、分析ICMP协议。

二、实验环境

与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE或其他浏览器。

三、预备知识

四、实验步骤

1、IP协议分析

(1)在命令提示符中,利用ipconfig -all查看自己主机的ip及MAC地址,查看自己的网关ip地址并记录。(物理地址 : C8-D9-D2-19-FC-4E,IPv4 地址: 10.0.132.12,默认网关: 10.0.132.254)

(2)运行wireshark抓包分析工具,在命令提示符输入”ping 网关地址”,命令运行结束后,停止抓包。在wireshark过滤栏中,设置过滤条件过滤从网关ip地址到本机ip地址的数据包,查看捕获数据包的ip协议分组结构,截图并记录下表

版本

首部长度

区分服务

总长度

4

20bit(5)

0x00(0)

60

标识

标记

片偏移

0x000085ca(34250)

0x00

0

生存时间

协议

首部校验和

255

01(ICMP)

0x000018ec[validation disabled]

源地址

目的地址

10.0.132.254

10.0.132.12

(3)根据捕获的数据包信息思考并回答以下问题

  • 首部长度是如何计算的?总长度是如何计算的?

IP首部固定部分有20字节,除非含有选项部分。故最小长度为20字节。首部长度是指IP首部占32bit字的数目,包括选项(如果有)。首部长度本身为4bit字段,能表示的二进制最大数为1111,换算成十进制为15,即首部最长为15个32bit长度,即最大长度60字节。

  • 生存时间取值是多少?表示什么含义?找到从202.115.32.43发送给本机ip的数据包,查看ip报头中的生存时间取值,与上表中的生存时间取值相比有什么变化?说明了什么?

生存时间(TTL)是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。例如,不正确的路由表可能导致包的无限循环。一个解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。

  • 协议字段表示什么?本实验中协议字段为什么是这个取值?

1.版本:即图中的“Version 4”,表示IP 的版本号,4比特

2.首部长度:即图中的“Header length”的这段,表示IP数据包头长度,4比特,IP数据包头最短为20字节,但是其长度可变,具体长度取决于可选项字段的长度。

3.优先级与服务类型:即图中“DIfferentiated services field”这段,用于表示数据包的优先级和服务类型,8比特。通过在数据包中划分一定的优先级,用于实现Qos(服务质量)的要求

4.总长度:即图中 的“Total length”这段,用以指示整个IP数据包的长度,16比特。最长为65535字节,包括包头和数据。

5.标识符:即图中的“Identification”这段,表示IP数据包的标识符,16比特。当IP对上层数据进行分片时,它将给所有的分片分配一组编号,然后将这些编号放入标识符字段中,保证分片不会被错误的重组。标识符字段用于标识一个数据包,以便接收节点可以重组被分片的数据包。

6.标志:即图中的“Flags”,标志字段,3比特,标志和分片一起被用来传递信息。例如,当数据包从一个以太网发送到另一个以太网时,指示对当前的包不能进行分片或者一个包被分片后指示在一系列的分片中最后一个分片是否已发出。

7.段偏移量:即图中的“fragment offset”,该字段用于表示段偏移量,13比特。段偏移量中包含的信息是在一个分片序列中如何将各分片重新连接起来。

8.TTL:即图中的“time to live”,该字段用于表示IP 数据包的生命周期,8比特。该字段包含的信息是防止一个数据包在网络中无限循环的转发下去。

TTL值对应于一个数据包通过路由器的数目。一个数据包没经过一个路由器,TTL将减去1.当TTL值为0时,数据包将被丢弃。

9.协议号:即图中的“Protocol”,协议字段,8比特。该字段用以指示在IP 数据包中封装的是哪个协议,是TCP 还是UDP,tcp的协议号是6,UDP的协议号是17 ,这里我们看到的是TCP 协议号是6。

10.首部校验和:即图中的“Header checksum status”,该字段用于表示校验和,16比特。校验和是16位的错误检测字段。目的主机和网络中的每个网关都要重新计算包头的校验和,就如同源主机所做的一样。如果数据没有被改动过,两个计算结果应该是一样的。

  1. 启动抓包,“ping 本网络广播地址”,停止抓包。截图并回答:ping命令是否有回应?从哪一台主机产生的回应?。

请求超时

  1. 启动抓包,“ping 127.0.0.1”,通过设置过滤器,尝试找到目的地址为127.0.0.1的数据包。截图并回答:是否能找到?为什么?

不能找到

因为默认情况下,Wireshark无法捕获127.0.0.1的报文

  1. 启动抓包,“ping 192.168.31.1 –l 3000”,通过设置过滤器,找到本主机发出的第一个3000字节的3个数据包分片,截图并记录下表

分片1

分片2

分片3

总长度

1500

1500

68

标识

0x00003d07

0x00003d07

0x00003d07

MF标志

Set

Set

Not set

DF标志

Not set

Not set

Not set

片偏移

0

1480

2960

根据捕获的数据包信息回答以下问题

  • 原始数据包是如何被划分成不同大小分片的?本机的MTU可能是多少?

分片和重新组装的过程对传输层是透明的,其原因是当IP数据报进行分片之后,只有当它到达目的站时,才可进行重新组装,且它是由目的端的IP层来完成的。分片之后的数据报根据需要也可以再次进行分片。IP分片和完整IP报文差不多拥有相同的IP头,ID域对于每个分片都是一致的,这样才能在重新组装的时候识别出来自同一个IP报文的分片。在IP头里面,16位识别号唯一记录了一个IP包的ID,具有同一个ID的IP分片将会重新组装;而13位片偏移则记录了某IP片相对整个包的位置;而这两个表中间的3位标志则标志着该分片后面是否还有新的分片。这三个标志就组成了IP分片的所有信息,接受方就可以利用这些信息对IP数据进行重新组织。

1500

  • 不同分片的标识字段取值是否一致?为什么?

是 

IP软件在存储器中维持一个计数器,每产生一个数据包,计数器就加1,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接服务,数据包不存在按序接收的问题。当数据包由于长度超过网络的MTU而必须分片时,同一个数据包被分成多个片,这些片的标识都一样,也就是数据包这个标识字段的值就被复制到所有的数据包分片的标识字段中。相同的标识字段的值使分片后的各数据包片最后能正确地重装成为原来的数据包。

  • 不同分片的MF和DF标志位取值有何不同?为什么?

DF=0表示可以分片,MF = 1表示后面还有分片,MF = 0表示后面没有分片

  • 每个分片的片偏移分别是多少?片偏移的含义是什么?

0 1480 2960

2、ICMP协议的分组结构

(1)查看上述抓包结果中的第3个分片的ICMP数据包,填写下表

类型

代码

检验和

标识符

序号

数据长度

IPv4

0

0xcfbd[correct]

1-256

17-4352

68

回答以下问题

  • 该ICMP报文属于哪种类型?

查询报文

  • 重新设置过滤条件,找到ICMP echo reply报文,其类型号是多少?

8

  • 3000字节的数据分成了3片,每个分片中都有IP头部信息吗?为什么?

有 ip头部信息出现在每个ip报文数据报中,用于指定ip通信的远端ip地址,目的端ip地址,指导ip分片和重组,以及部分的通信行为。

  • 3000字节的数据分成了3片,每个分片中都有ICMP头部信息吗?为什么?

有 ICMP是在IP数据报的内部被传输的,紧跟着IP报文的首部,如果IP首部有可选部分,则紧跟着可选部分

  1. 启动抓包,在命令提示符中输入“ping baidu.com -i 4”(节点数最多为4),运行结束后停止抓包,设置过滤器,显示ICMP报文,截图并回答
  • 观察TTL exceeded报文,该ICMP报文的类型号和代码分别是多少,代表的含义是什么?

类型号8 代码0

  • 观察TTL exceeded报文的ICMP数据部分,请问该数据部分包括了哪些部分?为什么这样?

源端口抑制报文路由器在处理报文时会有一个缓存队列。如果超过了最大缓存队列,将无法处理,从而丢弃报文,并向源发送一个ICMP源冷却报文(Type为4),告诉对方不在接收报文了。

超时报文

网络传输IP数据报的过程中,如果IP数据报的TTL值逐渐递减为0时,需要丢弃数据报,这时候路由器需要向源发送方发送ICMP超时报文(Type为11),code为0,表示传输过程中超时了.

参数错误报文(Parameter Problem Message)

当路由器或主机处理数据报文时,发现因为报文头的参数错误而不得不丢弃报文时,需要向源发送方发送参数错误报文(Type为12).当错误为0时,报文中的Pointer指出错误的字节位置

改变路由重定向(Redirect Message)

当路由收到IP数据报,发现数据报的目的地址在路由表中没有,他就会发ICMP重定向报文(Type为5)个源发送方,告诉它发送的地址不在

回送请求和回答

Type为8是请求回显报文(Echo);Type(0)是回显应答报文。请求回显包或回显应答报文属于查询报文,Ping就是用这种报文进行查询和应答的。

时间戳请求和回答

时间戳报文时用来记录收发以及传输时间的报文Originate Timestamp记录的是发送方发送报文的时刻。Receive Timestamp记录的是接收方收到的报文的时刻;Transmit Timestamp表示回显这最后发送报文的时刻。文章来源地址https://www.toymoban.com/news/detail-451767.html

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

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

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

相关文章

  • 计算机网络 实验2 IP协议分析

    了解IP报文格式,熟悉IP报文各个字段含义、长度 掌握基于tcpdump和wireshark软件进行数据包抓取和分析技术 硬件要求:阿里云云主机ECS 一台。 软件要求:Linux/ Windows 操作系统 3.1 tcpdump 基本用法 tcpdump是一个用于截取网络分组,并输出分组内容的工具。凭借强大的功能和灵活的

    2023年04月17日
    浏览(34)
  • 计算机网络-实验5:网络层-IP协议分析

    实验报告 IP协议分析与子网转发 实验目的:1、理解IP协议数据报格式,IP 数据包分片 ;                   2、了解路由器在不同子网之间转发数据报,配置静态路由。 在自己机器上的命令提示符窗口,执行Ping命令: Ping    网关IP地址。 截图显示ping命令执行结果。 在W

    2024年02月04日
    浏览(35)
  • 计算机网络-实验(4)IP 协议分析及路由跟踪

    - 我的计算机的IP地址是:172.23.10.52 - 马萨诸塞大学服务器的IP地址:128.119.245.12 - ICMP(1) - IP头部中有: 20 bits - IP数据报的有效载荷中有: 40 bits - 有效载荷字节数是除了IP的基本报头以外的其他部分的总长度,IP数据总共有 60 bits ,而IP头部有 20 bits ,因此其有效载荷字节数为 40 bits

    2024年02月06日
    浏览(27)
  • 《计算机网络—自顶向下方法》 Wireshark实验(六):IP 协议分析

            IP 协议(Internet Protocol),又译为网际协议或互联网协议,是用在 TCP/IP 协议簇中的网络层协议。主要功能是无连接数据报传送、数据报路由选择和差错控制。IP 协议是 TCP/IP 协议族的核心协议,其主要包含两个方面: IP 头部信息。IP 头部信息出现在每个 IP 数据报

    2024年02月09日
    浏览(32)
  • 计算机网络实验-路由器IP地址配置及直连网络和ARP协议分析

    一、实验目的 (1)理解IP地址。 (2)掌握路由器端口IP地址的配置方法。 (3)理解路由器的直连网络。 (4)理解ARP协议的作用。 (5)理解ARP协议的工作方式。 二、实验仪器 1、装有Cisco Packet Tracer的Windows10计算机 三、实验原理(30%) IP地址是网络层中使用的地址,不管网络层下面是什么网

    2024年02月09日
    浏览(91)
  • 计算机网络 day6 arp病毒 - ICMP协议 - ping命令 - Linux手工配置IP地址

    目录 arp协议 arp病毒欺骗 arp病毒的运行原理 arp病毒产生的后果: 解决方法: ICMP协议 ICMP用在哪里?     ICMP协议数据的封装过程 ​编辑 为什么icmp协议封装好数据后,还要加一个ip包头,再使用ip协议再次进行封装,也就是在网络层封装了2次?  2种类型的ICMP数据包 1、ec

    2024年02月16日
    浏览(42)
  • 【计算机网络】网络层协议 -- ICMP协议

    ICMP(Internet Control Message Protocol,控制报文协议),用于在IP主机、路由器直接传递控制消息,是一个TCP/IP协议。 ICMP协议的定位 网络层的最典型的协议是IP协议,但是除了IP协议之外,还有ICMP协议和IGMP协议。 ICMP、IGMP和IP协议虽然都属于网络层的协议,但是ICMP协议和IGMP协议属

    2024年02月14日
    浏览(31)
  • 【计算机网络】ICMP协议

    实验目的 应用所学知识: 1.熟悉ICMP的协议格式。 2.理解ping的运作机制。 3.理解traceroute的运作机制。 4.理解VPN的运作机制。 实验步骤与结果 1.任务一: 使用ping命令向www.sdu.edu.cn发送消息: 在wireshark中捕获到数据包: (1) 你所使用的主机的IP地址是多少?目标主机的IP地址是多

    2023年04月16日
    浏览(38)
  • 计算机网络实验(二):Wireshark网络协议分析

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

    2024年01月15日
    浏览(36)
  • 计算机网络实验报告 实验4 TCP协议分析

    了解运输层TCP协议基本概念、报文结构 分析TCP报文头部 分析TCP连接建立过程、TCP连接释放 掌握利用tcpdump和wireshark进行tcp协议分析技术。 硬件要求:阿里云云主机ECS 一台。 软件要求:Linux/ Windows 操作系统 TCP是面向连接的、在不可靠的互联网络上提供可靠的端到端通信。它

    2024年02月06日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包