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时,报文可以顺利发送到目的地,我们也就能顺利得到相应应答。
这里写图片描述

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

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

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


相关推荐

  • stringbuild和stringbuffer的区别_string和stringbuilder的区别

    stringbuild和stringbuffer的区别_string和stringbuilder的区别JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据.这个String类提供了数值不可改变的字符串.而这个StringBuffer类提供的字符串进行修改.当你知道字符数据要改变的时候你就可以使用 StringBuffer.典型地,你可以使用 StringBuffers来动态构造字符数据.一、String的使用方法:

    2022年9月21日
    0
  • Java就业前景和薪资状况,究竟怎么样呢?

    Java就业前景和薪资状况,究竟怎么样呢?在未来5年内,软件人才的需求将远大于供给。Java软件工程师是目前国际高端计算机领域就业薪资较高的一类软件工程师。看到这里有人问了:那Java的现实就业前景和薪资状况,究竟怎么样呢?1、Java工程师就业前景在美国、加拿大、澳大利亚、新加坡等发达国家和中等发达国家,Java软件工程师年薪均在4—15万美金,而在国内,Java软件工程师也有极好的工作机会和很高的薪水。一般情况下的Java软件工程师是分四个等级,从软件技术员到助理软件工程师,再到软件工程师,最后成为高级软件工程师。根据IDC的统计数字,

    2022年7月8日
    25
  • spring data jpa 深入浅出的理解「建议收藏」

    spring data jpa 深入浅出的理解「建议收藏」文章来源于:https://www.cnblogs.com/cmfwm/p/8109433.html这是一篇写得很不错的关于spring-data-jpa的文章,转载到此,方便大家学习交流.本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求。这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spri…

    2022年5月5日
    38
  • java逻辑删除代码_MybatisPlus实现逻辑删除功能

    java逻辑删除代码_MybatisPlus实现逻辑删除功能逻辑删除你有没有见过某些网站进行一些删除操作之后,你看不到记录了但是管理员却能够查看到。这里就运用到了逻辑删除。什么是逻辑删除?逻辑删除的本质是修改操作,所谓的逻辑删除其实并不是真正的删除,而是在表中将对应的是否删除标识(deleted)或者说是状态字段(status)做修改操作。比如0是未删除,1是删除。在逻辑上数据是被删除的,但数据本身依然存在库中。对应的SQL语句:updateusers…

    2022年6月2日
    114
  • 排序算法比较

    排序算法比较利用随机函数产生30000个随机整数,利用插入排序、起泡排序、选择排序、快速排序、堆排序、归并排序等排序方法进行排序,并统计每一种排序上机所花费的时间。提示:用顺序存储结构。//排序算法比较#i

    2022年7月4日
    22
  • ZOJ 3829 贪心 思维题

    ZOJ 3829 贪心 思维题

    2022年1月23日
    52

发表回复

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

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