背景

简介

ping是常用的网络管理命令,ping也属于一个通信协议,是TCP/IP协议的一部分,适用于windows和linux以及unix
根据reply用来检查网络是否通畅&网络连接的速度(time)
主要是端对端的,针对目标ip或者目标网址

原理

给对端(目标ip)发一个数据包,对方就要返回一个同样大小的数据包,根据reply我们可以确定目标主机的存在
在windows的dos界面可以通过 ping/?来查看其参数含义

常用命令

-t 不间断给对方发包,除非ctrl+c 退出
-l 定义数据包包长,默认是32B 可设置最大包长为65500B
两个命令组合就可以进行一个小型的网络攻击,如果目标ip带宽比较小,持续攻击会导致目标主机挂掉
-----由此引申出防火墙。防火墙的功能之一就是过滤ping发出的ICMP数据包,防止被大流量攻击使系统瘫痪

ping不通的可能原因

常见原因

a)	对方关机/ip不存在
b)	网段不同,通过路由也无法找到
c)	防火墙设置,过滤了ping发出的ICMP数据包,导致无反馈,time out
d)	Ip地址设置错误,对于多个网卡的服务器来说,每个网口的ip配置必须不能在同一个网段,否则会造成路由不知选择哪一个出口
e)	网线故障
f)	未设置网关,这个对于小网128网段,走路由器的,如果未配置将无法路由

常见排查方法

ping –a 命令,可探测对方,将ip地址解析为主机名。如果存在,说明该主机ip存在,从而去检查防火墙是否关闭;ping 127.0.0.1 ,若无法ping通,则本地tcp/ip协议栈有问题若提示为:no route to host,则说明网卡不能正常工作若提示为:transmit failed error code,则说明网卡驱动有问题若提示为:time out 说明路由器中有该路由,但是由于其他原因导致包无法传送若提示为:destination host unreachable 说明路由器中无该路由
防火墙关闭:
firewall-cmd --state # 查看是否running systemctl stop firewalld #停止firewall systemctl disable firewalld #禁止firewall开机启动
参考:

工作中ping不通情况及解决方案

Ping时通时不通

Ip地址或者mac地址冲突
解决方法同上:烧写mac地址或者重新配置ip

Ping的通但是web、ssh 、kvm等登不上

服务端口被关闭
测试方法:测试云中tenet ip 端口号,举例:
telnet ip 端口号

参考