一、ping的详细介绍
1、定义:ping(Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序,它是工作在TCP/IP网络体系结构中应用层的一个服务命令。
2、原理:Ping通过向特定的目的主机发送ICMP(Internet Control Message Protocol)Echo请求报文,并等待接收ICMP Echo应答消息来测试目的站是否可达,同时获取连接的丢包率和平均往返时间等状态信息,每个发送的数据包最多等待一秒。
3、用途:主要用于确定本地主机是否能与另一台主机成功交换数据包,进而推断TCP/IP参数设置是否正确,运行是否正常,网络是否通畅等,还可用于测试网络连通性、排查网络故障、检测网络延迟等。
4、历史由来:ping程序由Mike Muuss编写,其命名源自声纳系统在进行回声定位时发出的声音,因为ping对“网络空间”的探测与声纳系统对物理空间的探测类比,原理范式相同。
5、实现方式:主要有ICMPPing、TCPPing、UDPPing等方式,ICMPPing是常用的方式,通过发送ICMP信息报文来探测目标主机;TCPPing则是利用TCP协议的SYN包或ACK包来判断目标主机是否可达,准确性更高;UDPPing与TCPPing原理类似,通过RAWSocket定制UDP包进行探测。
6、工作原理:Ping命令本质上是一种发送ICMP回显请求和响应消息的命令组合,当在命令提示符下输入ping命令时,主机会向目标设备或指定的IP地址发送ICMP回显请求消息,然后等待远程主机的响应,如果远程主机正在运行且网络可达,目标计算机会将ICMP回显响应消息送回原始计算机。
7、语法:ping [options] <destination>,其中options是可选参数,如t表示持续ping直到手动停止,n指定发送的回显请求数等;destination是要ping的目标主机的IP地址或域名。
8、常见选项及含义
a:将地址解析为主机名。
n count:要发送的回显请求数。
l size:发送缓冲区大小。
f:在数据包中设置“不分段”标记(仅适用于IPv4)。
i TTL:生存时间。
v TOS:服务类型(仅适用于IPv4,该设置已被弃用)。
r count:记录计数跃点的路由(仅适用于IPv4)。
s count:计数跃点的时间戳(仅适用于IPv4)。
j hostlist|k hostlist:与主机列表一起使用的松散源路由或严格源路由(仅适用于IPv4)。
w timeout:等待每次回复的超时时间(毫秒)。
R:同样使用路由标头测试反向路由(仅适用于IPv6,根据RFC5095已弃用)。
S srcaddr:要使用的源地址。
c compartment:路由隔离舱标识符。
p:Ping HyperV 网络虚拟化提供程序地址。
4:强制使用 IPv4。
6:强制使用 IPv6。
二、相关问题解答
1、问:ping通了但无法访问网站的原因是什么?
答:可能有以下原因,一是DNS解析问题,虽然能ping通IP地址,但域名无法正确解析到对应的IP地址;二是网站服务器本身限制,只允许特定的端口或协议访问,而ping使用的是ICMP协议;三是中间网络设备做了策略限制,如防火墙规则等,允许ICMP包通过但限制了其他访问流量。
2、问:如何通过ping命令判断网络故障所在?
答:可以先ping本机IP地址,若不通则可能是本机网络配置有问题,接着ping网关IP地址,若不通则可能是网线、路由器接口或路由器本身的问题,若网关能ping通,再尝试ping外部网站,若不通则可能是DNS解析问题、运营商网络问题或网站服务器问题等。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/132658.html