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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Map与JSONObject对象相互转换记录「建议收藏」

    Map与JSONObject对象相互转换记录「建议收藏」业务背景:因为要嵌套一些数据报表,页面点击菜单直接进行url访问,因访问受限要修改url权限,返回数据是JSONObject,防止出现异常,后台进行了一些Map于JSONObject的转换,记录下来配置得json文件格式:{“redashLinks”:[{“name”:”在盈利表”,”url”:”http://i…

    2022年10月5日
    4
  • sql查询数据库中所有表名_使用权和所有权的区别

    sql查询数据库中所有表名_使用权和所有权的区别MySQL中查询所有数据库名和表名;SQLServer中查询所有数据库名和表名;Oracle中查询所有数据库名和表名;

    2022年9月26日
    1
  • NET Framework 类库 OleDbCommand 成员

    NET Framework 类库 OleDbCommand 成员公共构造函数OleDbCommand构造函数已重载。初始化OleDbCommand类的新实例。公共属性CommandText获取或设置要对数据源执行的SQL

    2022年5月19日
    39
  • 成本=固定成本+可变成本_可避免固定成本是机会成本吗

    成本=固定成本+可变成本_可避免固定成本是机会成本吗1、固定成本和可变成本根据成本费用与产量的关系可将总成本费用分为:可变成本;是指随着产品产量的增减而成正比例变化的各项费用。固定成本:是指不随产品产量的变化的各项成本费用。半可变(或半固定)成本:有些成本费用属于半可变成本,如不能熄灭的工业炉的燃料费等。工资、营业费用和流动资金利息等也都可能既有可变因素,又有固定因素。必要时需将半可变(或半固定)成进一步分解为可变成本和…

    2025年8月20日
    2
  • spring 注解验证@NotNull等使用方法

    spring 注解验证@NotNull等使用方法常用标签@Null被注释的元素必须为null@NotNull被注释的元素不能为null@AssertTrue被注释的元素必须为true@AssertFalse被注释的元素必须为false@Min(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值@Max(value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值@DecimalMin(

    2022年6月13日
    38
  • html背景图片如何自动平铺,html怎么设置背景图片全屏平铺?

    html背景图片如何自动平铺,html怎么设置背景图片全屏平铺?html怎么设置背景图片全屏平铺?1、新建一个html文档。2、设置一下HTML的框架,然后把图片设置在同一个文件夹里面。3、加入,这样可以有样式设置。4、因为背景设置在主体,所以还要定义为body{}。5、background-image:url(图片),这个是添加图片的意思。6、然后我们需要加入background-repeat:repeat-x;这个时候就会横向平铺。7、background…

    2022年5月15日
    66

发表回复

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

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