ICMP协议

前言:ICMP协议学习笔记

ICMP协议通过IP协议发送的,IP协议是一种无连接的,不可靠的数据包协议,属于网络层协议。

ICMP作为IP的上层协议在工作,如下图可以看出来

默认ping 发4个请求报文,接收到4个应答报文,总共8条

ICMP报文结构:

14个字节为以太网帧头
20个字节为IP帧头
然后就是ICMP信息头,再后面就是ICMP数据

如下图所示

ICMP信息头和ICMP数据如下:

请求包:

响应包:

关于 Time to live(生存时间):

标识IP数据包还能生存多久,根据操作系统不同,TTL默认值不同,每次经过一个三层设备如路由器,TTL就会减一,当TTL为0的时候,还是没有传送到目的主机,那么就自动丢弃该数据包。

如ping ubuntu系统,结果如下:

默认情况下:
Linux系统的TTL值为64或255
Windows NT/2000/XP系统的TTL值为128
Windows 98系统的TTL值为32
UNIX主机的TTL值为255

那么可以初步判断为对方系统linux,并且在网络传输中经过了13个路由,也不一定准确,可能目标是windows经过75个路由,同样是51

tracert跟踪路由命令tracert baidu.com

tracert原理:

对于第一个路由,IP协议的TTL字段属性设置为1,到第一个路由-1=0就回来了,因此获取到了第一跳路由信息。

对于第二个路由,TTL = 2,到第二个路由器TTL减到0,转发信息回主机获取。

对于第三个路由,TTL = 3,以此类推。

posted @   zpchcbd  阅读(363)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示