ping是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。需要注意的是:成功的与另外一台主机进行一次或两次数据报交换并不表示TCP/IP配置就是正确的。
Windows上运行的ping命令发送4个ICMP回送请求,每个32个字节,如果一切正常,我们应能得到4个回送应答。
Ping能够以毫秒为单位显示发送回送请求到返回回送应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器,或网络连接速度比较快。
在终端输入命令 : ping /?
系统会给出下列文档:
用法: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
[-4] [-6] target_name
选项:
-t Ping 指定的主机,直到停止。
若要查看统计信息并继续操作,请键入 Ctrl+Break;
若要停止,请键入 Ctrl+C。
-a 将地址解析为主机名。
-n count 要发送的回显请求数。
-l size 发送缓冲区大小。
-f 在数据包中设置“不分段”标记(仅适用于 IPv4)。现在的系统设置这个参数可能没用,因为可能会被强制分段
-i TTL 生存时间。
-v TOS 服务类型(仅适用于 IPv4。该设置已被弃用,
对 IP 标头中的服务类型字段没有任何
影响)。
-r count 记录计数跃点的路由(仅适用于 IPv4)。
-s count 计数跃点的时间戳(仅适用于 IPv4)。
-j host-list 与主机列表一起使用的松散源路由(仅适用于 IPv4)。
-k host-list 与主机列表一起使用的严格源路由(仅适用于 IPv4)。
-w timeout 等待每次回复的超时时间(毫秒)。
-R 同样使用路由标头测试反向路由(仅适用于 IPv6)。
根据 RFC 5095,已弃用此路由标头。
如果使用此标头,某些系统可能丢弃
回显请求。
-S srcaddr 要使用的源地址。
-c compartment 路由隔离舱标识符。
-p Ping Hyper-V 网络虚拟化提供程序地址。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
上面标红的参数为重点,我们举几个例子来说明一下:
再解释一下上面出现的TTL(Time To Live):ping能显示TTL值,我们可以通过TTL值判断出数据报通过了多少个路由器。TTL初始值是系统默认的。TTL的最初设想是设定一个时间范围,超过此时间就把包丢弃。由于每通过一个路由器都会把TTL减1(如win10 TTL默认值为64),TTL通常表示包被丢弃之前最多能经过的路由器个数。当计数为0时,路由器决定丢弃该包,并发送一个icmp报文给最初的发送者。
Ping命令常见返回信息:1. Destination host Unreachable。2. Request time out。二者区别:如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”;如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。
应用:网络诊断
金典步骤,但不一定要这样做:
1.ping 127.0.0.1
Ping 回环地址,验证本地计算机上是否正确安装了TCP/IP协议,以及配置是否正确。
2.ping 本机IP
这个命令被发送到我们计算机配置的IP地址,我们的计算机应该始终都应答对Ping命令做出应答。如果没有,则表示本地配置或安装存在问题。
3.ping局域网内其他IP
Ping本网网关或本网IP地址,这样的是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常;(在非局域网中这一步骤可以忽略)。
4.ping 网关IP
确定局域网内网关和路由器是否运行正确。
5.ping 远程IP
这主要是检查本网或本机与外部的连接是否正常。
7.* ping www.XXX.com
确认域名解析服务器或者某网站服务器是否正常服务。
例如:
ping 失败可能原因:
1).对方服务器(IP)确实与外网断开连接;
2).对方服务器拒绝Ping入;
3).对方服务器拒绝Ping出;
4).自己计算机与外网已经断开连接。