ping UNIX 命令
用途
发送一个回送信号请求给网络主机。
语法
ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ -R ] [ -a addr_family ] [ -c Count ] [ -w timeout ] [ -f | -i Wait ] [ -l Preload ] [ -p Pattern ] [ -s PacketSize ] [ -S hostname/IP addr ] [ -L ] [ - I a.b.c.d. ] [ -o interface ] [ -T ttl ] Host [ PacketSize ] [ Count ]
描述
/usr/sbin/ping 命令发送一个因特网控制报文协议(ICMP) ECHO_REQUEST 去从主机 或网关那里获得 ICMP ECHO_RESPONSE 信号。
ping 命令用于:
* 确定网络和各外部主机的状态。
* 跟踪和隔离硬件和软件问题。
* 测试、评估和管理网络。
如果主机正在运行并连在网上, 它就对回送信号进行响应。每个回送信号请求包含一个网 际协议(IP)和 ICMP 头,后面紧跟一个timeval 结构,以及来填写这个信息包的足够的 字节。缺省情况是连续发送回送信号请求直到接收到中断信号(Ctrl-C)。
ping 命令每秒发送一个数据报并且为每个接收到的响应打印一行输出。ping 命令计算信 号往返时间和(信息)包丢失情况的统计信息,并且在完成之后显示一个简要总结。ping 命 令在程序超时或当接收到 SIGINT 信号时结束。Host 参数或者是一个有效的主机名或者是 因特网地址。
缺省情况下,ping 命令将连续发送回送信号请求到显示器直到接收到中断信号(Ctrl-C).中断键可以使用 stty 命令来更改。
由于连续回送信号请求会对系统造成一定的负载,重复的请求信号应当主要用作问题隔离。
标志
-c Count 指定要被发送(或接收)的回送信号请求的数目,由 Count 变量指出。
-w timeout 这个选项仅和 -c 选项一起才能起作用。它使 ping 命令以最长的超时时间去 等待应答(发送最后一个信息包后)。
-d 开始套接字级别的调试。
-D 这个选项引起 ICMP ECHO_REPLY 信息包向标准输出的十六进制转储。
-f 指定 flood-ping 选项。
-f 标志“倾倒”或输出信息包,在它们回来时或每秒 100 次, 选择较快一个。每一次发送 ECHO_REQUEST,都打印一个句号,而每接收到一个 ECHO_REPLY 信号,就打印一个退格。这就提供了一种对多少信息包被丢弃的信息的快 速显示。仅仅 root 用户可以使用这个选项。
注:这在网络上将非常困难,必须小心使用。Flood ping 命令仅仅 root 用户可以使用。-f 标志与 -i Wait 标志不兼容。
-I a.b.c.d 指定被 a.b.c.d 标明的接口将被用于向外的 IPv4 多点广播。-I 标志是大写的 i 。
-o interface 指出 interface 将被用于向外的 IPv6 多点广播。接口以 “en0”, “tr0”等的形 式指定。
-i Wait 在每个信息包发送之间等待被 Wait 变量指定的时间(秒数)。缺省值是在每个 信息包发送之间等待 1 秒。这个选项与 -f 标志不兼容。
-L 对多点广播 ping 命令禁用本地回送。
-l Preload 在进入正常行为模式(每秒 1 个)前尽快发送 Preload 变量指定数量的信息 包。-l 标志是小写的 L。
-n 指定仅输出数字。不企图去查寻主机地址的符号名。
-p Pattern 指定用多达 16 个“填充”字节去填充你发送的信息包。这有利于诊断网络上依 赖数据的问题。例如,-p ff 全部用 1 填充信息包。
-q 指定静默输出。除了在启动和结束时显示总结行外什么也不显示。
-r 忽略路由表直接送到连接的网络上的主机上。如果 主机 不在一个直接连接的网络上, ping 命令将产生一个错误消息。这个选项可以被用来通过一个不再有路由经过的接口去 ping 一个本地主机。
-R 指定记录路由选项。-R 标志包括 ECHO_REQUEST 信息包中的 RECORD_ROUTE 选项,并且显示返回信息包上的路由缓冲。
注:IP 头仅仅大到适合 9 个这样的路由。而且,许多主机和网关忽略这个选项。
-a addr_family 映射 ICMP 信息包的目的地址到 IPv6 格式,如果 addr_family 等于 “inet6”的话。
-s PacketSize 指定要发送数据的字节数。缺省值是 56,当和 8 字节的 ICMP 头数据 合并时被转换成 64 字节的 ICMP 数据。
-S hostname/IP addr 将 IP 地址用作发出的 ping 信息包中的源地址。在具有不止一个 IP 地址的主机上,可以使用 -S 标志来强制源地址为除了软件包在其上发送的接口的 IP 地址外的任何地址。如果 IP 地址不是以下机器接口地址之一,则返回错误并且不进行任何 发送。
-T ttl 指定多点广播信息包的生存时间为 ttl 秒。-v 请求详细输出,其中列出了除回送信号响应外接收到的 ICMP 信息。
参数
PacketSize 指定了要发送数据的字节数。缺省值是 56,当和 8 字节的 ICMP 头数据 合并时被转换成 64 字节的 ICMP 数据。包含这个参数是为了和以前的 ping 命令版本相 兼容。
Count 指定了要发送(接收)的回送信号请求的数目。包含这个参数是为了和 以前的 ping 命令版本相兼容。
下面具体看一下PING命令的使用
(1)首先,让我们打开cmd,方法是点击运行输入cmd后回车,即可看到下图的方框。
(2)我们要学习的是如何让系统一直ping下去,那么我们就输入ping 网址或IP -t再回车,例如ping 192.168.1.1 -t
(3)一直ping下去只有32个字节可能还无法满足我们的要求,我们需要加大包ping才能看出问题,那么这个时候我们应该输入ping 网址或IP -t -l 1000再回车,例如ping 192.168.1.1 -t -l 1000 表示连续ping 1000个字节
(4)但有时候我们没时间看着它一个个PING,我们可以设置一下PING的数量,然后去喝杯茶再回来。那么这时我们应该输入ping 网址或IP -t -n 100,例如ping 192.168.1.1 -t -n 100,表示我们让系统ping完100个就可以收工了
(5)有时候我们还要查询一下经过的路由数,那么我们可以再ping 网址或IP -r 9 如图所示,最多只能填9个,表示经过的路由数
(6)当然,我们都知道路由器是分段转发的,为了让路由器整段转发出去,我们可以输入ping 网址或IP -f -t 效果如图所示
命令为ping -l 65500,数据包的有效范围从 0 到 65500。
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)。如果使用此标头,某些系统可能丢弃回显请求。
-S srcaddr,要使用的源地址。
-c compartment,路由隔离舱标识符。
-p,Ping Hyper-V 网络虚拟化提供程序地址。
-4,强制使用 IPv4。
-6,强制使用 IPv6。