Linux Command ping
ping 是个使用频率极高的实用程序,主要用于确定网络的连通性。这对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping 就是一个测试程序,如果 ping 运行正确,大体上就可以排除网络访问层、网卡、Modem 的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的范围。
ping 能够以毫秒为单位显示发送请求到返回应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络,连接速度比较快。ping 还能显示 TTL(Time To Live,生存时间)值,通过 TTL 值可以推算数据包通过了多少个路由器。
命令格式
- ping 主机名
- ping 域名
- ping IP 地址
如图所示,使用 ping 命令检查到 IP 地址 210.43.16.17 的计算机的连通性,该例为连接正常。共发送了四个测试数据包,正确接收到四个数据包。
ping 命令的基本应用
一般情况下,用户可以通过使用一系列 ping 命令来查找问题出在什么地方,或检验网络运行的情况。
下面就给出一个典型的检测次序及对应的可能故障:
① ping 127.0.0.1 如果测试成功,表明网卡、TCP/IP 协议的安装、IP 地址、子网掩码的设置正常。如果测试不成功,就表示 TCP/IP 的安装或设置存在有问题。
② ping 本机 IP 地址 如果测试不成功,则表示本地配置或安装存在问题,应当对网络设备和通讯介质进行测试、检查并排除。
③ ping 局域网内其他 IP 如果测试成功,表明本地网络中的网卡和载体运行正确。但如果收到 0 个回送应答,那么表示子网掩码不正确或网卡配置错误或电缆系统有问题。
④ ping 网关 IP 这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够做出应答。
⑤ ping 远程 IP 如果收到正确应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问 Internet(但不排除 ISP 的 DNS 会有问题)。
⑥ ping localhost local host 是系统的网络保留名,它是 127.0.0.1 的别名,每台计算机都应该能够将该名字转换成该地址。否则,则表示主机文件(/Windows/host)中存在问题。
⑦ ping www.yahoo.com(一个著名网站域名) 对此域名执行 Ping 命令,计算机必须先将域名转换成 IP 地址,通常是通过 DNS 服务器。如果这里出现故障,则表示本机 DNS 服务器的 IP 地址配置不正确,或它所访问的 DNS 服务器有故障
如果上面所列出的所有 ping 命令都能正常运行,那么计算机进行本地和远程通信基本上就没有问题了。但是,这些命令的成功并不表示你所有的网络配置都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。
linux下ping包的默认大小为64Byte,次数不限。但有时我们需要尝试ping大数据包,来测试网络的状况,这时,就要指定ping包的大小了。
Linux下ping大数据包的格式;
语 法:ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
ping IP -t:连续对 IP 地址执行 ping 命令,直到被用户以 Ctrl+C 中断。 例如:
指定数据包大小为1500Byte:ping -s 1500 ip
指定次数为4次,数据包大小为32767Byte:ping -c 4 -s 32767 ip
Windows下默认ping包次数为4次,ping包大小为32Byte:
指定ping包大小为1500Byte:ping -l 1500 ip
指定次数为6次,ping包大小为1500:ping -n 6 -l 1500 ip
注意:随着防火墙功能在网络中的广泛使用,当你 ping 其他主机或其他主机 ping 你的主机时,而显示主机不可达的时候,不要草率地下结论。最好与对某台 “设置良好” 主机的 ping 结果进行对比。
参考: