ping (Packet Internet Groper)是一种因特网包探索器,用于测试网络连接量的程序。ping的一般用途有:
①【测试网络物理链路是否正常】:通过将ICMP(Internet控制消息协议)回显数据包发送到网络终端,并侦听回显回复数据包来验证与一台或多个远程终端连接是否正常。
②【测试网络延时大小】:可以使用"ping"测试两个网络终端之间的延迟时间。 延迟时间是指数据包从一台主机发送到另一台主机所需的时间。 通过对同一目标计算机发送多个数据包并计算平均延迟时间,可以确定网络延迟状况。每个发送的数据包最多等待1秒。
③【测试网络是否卡顿】:通过使用"ping"向目标计算机发送大量数据包,可以测试网络的带宽是否够用和是否有瓶颈。 如果发送的数据包数量足够大,网络带宽就会被占用,用于验证网络是否达到预期带宽。
需要注意的是,Ping成功并不一定就代表TCP/IP配置正确,有可能还要执行大量的本地主机与远程主机的数据包交换,才能确信TCP/IP配置的正确性。如果执行ping成功而网络仍无法使用,那么问题很可能出在网络系统的软件配置方面,ping成功只保证当前主机与目的主机间存在一条连通的物理路径。
①【Windows 7系统自带的命令行提示符】:
②【其他终端软件】:此处以Xshell软件为例。
还有其他打开ping命令行界面的方式方法,不再赘述。
C:\Users\LI>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] [-4] [-6] target_name
选项:
-t Ping 指定的主机,直到停止。若要查看统计信息并继续操作 - 请键入 Control-Break;若要停止 - 请键入 Control-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)。
-S srcaddr 要使用的源地址。
-4 强制使用 IPv4。
-6 强制使用 IPv6。
bytes(字节):测试连通性的ICMP包大小
time(时间):目标主机的响应时间,即ICMP测试数据包到目标主机的往返时间。
TTL(Time to Live):TTL在windows下默认设置为128,最大可以设置为255,每经过一跳路由减一,当TTL归零时数据包将会被丢弃。默认状况下,Linux预制的TTL值为64或255,UNIX主机的TTL值为255。
ping命令在windows环境下默认只发送4个ICMP包,现在改为发送10个ICMP包。
也可以使用-t参数一直ping,需要停止时按ctrl+c组合键。
ping命令在windows环境下默认发送的ICMP包为32字节,现在改为100字节。
ping命令加上-r参数可以追踪路由
假如要测试几百几千个终端连通性,一个一个ping枯燥繁重,于是用批量ping完成此操作。
批量ping 192.168.2.0网段命令:for /L %D in (1,1,255) do ping 192.168.1.%D -n 2
命令解释:括号内的1,1,255代表从1开始,每次增加1,一直加到255,可以根据实际情况改变参数,比如测试偶数ip地址可以写成(2,2,254)。
如,批量ping的结果在cmd中显示的,窗口一关,结果就没了,要把ping的结果自动保存的文件中,“>>”代表输出,把结果保存到某个文件。
for /L %d in (1,1,255) do ping 192.168.2.%d >> ping.txt
命令运行后,会生产ping.txt文件,该文件保存了ping的结果。
生成的文件在命令行默认目录下,一般情况下是"C:\Users\当前登录用户的用户目录"。
ping网站域名地址,可以判断DNS是否正常工作?还可以获取网站的IP地址,如,ping www.csdn.net
Ping 220.185.184.016时,在命令提示符窗口中显示的是在Ping 220.185.184.14。
这是因为系统将上述IP地址中的“ 016”当成八进制而非十进制数字,八进制数值“016”转换为十进制正好是“14”,所以系统才会以为Ping的是220.185.184.14。在IP地址的十进制数字前面加上0表示这是八进制数,加上0x 则表示这是十六进制数值。
已经把消息发送出去了,但没有收到对方的回复。
说明对方主机被屏蔽或不在线等。
说明没有获取到Mac地址或网关没有路由。