哪个网站有免费的模板,延吉网站制作,博客园wordpress模板,一般人公司注册费用「作者主页」#xff1a;士别三日wyx 「作者简介」#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 分析目的#xff1a;分析ICMP协议的数据格式、报文… 「作者主页」士别三日wyx 「作者简介」CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 分析目的分析ICMP协议的数据格式、报文类型及作用。 操作系统Windows 10 企业版 抓包工具Wireshark 4.0.8 第一步捕获ICMP数据包第二步分析报文类型第三步分析数据报格式 第一步捕获ICMP数据包 ping 命令底层使用了ICMP协议使用 ping 命令就可以观察到ICMP的「工作流程」。
1Wireshark「开启抓包」后 ping 一下我们的网关触发ICMP协议。
cmd中执行命令ping 192.168.2.1 -n 1 2Wireshark的「显示过滤器」中过滤 icmp
抓到了两个包上面是ICMP「请求包」下面是ICMP「响应包」。因为我只Ping了一次所有只抓了一对包这样分析起来比较方便。 3找到ICMP的数据包
从上往下分别是这个数据包中物理层、数据链路层、网络层、应用层使用的协议最下面的 Internet Control Message Protocol「首字母」连起来是ICMP就是我们要找的ICMP协议其他协议也是这种形式。 第二步分析报文类型
ICMP协议通过的 Type 和 Code 两个字段来表示「报文类型」接收方根据报文类型执行对应的操作以此来达到「控制」的效果。
因此这里我们先看 Type 和 Code 这两个字段。
1先看第一个包重点看我圈中的字段
Type字段标明了报文的类型 request 表示这是一个「请求」报文。Code字段标明了报文的代码。Type8Code0表示这是一个回显请求Ping请求 2再看第二个包重点看我圈中的字段
Type字段标明了报文的类型 reply 表示这是一个「响应」报文。Code字段标明了报文的代码。Type0Code0表示这是一个回显应答Ping应答 第三步分析数据报格式
接下来看看ICMP的报文数据格式除了刚才讲的类型Type和代码Code还有其他字段。 1「校验和」是 Checksum 字段用来验证报文是否有误
Checksum Status Good表示校验状态是良好的报文无误 2ICMP的响应中会携带「响应时间」Response time Ping命令返回的响应时间就是从这里获取的 3发送了多少「字节」也可以在Data字段看到 4BE 和 LE 这四个字段用来对应请求和响应的关系。
请求和响应中这四个字段都是一样的用来标识这次请求。比如我给你发个1你给我回个1我就知道我们俩是同一个请求如果你给我会个2我就知道我们不是同一个请求你是回给别人的你不是会给我的。 平时使用我们主要看Type 和 Code 这两个字段知道ICMP的报文类型即可。
ICMP的报文类型有很多详情可以参考我的另一篇文章ICMP协议的功能及实现原理ICMP协议报文类型