IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络实验Wireshark ------>IP学习 -> 正文阅读

[网络协议]计算机网络实验Wireshark ------>IP学习

我们将研究 IP 协议,重点关注 IP 数据报(IP datagram)。我们将通过分析在执行 traceroute 程序发送和接收的一系列 IP 数据报的过程来完成这个实验

traceroute 通过
首先发送一个或多个带有生存时间(TTL: Time-to-Live)字段设置为 1 的数据报到目的地;
然后发送一个或多个带有生存时间(TTL: Time-to-Live)字段设置为 2 的数据报到同一个目的地;
然后发送一个或多个带有生存时间(TTL: Time-to-Live)字段设置为 3 的数据报到同一个目的地,
以此类推,直到目的地真正收到此数据报为止。
路由器必须将每个接收到的数据报中的 TTL 减 1。如果 TTL 达到 0,路由器会向来源主机发送 ICMP 消息。由于这种行为,TTL 为 1 的数据报(由执行 traceroute 的主机发送)将导致距发送方一次跳跃的路由器,将 ICMP TTL 超出的消息发送回发送方主机;
以TTL 为 2 发送的数据报将导致距离为两次跳跃的路由器,将 ICMP 消息发送回发送方主机;
以 TTL 为 3 发送的数据报将导致距离为两次跳跃的路由器,将 ICMP 消息发送回发送方主机,等等。
以这种方式,执行 traceroute 的主机可通过查看包含ICMP TTL 超出消息的数据报中的来源 IP 地址来获知其自身与目的地 X 之间的路由器的身份。

如果我们使用命令行的方式发送ICMP请求,我们将不能控制ICMP 消息的数据大小,那么就可以使用下面这个软件: pingplotter
安装好之后,打开该软件:
在这里插入图片描述
我们向www.baidu.com发送ICMP报文,
在这里插入图片描述
等到count为 3的时候右键点击 Pause
在这里插入图片描述
这就是一次完整的使用示例。

然后我们将WireShark启动再向www.baidu.com发送ICMP报文,在过滤器上输入 ICMP,表示我们只查看捕获的ICMP数据包。

在这里插入图片描述

如图,我们发现,每一次的ICMP请求的TTL都加了1,和ICMP定义是一样的。第一个数据包的详细情况如下:
在这里插入图片描述
可以看到,IP的总长度为56字节(Total Length) ,这是因为我们发送的ICMP包默认就是56个字节,现在去修改一下:
在这里插入图片描述
在这里插入图片描述
我们将这里的56字节改成 2000字节,再观察一下ICMP数据包的IP情况。
在这里插入图片描述
可以看到,这里一个ICMP包就变成了两个IP数据报,一个负载了1480字节,一个负载500字节。这就是IP的分片机制。
为什么是1980而不是2000,这是因为我们发送的ICMP数据包本身就是 IP首部加负载数据,第一次的56个字节,一个IP分片能装得下所以就可以直接装,那时的总大小是56个字节,说明负载的数据是36个字节,所以这里也应该是 2000-20=1980字节的负载数据。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 16:04:59  更:2021-12-11 16:05:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/5 7:15:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码