草庐IT

HCIA-ICMP

小白 2023-03-28 原文

ICMP

  • ICMP用来传递差错控制,查询等信息。
  • ICMP Echo消息常用于诊断源和目的之间的网络连通性,同时还可以提供其他信息,如报文往返时间等。
  • 当网络设备无法保证访问目标网络时,会自动发送ICMP目的不可达报文到发送端设备
  • type表示ICMP消息类型,code表示同一消息类型中的不同信息。

  

 

 

  •  ICMP的一个典型应用是ping。ping是检测网络连通性的常用工具,同时也能够收集其他相关信息。用户可以在ping命令中指定不同参数,如ICMP报文长度、发送ICMP报文个数、等待回复响应的超时时间等,设备根据配置的参数来构造并发送ICMP报文,进行ping测试。
  • ping常用的配置参数说明如下:
  • 1、-a source-ip-address指定发送icmp ECHO-REQUEST报文的源IP地址。如果不指定源IP地址,将采用出接口的IP地址作为ICMP echo-request报文发送的源地址。
  • 2、-c count指定发送ICMP echo-request报文次数。缺省情况下发送5个ICMP echo-request报文。
  • 3、-h ttl-value 指定的值。缺省值是255
  • 4、-t timeout指定发送完ICMP echo-request后,等待ICMP echo-replay的超时时间。

Tracert

ICMP的另一个典型应用是Tracert。Tracert基于报文头中的ttl值来逐跳跟踪报文的转发路径。为了跟踪到达某特定目的地地址的路径,源端首先将报文的ttl值设置为1.该报文到达第一个节点后,TTL超时,于是该节点向源端发送TTL超时消息,消息中携带时间戳。然后源端将报文的ttl值设置为2,报文到达第二个节点后超时,该节点同样返回TTL超时信息,以此类推,直到报文到达目的地。这样,源端根据返回的报文中的信息可以跟踪到报文经过的每一个节点,并根据时间戳信息计算往返时间。Tracert是检测网络丢包及时延的有效手段,同时可以帮助管理员发现网络中的路由环路。

  • Tracert常用的配置参数说明如下

有关HCIA-ICMP的更多相关文章

  1. ruby - 如何仅使用标准套接字库在 Ruby 中实现 ICMP ping? - 2

    应该可以使用Ruby套接字库发送和接收ICMP数据包,但我没有看到任何关于此的好文档。我不想使用net-ping、icmp、ping和所有这些其他库,它们要么因跨平台问题而失败,需要devkit和自定义构建,它们在构建过程中失败,被忽略并且有很长一段时间没有更新,和/或只是一般的错误。有没有人有关于如何完成这个的任何好的文档?我想发送ICMP回显回复,而不是TCP或UDP数据包。 最佳答案 阅读DanielBerger关于他的Net-ping项目的代码,我能够看到他是如何做到的。http://rubygems.org/gems/ne

  2. HCIA-Cloud Service 第二章 华为云介绍 - 2

    华为云介绍1、华为云简介华为云时华为面向所有用户发布的一款云服务品牌,定位与公有云,凭借华为三十多年ICT基础设施领域累积沉淀,为客户提供各种云与AI协同创新、中立安全可信的云服务2、华为云应用场景企业上云中心:为客户提供企业迁移上云、企业初创、企业管理、企业出海、运输管理等各类云解决方案行业解决方案:为用户提供专属于该行业的解决方案,助力行业用户更方便快捷地选择云服务通用解决方案:基于丰富的云基础服务,提供适用于各行业的、预集成的产品与能力的组合,以满足企业ICT业务上云的需求组织解决方案:针对企业、公益及非盈利机构、HMS生态伙伴提供了定向的方案专区,助力其更加方便、快捷的上云3、华为云交

  3. go - 在 golang 中解析 icmp 消息时遇到问题 - 2

    我是Golang的新手,正在尝试完成一项看似非常简单的任务——发送一个带有一些文本的ping,并在收到回复时读回该文本,但我遇到了一些问题我不明白。我建立了这样的ping:ping:=icmp.Message{Type:ipv4.ICMPTypeEcho,Code:0,Body:&icmp.Echo{ID:os.Getpid()&0xffff,Seq:1,Data:[]byte("Hello"),},}这是上下文的套接字读取部分:buf:=make([]byte,1500)_,peer,err:=c.ReadFrom(buf)message,err:=icmp.ParseMessage

  4. ICMP协议详解 - 2

    ICMP协议详解文章目录ICMP协议详解ICMP协议概览ICMP协议使用原因ICMP工作原理ICMP工作情况ICMP的应用ICMP安全ICMP协议概览因特网控制报文协议ICMP(InternetControlMessageProtocol)是一个差错报告机制,是TCP/IP协议簇中的一个重要子协议,通常被IP层或更高层协议(TCP或UDP)使用,属于网络层协议,主要用于在IP主机和路由器之间传递控制消息,用于报告主机是否可达、路由是否可用等。这些控制消息虽然并不传输用户数据,但是对于收集各种网络信息、诊断和排除各种网络故障以及用户数据的传递具有至关重要的作用。ICMP协议使用原因​在数据传输的

  5. c++ - 原始 ICMP 套接字 : recvfrom() not recieving any data - 2

    以下代码是一个旨在发送ICMP回显请求和接收回复的程序。/*Forgivemylackoferrorhandling:)*/SOCKETASOCKET=INVALID_SOCKET;structsockaddrsaddr;structsockaddr_in*to=(structsockaddr_in*)&saddr;structsockaddr_infrom;intfromsize=sizeof(from);std::stringip="[arbitraryipaddress]";structICMP{USHORTtype;USHORTcode;USHORTcksum;USHORTid

  6. 一文搞懂华为的HCIA-Datacom(学习视频+模拟器+考试题库) - 2

    一、华为认证是什么? 二、为什么要选择华为认证三、HCIA-Datacom的介绍1.通过认证验证的能力   中小型园区网络的规划设计、部署实施、运维和优化能力2.建议掌握的知识   路由交换原理、WLAN基本原理、网络安全基础知识、网络管理与运维基础知识、以及SDN与编程自动化基础知识等3.面向对象需要掌握基本数通知识与能力,希望具备中小型网络规划设计、部署实施与运维优化能力的工程师4.认证前提无5.考试科目6.考试内容  HCIA-DatacomV1.0考试覆盖数通基础知识,包括TCP/IP协议栈基础知识,OSPF路由协议基本原理以及在华为路由器中的配置实现,以太网技术、生成树、VLAN原理

  7. 华为HCIA最新题库H12-811(151-200) - 2

    151、STP协议中端口处于哪个工作状态时可以不经过其它状态转为Forwarding状态?( )A、BIockingB、LearningC、ListeningD、Disabled试题答案:[['B']]试题解析:在Learning状态下经过一段时间的延迟,将自动进入Forwarding状态,本题选B152、某交换机收到一个带有VLAN标签的单播数据帧、但发现在其MAC地址表中查询不到该数据帧的目的MAC地址,则交换机对该数据帧的处理行为是?( )A、交换机会向属于该数据帧所在VLAN中的所有端口(除接收端口)广播此数据帧B、交换机会向所有端口广播该数据帧C、交换机会丢弃此数据帧D、交换机会向所

  8. 【HCIA 02】华为交换机配置telnet远程登录 - 2

    配置sw1名称及逻辑(虚拟)IP地址sys[Huawei]syssw1    \\改名为sw1[sw1]intvlanif1        \\进入逻辑接口[sw1-Vlanif1]ipadd192.168.12.124  \\添加IP[sw1-Vlanif1]qu[sw1]qu配置sw2名称及逻辑(虚拟)IP地址sys[Huawei]syssw2[sw2]intvlanif1[sw2-Vlanif1]ipadd192.168.12.224[sw2-Vlanif1]qu[sw2]配置sw2远程登录[sw2]user-interfacevty04    \\设置同时登录用户数量[sw2-ui-v

  9. java - 如何在 Java 中使用 ICMP 和跟踪路由 - 2

    Java没有用于ICMP和跟踪路由的原语。如何克服这个?基本上,我正在构建应该在*nix和Windows中运行的代码,并且需要一段可以在两个平台上运行的代码。 最佳答案 这是我今天写的用Java来“实现”traceroute命令的内容。我只在Windows中测试过,但它应该也可以在Linux中使用,尽管有几个traceroute工具可用于Linux,因此很可能需要对这些程序的存在进行一些检查。publicclassNetworkDiagnostics{privatefinalStringos=System.getProperty("

  10. java - Jnetpcap,准备UDP/TCP/IP/ICMP数据包 - 2

    最近,我正在使用Jnetpcap通过网络发送/接收原始数据包。Jnetpcap提供通过Pcap.sendPacket()发送数据包。此方法获取要发送的原始缓冲区或字节。另一方面,org.jnetpcap.protocol.*类包装了协议(protocol)头,我们可以使用它们来解码捕获的数据包。当我使用下面的代码制作一个Ip4数据包时,它会导致NullPointerException:importorg.jnetpcap.protocol.network.Ip4;publicclassTest{publicstaticvoidmain(String[]args){Ip4ip4=newI

随机推荐