2019独角兽企业重金招聘Python工程师标准>>>

ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用

ICMP为TCP/IP协议簇中的成员,工作在网络层,作用是在主机和路由器之间传递控制信息.

上文中Ping命令完成DNS域名解析任务后,随即利用得到的第一条主机资源记录(A记录)中的IP地址发送ICMP请求报文:

图中可以看到ICMP报文格式:

Type(类型)以及Code(代码)合起来说明ICMP报文类型.

--这里ICMP的类型是:请求(0x8)表示ping请求; 响应(0x0)表示ping响应

Checksum(校验和)包含整个ICMP报文数据的校验.

ID(标识符)和Seq(序列号)由发送端任意设置,响应报文返回相同的值,用于配对请求和响应.

--比如,在这个例子中,ID字段和Seq有两种表示方式:大端和小端,在请求和响应报文中,ID值始终不变;但是每发送一次请求,Seq就被加一.

随后的Data数据段长度不固定,ping命令的发送的Echo请求数据是32bytes的a~i字符序列,且没有终止0,

刚好印证了为什么Ping时会显示: "Ping xxx 具有32字节的数据:" 这里32字节的数据就是a~i字符序列.


ICMP响应报文中:

Type值是0x0,表示 ping reply,这一点显而易见的.

ID和Seq值和请求报文中的相同.

Data也是相同的.

在接收到响应之后同时计算出报文往返的时间,这里是Response time: 47.360ms

这样就完成了一次Ping


之后的三个Ping其实是重复上述操作,只不过Seq序号字段要自增.

今天就到这里,欢迎大家学习交流,其实我更希望得到大家的意见,谢谢点赞~

转载于:https://my.oschina.net/ybusad/blog/291237

利用WireShark分析由Ping产生的Internet 控制报文协议(ICMP)相关推荐

  1. Internet控制报文协议ICMP

    我们知道,互联网的网络层提供的是"best effort"尽力而为的服务,IP协议本身并没有任何可以帮助发方测试连接性能或者了解线路故障的机制.但是对于故障和错误的处理,是必不可少 ...

  2. C#Ping命令【因特网控制消息协议ICMP】

    ICMP协议 ICMP(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议簇的一个子协议,用于在IP主机.路由器之间传递控制消息.控 ...

  3. 《TCP/IP详解卷1:协议》第6章 ICMP:Internet控制报文协议-读书笔记

    章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...

  4. ICMP:Internet控制报文协议

    ICMP:Internet控制报文协议.是IP层的组成部分.传递差错报文或其他信息. ICMP报文被封装在IP数据报内部: 详细格式例如以下所看到的: 个字段含义例如以下: 8位类型. 表示该ICMP ...

  5. 禁止服务器的协议,电脑怎么阻止Internet控制消息协议ICMP?

    电脑完全阻止ICMP绝不是一个好主意,因为它是一个非常有用的协议.ping请求(回显)和超时数据包(由traceroute请求返回)等故障排除工具最好不要单独使用,否则解决简单的网络问题将是未来的噩梦 ...

  6. ICMP Internet控制报文协议(四)

    (参考文献)TCP/IP详解,卷1:协议 ICMP经常被认为是IP层的一个组成部分.它传递差错报文以及其他需要注意的信息.ICMP报文通常被IP层或更高层协议(TCP和UDP)使用. ICMP报文是在 ...

  7. 网际控制报文协议ICMP(Internet Control Message Protocol)(详解)

    一.回顾下TCP/IP协议栈 二.ICMP(Internet Control Message Protocol)协议概述 三.ICMP协议的组成 四.ICMP差错报告报文(5种): 终点不可达:当路由 ...

  8. ICMP Internet控制报文协议

    ICMP报文主要有两大功能:查询报文和差错报文. 转载于:https://www.cnblogs.com/gardenofhu/p/8027431.html

  9. ICMP(Internet Control Message Protocol)网际控制报文协议初识

    ICMP是(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息.控制消息是指网 ...

最新文章

  1. Python List 列表list()方法
  2. 【deeplab】Semantic Image Segmentation with Deep Convolutional Nets and Fully
  3. uni app 调用网络打印机_前端工程师 | 原生小程序坑点:uni-app到底好用在哪里?...
  4. mysql安装 ---简单实用
  5. hive按照某个字段分组,然后获取每个分组中最新的n条数据
  6. Android中适用于ListView、GridView等组件的通用Adapter
  7. 附录:更多字典操作命令
  8. 哪些技能面试经常被问,但实际开发很少用上?
  9. python读取cad图纸_DWG文件信息的读取
  10. 3月19日学习内容整理:redis
  11. 数据库操作update,和insert为什么会有int的返回值
  12. 【渝粤教育】国家开放大学2018年春季 3722-21T燃气输配工程 参考试题
  13. mysql数据脱敏_数据脱敏|静态脱敏|动态脱敏—数据库脱敏_产品
  14. 值得看看的艺术影片 (转)
  15. /sys/kernel/debug及debugfs
  16. 关于日程权限、黄历App功能使用流程
  17. 投资学U09 资本资产定价模型 习题笔记
  18. Promsql语法用法
  19. 0.96寸OLED显示屏驱动手册(SSD1306)
  20. html网页添加到桌面,那个浏览器可以把网页添加到桌面

热门文章

  1. oracle 数据立方_大数据之数据仓库分层
  2. python字符串截取_Python-变量-No3
  3. rhino4.0安装教程
  4. 北斗导航 | NED(北东地)转ECEF(地心地固)或ECEF转NED(Matlab源代码)
  5. oracle中国授权机构查询,oracle授权查询
  6. c语言邻接表的构建_C++实现有向图邻接表的构建
  7. 数字语音信号处理学习笔记——语音信号的同态处理(1)
  8. Linux学习笔记(二)|常用命令
  9. 香帅的北大金融学课笔记16 -- 公司决策
  10. 操作系统设计与实现第3版笔记与minix3心得(2)-minix3内核调用