美文网首页网络already
【icmp】用 netstat 统计icmp报文收发状况

【icmp】用 netstat 统计icmp报文收发状况

作者: Bogon | 来源:发表于2022-06-12 00:29 被阅读0次

    一、ICMP简介

    互联网控制消息协议(英语:Internet Control Message Protocol,缩写:ICMP)是互联网协议族的核心协议之一。它用于网际协议(IP)中发送控制消息,提供可能发生在通信环境中的各种问题反馈。
    通过这些信息,使管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。

    ICMP 依靠IP来完成它的任务,它是IP的主要部分。
    它与传输协议(如TCP和UDP)显著不同:它一般不用于在两点间传输数据。它通常不由网络程序直接使用,除了 ping 和 traceroute 这两个特别的例子。
    IPv4中的ICMP被称作ICMPv4,IPv6中的ICMP则被称作ICMPv6。

    虽然ICMP是包含在IP数据包中的,但是对ICMP消息通常会特殊处理,会和一般IP数据包的处理不同,而不是作为IP的一个子协议来处理。在很多时候,需要去查看ICMP消息的内容,然后发送适当的错误消息到那个原来产生IP数据包的程序,即那个导致ICMP消息被发送的IP数据包。

    很多常用的工具是基于ICMP消息的。
    traceroute 是通过发送包含有特殊的TTL的包,然后接收ICMP超时消息和目标不可达消息来实现的。
    ping 则是用ICMP的"Echo request"(类别代码:8)和"Echo reply"(类别代码:0)消息来实现的。

    二、 从 netstat 看icmp报文收发情况

    # netstat  -s
    
    Icmp:
        14907358 ICMP messages received
        797 input ICMP message failed.
        ICMP input histogram:
            destination unreachable: 1740
            timeout in transit: 506
            echo requests: 14904857
            echo replies: 228
            timestamp request: 27
        14918071 ICMP messages sent
        0 ICMP messages failed
        ICMP output histogram:
            destination unreachable: 4815
            echo request: 8209
            echo replies: 14904857
            timestamp replies: 27
    IcmpMsg:
            InType0: 228
            InType3: 1740
            InType8: 14904857
            InType11: 506
            InType13: 27
            OutType0: 14904857
            OutType3: 4815
            OutType8: 8209
            OutType14: 27
            OutType69: 163
    
    
    image.png

    三、 ICMP报文结构

    image.png

    ICMP 报文类型

    一类是 查询类报文 :主要用于信息的查询和采集,比如采集传输路径上的每个路由器都是谁,本次传输的报文是否达到目的地等。

    另一类是 差错诊断类报文 :主要用于诊断网络故障,比如传输报文被丢弃的原因是什么等。

    image.png image.png

    四、参考

    互联网控制消息协议wiki
    https://zh.wikipedia.org/wiki/%E4%BA%92%E8%81%94%E7%BD%91%E6%8E%A7%E5%88%B6%E6%B6%88%E6%81%AF%E5%8D%8F%E8%AE%AE
    https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol

    互联网协议 — ICMP 互联网控制消息协议
    https://blog.51cto.com/u_15301988/5133364

    ICMP控制报文协议
    https://klose911.github.io/html/tii/icmp.html

    什么是互联网控制消息协议(ICMP)?
    https://www.cloudflare.com/zh-cn/learning/ddos/glossary/internet-control-message-protocol-icmp/

    相关文章

      网友评论

        本文标题:【icmp】用 netstat 统计icmp报文收发状况

        本文链接:https://www.haomeiwen.com/subject/vyxlmrtx.html