Wireshark抓包——ICMP协议分析

Wireshark抓包——ICMP协议分析内容:使用Wireshark抓包,分析较简单的数据包。环境:Windows7,Wireshark。ping是用来测试网络连通性的命令。一旦发出ping命令,主机会发出连续的测试数据包到网络中,在通常的情况下,主机会收到回应数据包,ping采用的是ICMP协议。例1:对pingwww.baidu.com进行抓包和分析,过程如下:第一步,确定目标地址,选择www.b…

大家好,又见面了,我是你们的朋友全栈君。

内容:使用Wireshark抓包,分析较简单的数据包。

环境:Windows 7,Wireshark

ping是用来测试网络连通性的命令。

一旦发出ping命令,主机会发出连续的测试数据包到网络中,在通常的情况下,主机会收到回应数据包,ping采用的是ICMP协议。

例1:对ping www.baidu.com进行抓包和分析,过程如下:

第一步,确定目标地址,选择www.baidu.com作为目标地址。

第二歩,配置过滤器:针对协议进行过滤设置,ping使用的是ICMP协议,抓包前使用捕捉过滤器,过滤设置为icmp。

Wireshark抓包——ICMP协议分析

第三步,启动抓包:点击【start】开始抓包,在命令提示符下键入ping www.baidu.com。

Wireshark抓包——ICMP协议分析

第四步,停止抓包后,截取数据。

Wireshark抓包——ICMP协议分析

可以看到windows下ping默认执行四次ping,因此,Wireshark抓到8个ICMP查询报文,具体看一次请求和应答过程。

第五步,分析数据包,选取一个数据包进行分析。

    1.报文由IP首部和ICMP报文组成。

       蓝色部分为IP首部,共有20字节。

Wireshark抓包——ICMP协议分析

       蓝色部分为ICMP报文,共有40字节。

Wireshark抓包——ICMP协议分析

     2.Type和Code

        通过查询ICMP报文类型可知,Type为8的包为回射请求(Ping请求)

Wireshark抓包——ICMP协议分析

       使用相同的方法,查看Echo (ping) reply包,得到type类型为0

       通过查询ICMP报文类型可知,Type为0的包为回射应答(Ping应答)

Wireshark抓包——ICMP协议分析

例2:对ping 192.168.100.157进行抓包和分析,过程如下:

第一步,确定目标地址,选择192.168.100.157作为目标地址。

第二歩,配置过滤器:针对协议进行过滤设置,ping使用的是ICMP协议,抓包前使用捕捉过滤器,过滤设置为icmp。

Wireshark抓包——ICMP协议分析

第三步,启动抓包:点击【start】开始抓包,在命令提示符下键入ping 192.168.100.157。

Wireshark抓包——ICMP协议分析

第四步,停止抓包后,截取数据。

Wireshark抓包——ICMP协议分析

第五步,分析数据包,选取一个数据包进行分析。

每一个包都是通过数据链路层DLC协议,IP协议和ICMP协议共三层协议的封装。DLC协议的目的和源地址是MAC地址,IP协议的目的和源地址是IP地址,这层主要负责将上层收到的信息发送出去,而ICMP协议主要是Type和Code来识别,“Type:8,Code:0”表示报文类型为诊断报文的请求测试包,“Type:0,Code:0”表示报文类型为诊断报文类型请正常的包。ICMP提供多种类型的消息为源端节点提供网络额故障信息反馈,报文类型可归纳如下:

(1)诊断报文(类型:8,代码0;类型:0代码:0);

(2)目的不可达报文(类型:3,代码0-15);

(3)重定向报文(类型:5,代码:0–4);

(4)超时报文(类型:11,代码:0–1);

(5)信息报文(类型:12–18)。

1)目的地址和源地址:

Ipv6:

Wireshark抓包——ICMP协议分析

Ipv4

Wireshark抓包——ICMP协议分析

2)Type和Code:

Wireshark抓包——ICMP协议分析

3)Data:

Wireshark抓包——ICMP协议分析

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157923.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab初学者入门_什么一闻就能睡2小时

    matlab初学者入门_什么一闻就能睡2小时目录零基础入门matlab前言1.界面认识2.变量命名3.数据类型4.元胞数组和结构体5.矩阵操作6.程序结构7.基本绘图操作7.1.二维平面绘图7.2.三维立体绘图8.图形的保存与导出9.补充零基础入门matlab前言这篇文章很适合MATLAB的入门学习,这也是我在入门时学习的笔记。虽然说是”零基础“入门matlab,但是如果有其它编程语言基础的话,学起来自然会更轻松。特别鸣谢:B站UP主——爱研究的小阿楠1.界面认识2.变量命名注:Matlab中的注释%%独占一行的注释(有上下横线

    2025年12月6日
    2
  • Clickhouse修改字段类型[通俗易懂]

    Clickhouse修改字段类型[通俗易懂]Clickhouse的列操作ALTERTABLE[db].name[ONCLUSTERcluster]ADD|DROP|CLEAR|COMMENT|MODIFYCOLUMN…在查询中,指定一个或多个逗号分隔操作的列表。每个操作都是对列的操作。支持以下操作:ADDCOLUMN—Addsanewcolumntothetable. DROPCOLUMN—Deletesthecolumn. CLEARCOLUMN—Resetscolum…

    2025年9月22日
    6
  • 全源最短路径问题采用Floyd算法进行求解_floyd算法求最短路径是贪心吗

    全源最短路径问题采用Floyd算法进行求解_floyd算法求最短路径是贪心吗前言在图论中,在寻路最短路径中除了Dijkstra算法以外,还有Floyd算法也是非常经典,然而两种算法还是有区别的,Floyd主要计算多源最短路径。在单源正权值最短路径,我们会用Dijkstra算法来求最短路径,并且算法的思想很简单—贪心算法:每次确定最短路径的一个点然后维护(更新)这个点周围点的距离加入预选队列,等待下一次的抛出确定。虽然思想很简单,实现起来是非常复杂的,我们需要邻接矩阵(表)储存长度,需要优先队列(或者每次都比较)维护一个预选点的集合。还要用一个boolean数组标记是否已经确定、

    2025年8月12日
    3
  • MySQL中的注释符号的使用

    MySQL中的注释符号的使用原文地址 http paulfzm iteye com blog 前言在学习 MySQL 的过程中 因为目前接触的语法简单 所以实在没有想到过加入注释 在写博客使用 Markdown 时 突然想用注释语句 所以便百度了一下 引用了这一篇转载博客 MySQL 中的注释符号有三种 注意事项 其中 表示注释的文本内容 在使用 注释

    2025年9月5日
    2
  • Python的包管理工具Pip

    Python的包管理工具Pip

    2021年12月10日
    338
  • python语法(二)——截取字符串的方法详解

    python语法(二)——截取字符串的方法详解下面是基于python2+版本;python3+print输出的内容要加括号str=’0123456789’printstr[0:3]#截取第一位到第三位的字符printstr[:]#截取字符串的全部字符printstr[6:]#截取第七个字符到结尾printstr[:-3]#截取从头开始到倒数第三个字符之前printstr[2]#截取第三个字符printstr[-1]…

    2022年5月10日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号