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

  • 34
    点赞
  • 134
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姜亚轲

你花钱的样子真帅

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值