命令功能:
Linux系统和windows系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,这样我们就可以根据它ping输出的信息来确定目标主机是否可访问(但这不是绝对的)。有些服务器为了防止通过ping探测到,通过防火墙设置了禁止ping或者在内核参数中禁止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。
常用示例:
(1) 默认ping,发送4个数据包,如:ping www.baidu.com
电脑先将www.baidu.cn的域名解析为ip地址:220.181.38.149再发送数据包,这种用法可以测试DNS解析和主机的连通性。
其中ping命令使用icmp协议(互联网报文控制协议),“字节=32”表示每个ip数据包长度为32字节,时间=60ms,是主机响应速度为60ms,TTL=50是生存时间为50,表示经过了14个路由器,ping的默认TTL在windows中为64,数据包每经过一个路由器TTL值减1。最后为统计信息。
(2)改变ping数据包的长度 ping -l1000 www.baidu.com
每个数据包长度为1000字节,大数据包可以测试网络的承载能力和处理能力。
上例可以看出,明显时延就增加了10几个毫秒。
(3)连续ping
Ping www.baidu.com –t
持续不断ping测试,只有当你按ctrl+c才会终止。可以测试网络长时间的性能,若链路有一些问题,可能会发生丢包的情况,并能够统计出丢包率。
(4)改变TTL值
Ping -i 128 www.baidu.com(最大值为256),windows 10中测试无效。
上图中测试显示TTL值还是为54
(5)其他参数,可以逐一测试,可以几个参数组合使用。
后续我们将继续推出系列命令如tracert、netstat、ipconfig、arp等网络命令的使用。
每天花几分钟,学习网络技术。请关注公众号。