ping
原文转载来自 https://blog.csdn.net/omaidb/article/details/116096205
简述ping命令原理和作用
参考: https://www.zhihu.com/question/266846392
ping
命令是主机向目标主机发送一个icmp
协议的回显报文请求,请求中附带有请求方主机的时间戳T1
,目标主机收到请求后会记录时间戳T2
# 计算过程 方案一:本地记录时间戳 客户端发出Ping包1,本地记录时间戳T1,当ping 包1返回时,记录时间戳T2,那么 RTT = T2-T1 就得到这个RTT。
方案二:Ping包的Payload里记录发出时间戳T1 当Ping包1被弹回时,记录当前时间T2,则 RTT = T2-T1 也可以得到这个RTT( Round Trip Time)。 [计算机网络]各种时延的计算 发送时延=数据帧长度(b) /信道带宽(b/s) [信道带宽就是数据率] 传播时延=信道长度(m)/电磁波在信道上的传播速率(m/s) 总时延=发送时延+传播时延+处理时延+排队时延 # ping命令的作用 ping命令可以获取网络质量,例如网络时延为多少毫秒!假定ping值高于100ms,则网络质量不太好。 可以获取操作系统版本. 例如:通过返回的ttl值识别主机操作系统 ttl=255 Unix ttl=64 Linux ttl=128 Windows2000以上 ttl=32 Windows95
转载来自: https://www.cnblogs.com/ai469/p/11938156.html
PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量检查网络是否连通,可以很好地帮助我们分析和判定网络故障。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所希望的ICMP echo(ICMP回声应答)。它是用来检查网络是否通畅或者网络连接速度的命令。
它所利用的原理是这样的:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。
-t 不停地ping 指定的主机,直到键入 Ctrl+C。 -n count 发送指定的数据包数,默认发送四个。 -l 指定发送的数据包的大小。 -f 在数据包中设置“不分段”标记。在一般发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。 -i TTL 指定TTL值在对方的系统里停留的时间。此参数是帮助检查网络运转情况的。 -r count 用来记录传出和返回数据包的路由,需要在-r后面输入需要显示的路由数量,最多数量显示9个路由。 -w timeout 指定超时间隔,单位为毫秒。
二、ping返回信息
1. Request timed out
(请求超时)
可能原因:
- 对方已关机,或者网络上根本没有这个地址。
- 对方与自己不在同一网段内,通过路由也无法找到对方。
- 对方确实存在,但设置了 ICMP 数据包过滤(比如防火墙设置)。
- 错误设置 IP 地址。
检查方法:
- 使用带参数
-a
的ping
命令探测,如果得到的返回信息能显示对方的 NETBIOS 名称,则说明对方是存在的,但是有防火墙设置。如果不显示,则很有可能是对方不在同一个网段内,或者关机。
2. Destination host unreachable
(对方主机不可达)
可能原因:
- 对方与自己不在同一网段内,而自己又未设置默认的路由。
- 网线出了故障。
3. Bad IP address
可能原因:
- 没有连接到 DNS 服务器,所以无法解析这个 IP 地址,也可能是 IP 地址不存在。
4. No answer
可能原因:
- 本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。
5. No route to host
可能原因:
- 网卡工作不正常。
6. Unknown host name
可能原因:
- DNS 配置不正确。
三、简单实例
查看本地的TCP/IP协议是否设置好,输入命令:ping +自己电脑的Ip地址,例如我现在正在使用的电脑IP地址为172.16.80.88,即ping 172.16.80.88。如果在MS-DOS方式下执行此命令显示内容为:Request timed out,则表明网卡安装或配置有问题。将网线断开再次执行此命令,如果显示正常,则说明本机使用的IP地址可能与另一台正在使用的机器IP地址重复了。如果仍然不正常,则表明本机网卡安装或配置有问题,需继续检查相关网络配置。
本机网络正常,可正常访问Internet,即显示如下: