ping命令基于ICMP协议的返回信息分析

Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中 Ping 是一个十分好用的 TCP/IP 工具。它主要的功能是用来检测网络的连通情况和分析网络速度。可以利用 PING 命令检查网络连通状态,ping命令是基于ICMP。

这里先介绍ICMP。ICMP是网络层协议,一个新搭建好的网络,往往需要先进行一个简单的测试,来验证网络是否畅通;但是IP协议并不提供可靠传输。如果丢包了,IP协议并不能通知传输层是否丢包以及丢包的原因。所以我们就需要一种协议来完成这样的功能–ICMP协议

1.ICMP协议的功能主要有:

确认IP包是否成功到达目标地址

通知在发送过程中IP包被丢弃的原因

2.常见的ICMP报文:

相应请求

目标不可达,源抑制和超时报文

时间戳请求

3.ICMP大概分为两类报文:

一类是通知出错原因 ;一类是用于诊断查询

类型及含义如下:

类型(十进制) 内容

0 回送应答

3 目标不可达

4 原点抑制

5 重定向或改变路由

8 回送请求

9 路由器公告

10 路由器请求

11 超时

17 地址子网请求

18 地址子网应答

而相应请求用的ping操作中就包括了相应请求(类型字段值为8)和应答(类型字段值为0)ICMP报文。过程:一台主机向一个节点发送一个类型字段值为8的ICMP报文,如果途中没有异常(如果没有被路由丢弃,目标不回应ICMP或者传输失败),则目标返回类型字段值为0的ICMP报文,说明这台主机存在

这里主要介绍ping之后返回信息的分析

1、Request timed out

这是大家经常碰到的提示信息,至少有下几种情况 。

a)对方已关机,或者网络上根本没有这个地址:比如在主机 A 中 PING 192.168.0.7 , 或者主机 B 关机了, 在主机 A 中 PING 192.168.0.5 都会得到超时的信息。

b) 对方与自己不在同一网段内,通过路由也无法找到对方,但有对方确实是存在的,当然不存在也是返回超时的信息。

C) 对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)。 怎样知道对方是存在,还是不存在呢, 可以用带参数 -a 的 Ping 命令探测对方,如果能得到对方的 NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。

d)错误设置 IP 地址 正常情况下,一台主机应该有一个网卡,一个 IP 地址,或多个网卡,多个 IP 地址(这些地址一定要处于不同的 IP 子网)。但如果一台电脑的“拨号网络适配器” (相当于一块软网卡) 的 TCP/IP 设置中, 设置了一个与网卡 IP 地址处于同一子网的 IP 地址,这样,在 IP 层协议看来,这台主机就有两个不同的接口处于同一网段内。

当从这台主机Ping其他的机器时,会存在这样的问题:

A、主机不知道将数据包发到哪个网络接口,因为有两个网络接口都连接在同一网段。

B、主机不知道用哪个地址作为数据包的源地址。因此,从这台主机去 Ping 其他机器, IP层协议会无法处理,超时后, Ping 就会给出一个“超时无应答”的错误信息提示。但从其他主机 Ping 这台主机时,请求包从特定的网卡来,ICMP只须简单地将目的、源地址互换,并更改一些标志即可,ICMP 应答包能顺利发出,其他主机也就能成功 Ping通这台机器了。

2、Destination host Unreachable

(1). 对方与自己不在同一网段内,而自己又未设置默认的路由,比如上例中 A 机中不设定默认的路由,运行 Ping 192.168.0.1.4 就会出现“ Destination host Unreachable

(2)网线出了故障 这里要说明一下“ destination host unreachable ”和 “time out ”的区别,如果所经过的路由器的路由表中具有到达目标的路由, 而目标因为其他原因不可到达,这时候会出现“ time out ”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable ”。

(3)Bad IP address 这个信息表示您可能没有连接到 DNS服务器,所以无法解析这个IP 地址,也可能是 IP 地址不存在。

3、Source quench received

这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。

4、Unknown host——不知名主机

这种出错信息的意思是,该远程主机的名字不能被域名服务器( DNS)转换成 IP 地址。故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。

5、No answer——无响应, 这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的路由器没有工作;通信线路有故障;中心主机存在路由选择问题。

6、Ping 127.0.0.1 :127.0.0.1 是本地循环地址 如果本地址无法 Ping 通,则表明本地机 TCP/IP 协议不能正常工作。

7、no rout to host : 网卡工作不正常。

8、transmit failed,error code:10043 网卡驱动不正常。

9、unknown host name:DNS 配置不正确。

 

原文地址:https://www.cnblogs.com/buzhidao1/p/11937020.html

时间: 2024-10-23 06:12:00

ping命令基于ICMP协议的返回信息分析的相关文章

Ping命令与ICMP协议

ICMP协议 ICMP是"Internet Control Message Ptotocol"(Internet控制消息协议)的缩写.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息 ping命令 ping命令通常用来作为网络可用性的检查.ping命令可以对一个网络地址发送测试数据包,看该网络地址是否有响应并统计响应时间,以此测试网络. ping和ICMP的关系 ping命令发送数据使用的是ICMP协议. ping的原理 向指定的网络地址发送一定长度的数据包,

通过wireshark学习Traceroute命令(UDP,ICMP协议)

traceroute: 通过TTL限定的ICMP/UDP/TCP侦测包来发现从本地主机到远端目标主机之间的第三层转发路径.用来调试网络连接性和路由问题. mtr: traceroute的一个变种,能根据运行时统计数据整理出每一跳的包丢失/抖动.用来评估路由路径延时很不错. Traceroute的工作原理: https://en.wikipedia.org/wiki/Traceroute Traceroute最简单的基本用法是:traceroute hostname Traceroute程序的设计

网络中常见的ping命令协议

ICMP是"Internet Control Message Ptotocol"(Internet控制消息协议)的缩写.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息.控制消息是指网络通不通.主机是否可达.路由是否可用等网络本身的消息.这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用. 在网络中经常会使用到ICMP协议.例如经常用于检查网络不通的ping命令,这个ping的过程实际上就是ICMP协议工作的过程.还有跟踪路由的trance

ssh命令、ping命令、traceroute 命令所使用的协议

在Node reboot or eviction: How to check if yourprivate interconnect CRS can transmit network heartbeats (文档 ID 1445075.1)中有这么一句话: The script in here performs the network connectivity check usingssh. This check complements ping or traceroute since ssh

地址解析协议ARP,网络层协议IP、ICMP协议

分析所用软件下载:Wireshark-win32-1.10.2.exe 阅读导览 1. 分析并且应用ARP协议 2.分析IP协议 3.分析ICMP协议 1.分析arp报文的格式与内容 (1)ping 172.18.3.132 的arp请求报文: 000108000604000100e04c512ae8ac12038e000000000000ac120384 物理网络类型Hardware type: 0001 - Ethernet (1) 协议类型Protocol type: 0800 - IP

Ping命令应用探究

在网络中ping是一个十分强大的TCP/IP工具.它的作用主要为: (1)用来检测网络的连通情况和分析网络速度: (2)根据域名得到服务器IP: (3)根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量. 我们通常会用它来直接ping IP地址,来测试网络的连通情况. ping 命令是基于 ICMP 协议来工作的,「 ICMP 」全称为 Internet 控制报文协议(Internet Control Message Protocol).ping 命令会发送一份ICMP回

1-11 ICMP协议

ICMP协议 IP不提供可靠的传输服务,也不提供端到端或点到点的确认,如果出错可以通过ICMP报告来看,它在IP模块中实现.TCP/IP协议设计了ICMP就是为了弥补IP协议的不足. 它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间专递控制消息.控制消息指网络通不通,主机可以否达,路由是否可用等.这些控制消息传递的并不是用户数据,但是对用户数据的传输起到了重要的作用. 作用:负责差错控制,拥塞控制,传输控制. 工作过程: ping是ICMP协议的工作过程. 本机发送一个ICMP E

简单了解ICMP协议

ping命令是什么协议? 维基百科: ping是一种电脑网络工具,用来测试数据包能否通过IP协议到达特定主机.ping的运作原理是向目标主机传出一个ICMP [email protected]要求数据包,并等待接受echo回应数据包.程序会按时间和成功响应的次数估算丢失数据包率(丢包率)和数据包往返时间(网络时延). 可以知道,ping属于ICMP协议. ICMP属于哪一层? IP协议还缺少主机和管理查询所需要的机制.主机有时候需要判断某个路由或者是对方主机是否活跃.有时网络管理元也需要来自其他

Linux和Windows下ping命令详解

转:http://linux.chinaitlab.com/command/829332.html 一.Linux下的ping参数 用途 发送一个回送信号请求给网络主机. 语法 ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ \ -R ] [ -a addr_family ] [ -c Count ] [ -w timeout ] [ -f | -i \ Wait ] [ -l Preload ] [ -p Pattern ] [ -s PacketS