wireshark中抓取ICMP报文「建议收藏」

wireshark中抓取ICMP报文「建议收藏」为了更有效地转发IP数据报和提高交付成功的机会,在网络层使用了网际控制报文协议ICMP(InternetControlMessageProtocol)[RFC792]。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文…

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

为了更有效地转发IP数据报和提高交付成功的机会,在网络层使用了网际控制报文协议ICMP(Internet Control Message Protocol)[RFC 792]。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。ICMP报文作为IP层数据报的数据,加上数据报的首部,组成数据报发送出去。 ICMP报文的种类有两种,即ICMP差错报告报文和ICMP询问报文。

大家先了解一下几种常见的ICMP报文类型:
这里写图片描述

我们现在就来抓取报文
打开dos窗口,在里面输入ping mail.sina.com.cn:
这里写图片描述

打开wireshark,在filter栏中输入 ip.addr ==192.168.199.222(自己的IP地址) and (icmp or dns),敲回车。
再来看wireshark抓到的一堆报文:
这里写图片描述
可以看到我们抓到了八个ICMP报文,向对方主机询问(request)四次同时接收到四次应答(reply),这样加起来一共就有八个。而其上方的DNS报文起到了域名解析的作用,通过域名找到其IP地址,方便我们用户访问互联网。

Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

我们看看发出的ICMP报文都经过了哪些路由器,再次打开dos窗口,输入 tracert mail.sina.com.cn
这里写图片描述

在filter栏中输入 icmp
这里写图片描述

抓到的报文有点多哈,我们先看顺数第一个和第二个,第一个ICMP的报文type类型是8,说明它为询问报文,而第二个报文type类型为11,说明超时了。
这里写图片描述
还有需要注意的是,我们主机发送的报文所设置的生存时间(TTL)在从1开始不断地变大,因为TTL每经过一个路由器的时候会被减1,当TTL等于0的时候就会被抛弃。所以一直这样下去,总有一次我们发送最后一个数据报刚刚到达目的主机时,数据报的TTL是1,这时候我们就不减1了。
从刚才的dos窗口可以看到,当我们的TTL达到13时,报文可以顺利发送到目的地,我们也就能顺利得到相应应答。
这里写图片描述

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/131968.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • javaScript中创建数组的3种方式

    javaScript中创建数组的3种方式javaScript中创建数组的3种方式,直接上代码和截图

  • 将数据归一化到任意区间范围的方法

    将数据归一化到任意区间范围的方法将数据归一化到任意区间范围的方法一般常见的数据归一化,是归一化到0~1,或者-1~1的区间,但在一些特殊场合下,我们需要根据实际情况归一化到其他任意区间,方法是:将数据归一化到[a,b]区间范围的方法:(1)首先找到样本数据Y的最小值Min及最大值Max(2)计算系数为:k=(b-a)/(Max-Min)(3)得到归一化到[a,b]区间的数据:norY=a+k(Y-Min)Matla

  • 两种方式实现java Md5加密

    两种方式实现java Md5加密一、加盐方式/***生成32位md5码*@parampassword*@return*/publicstaticStringmd5Password(Stringpassword){try{//得到一个信息摘要器MessageDigestdigest=

  • 服务器开机显示0x000000ca,使用电脑出现蓝屏代码0x000000CA故障该如何解决?[通俗易懂]

    服务器开机显示0x000000ca,使用电脑出现蓝屏代码0x000000CA故障该如何解决?[通俗易懂]最近有用户反应在使用电脑的时候出现了蓝屏,蓝屏代码0x000000CA,导致电脑无法使用,该如何去解决这种问题对于很多用户还真是束手无策,下面来看看豆豆解决这种故障问题吧。电脑出现蓝屏代码0x000000CA故障解决方法:1经查,这个蓝屏出错代码:0x000000ca原因:操作系统无法执行%1。2原因之一:如果在计算机上的高级配置和电源接口(ACPI)BIOS返回Microsoft…

  • 使用DatagramSocket发送、接收数据(Socket之UDP套接字)

    使用DatagramSocket发送、接收数据(Socket之UDP套接字)http://book.51cto.com/art/201203/322540.htm17.4.2使用DatagramSocket发送、接收数据(1)Java使用DatagramSocket代表UDP协议的Socket,DatagramSocket本身只是码头,不维护状态,不能产生IO流,它的唯一作用就是接收和发送数据报,Java使用DatagramPacket来代表数据报,Datagr

  • python 替换字符串中的元素「建议收藏」

    python 替换字符串中的元素「建议收藏」python替换字符串中的元素defstr_replace(old_str,old,new):   “””   在old_str字符串中,把old替换成new   :paramold_str:原字符串   :paramold:被替换的字符   :paramnew:替换后的字符   :r

发表回复

您的电子邮箱地址不会被公开。

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