每天一个Linux命令(48)ping命令
ping命令用来测试主机之间网络的连通性。
(1)用法:
用法: ping [参数] [主机名或IP地址]
(2)功能:
功能: 确定网络和各外部主机的状态;跟踪和隔离硬件和软件问题;测试、评估和管理网络。
细节: 执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。例如: “ping一下某机器,看是不是开着”、不能打开网页时“先ping网关地址192.168.1.1试试”。ping 命令每秒发送一个数据报并且为每个接收到的响应打印一行输出。ping 命令计算信号往返时间和(信息)包丢失情况的统计信息,并且在完成之后显示一个简要总结。ping 命令在程序超时或当接收到 SIGINT 信号时结束。Host 参数或者是一个有效的主机名或者是因特网地址。
注意: 有些服务器为了防止通过ping探测到,通过防火墙设置了禁止ping或者在内核参数中禁止ping,这样就不能通过ping确定该主机是否还处于开启状态。
(3)选项参数:
1) -b n: 测试与网关IP的连通性
2) -c n: 执行指定次数 n的ping命令
3) -i n: 设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
4) -s 字节数: 指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。
5) -t 存活数值: 设置存活数值TTL的大小。
(4)实例:
1)[root@localhost ~]# ping 192.168.120.205 用ping命令测试与目标站点IP的连通情况
[root@localhost ~]# ping 192.168.120.205
PING 192.168.120.205 (192.168.120.205) () bytes of data.
bytes from 192.168.120.205: icmp_seq= ttl= time=0.720 ms
bytes from 192.168.120.205: icmp_seq= ttl= time=0.181 ms
bytes from 192.168.120.205: icmp_seq= ttl= time=0.191 ms
bytes from 192.168.120.205: icmp_seq= ttl= time=0.188 ms
bytes from 192.168.120.205: icmp_seq= ttl= time=0.189 ms --- 192.168.120.205 ping statistics ---
packets transmitted, received, % packet loss, time 4000ms
rtt min/avg/max/mdev = 0.181/0.293/0.720/0.214 ms
[root@localhost ~]#
2)[root@localhost ~]# ping 192.168.120.202 ping命令不连通时
[root@localhost ~]# ping 192.168.120.202
PING 192.168.120.202 (192.168.120.202) () bytes of data.
From 192.168.120.204 icmp_seq= Destination Host Unreachable
From 192.168.120.204 icmp_seq= Destination Host Unreachable
From 192.168.120.204 icmp_seq= Destination Host Unreachable
From 192.168.120.204 icmp_seq= Destination Host Unreachable
From 192.168.120.204 icmp_seq= Destination Host Unreachable
From 192.168.120.204 icmp_seq= Destination Host Unreachable --- 192.168.120.202 ping statistics ---
packets transmitted, received, + errors, % packet loss, time 7005ms
, pipe
[root@localhost ~]#
3)[root@localhost ~]# ping -b 192.168.120.1 ping命令测试与网关IP的连通性
[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.120.0 * 255.255.255.0 U eth0
192.168.0.0 192.168.120.1 255.255.0.0 UG eth0
10.0.0.0 192.168.120.1 255.0.0.0 UG eth0
default 192.168.120.240 0.0.0.0 UG eth0
[root@localhost ~]# ping -b 192.168.120.1
PING 192.168.120.1 (192.168.120.1) () bytes of data.
bytes from 192.168.120.1: icmp_seq= ttl= time=2.02 ms
bytes from 192.168.120.1: icmp_seq= ttl= time=1.83 ms
bytes from 192.168.120.1: icmp_seq= ttl= time=1.68 ms
bytes from 192.168.120.1: icmp_seq= ttl= time=1.98 ms
bytes from 192.168.120.1: icmp_seq= ttl= time=1.88 ms --- 192.168.120.1 ping statistics ---
packets transmitted, received, % packet loss, time 4000ms
rtt min/avg/max/mdev = 1.682/1.880/2.020/0.129 ms
4)[root@localhost ~]# ping -c 10 192.168.120.206 ping指定的次数
[root@localhost ~]# ping -c 192.168.120.206
PING 192.168.120.206 (192.168.120.206) () bytes of data.
bytes from 192.168.120.206: icmp_seq= ttl= time=1.25 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.260 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.242 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.271 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.274 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.295 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.269 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.270 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.253 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.289 ms --- 192.168.120.206 ping statistics ---
packets transmitted, received, % packet loss, time 9000ms
rtt min/avg/max/mdev = 0.242/0.367/1.251/0.295 ms
[root@localhost ~]#
5)[root@localhost ~]# ping -c 10 -i 0.5 192.168.120.206 指定时间间隔和参数限制
[root@localhost ~]# ping -c -i 0.5 192.168.120.206
PING 192.168.120.206 (192.168.120.206) () bytes of data.
bytes from 192.168.120.206: icmp_seq= ttl= time=1.24 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.235 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.244 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.300 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.255 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.264 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.263 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.331 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.247 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.244 ms --- 192.168.120.206 ping statistics ---
packets transmitted, received, % packet loss, time 4499ms
rtt min/avg/max/mdev = 0.235/0.362/1.241/0.294 ms
[root@localhost ~]# ping -c -i 0.01 192.168.120.206
PING 192.168.120.206 (192.168.120.206) () bytes of data.
bytes from 192.168.120.206: icmp_seq= ttl= time=0.244 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.195 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.219 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.204 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=3.56 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=1.93 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.193 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.193 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.202 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.211 ms --- 192.168.120.206 ping statistics ---
packets transmitted, received, % packet loss, time 90ms
rtt min/avg/max/mdev = 0.193/0.716/3.564/1.080 ms
[root@localhost ~]#
6)[root@localhost ~]# ping -i 3 -s 1024 -t 255 192.168.120.206 使用多参数
[root@localhost ~]# ping -i -s -t 192.168.120.206
PING 192.168.120.206 (192.168.120.206) () bytes of data.
bytes from 192.168.120.206: icmp_seq= ttl= time=1.99 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.694 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.300 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.481 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.415 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.600 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.411 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.281 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.318 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.362 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.408 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.445 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.397 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.406 ms
bytes from 192.168.120.206: icmp_seq= ttl= time=0.458 ms --- 192.168.120.206 ping statistics ---
packets transmitted, received, % packet loss, time 41999ms
rtt min/avg/max/mdev = 0.281/0.531/1.993/0.404 ms
[root@localhost ~]#
参数说明:
什么是TTL?
TTL 指定数据报被路由器丢弃之前允许通过的网段数量。它是为了防止数据包在网络中无限制的循环,而设定的网络数据包在网络传输中最大的转发次数。因为每转发一次在路由器,就会转向下一跳,所以,又通常称为最大跳数。
具体的含义是这样的。我们本地机器会发出一个数据包,数据包经过一定数量的路由器传送到目的主机,但是由于很多的原因,一些数据包不能正常传送到目的主机,那如果不给这些数据包一个生存时间的话,这些数据包会一直在网络上传送,导致网络开销的增大。当数据包传送到一个路由器之后,TTL就自动减1,如果减到0了还是没有传送到目的主机,那么就自动丢失。
例如:你定义了数据包的TTL为64.那么在你的数据包被转发了64次,也就是经过了63个中间路由器后,还没有到达目的网络,那么,你的电脑就会显示Requet time out (请求超时)了。例如:你定义了数据包的TTL为64.那么在你的数据包被转发了64次,也就是经过了63个中间路由器后,还没有到达目的网络,那么,你的电脑就会显示Requet time out (请求超时)了。这就是TTL的意思了。
在此补充一点,由于不同的操作系统所定义的TTL是不同的,一般有如下规则:默认情况下,Linux系统的TTL值为64或255,Windows NT/2000/XP系统的TTL值为128,Windows 98系统的TTL值为32,UNIX主机的TTL值为255。
(5)其他:
1)ICMP协议:
ping 程序使用 ICMP 协议的强制回显请求数据报以使主机或网关发送一份 ICMP 的回显应答。
ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
2)回显请求数据报:
回显请求数据报(" pings ")含有一个 IP 及 ICMP 的报头,后跟一个时间值关键字,然后是一段任意长度的填充字节用于把保持分组长度为16的整数倍。
3)Linux下的ping和windows下的ping的区别:
linux下的ping和windows下的ping稍有区别,linux下ping不会自动终止,需要按ctrl+c终止或者用参数-c指定要求完成的回应次数。
4)VMWare网络模式介绍及配置:
4.1VMWare的网络模式:
VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。
桥接模式:在桥接模式下,VMware虚拟机里的系统就像是局域网中的一台独立的主机,它可以访问同一个网段内任何一台机器,即可以相互ping通。在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,就可以手工配置它的IP,DNS服务器,网关等信息,以实现通过局域网的网关或通过交换机访问外网。
让虚拟机具有与宿主机不同的各自独立IP地址,但与宿主机保持在同一网段,最终结果是所有虚拟机都加入宿主主机所在的局域网,这与在该局域网中添加入其他宿主主机在效果上没什么区别。从网络技术上相当于在宿主主机前端加设了一个虚拟交换机,然后宿主主机和所有虚机共享这个交换机;或者干脆理解成在宿主主机上作点增强,使其兼具一个交换机(当然是虚拟的)功能,供该宿主主机和网段内其他虚机使用。
连接拓扑图:
图中的局域网,可能由路由器或者交换机建立。本地物理网卡和虚拟网卡通过虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位。Vmware默认给虚拟系统提供了一个虚拟网卡(linux下默认为eth0设备),虚拟系统通过该网卡与外部通信。图中虚拟交换机由vmware提供,其默认设备名为 VMnet0。
NAT模式:NAT 即 Network Address Translation 缩写,即网络地址转换,由 NAT服务完成。在vmware里默认为VMnet8虚拟交换机,它将虚拟系统的IP地址转换成宿主机的IP地址,从而借用宿主机访问其他主机。使用NAT模式,也可以让虚拟系统通过宿主机器所在的网络来访问公网。
在这种模式下,虚拟系统是不能被LAN内其他PC访问的,只能虚拟机以宿主机的名义访问LAN内的计算机。默认情况下NAT模式的虚拟系统的TCP/IP配置信息由VMnet8(NAT)虚拟网络的DHCP服务器提供,因此采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。
使用NAT方式时,宿主机(Windows)网络管理里会多出一块虚拟网卡, 名为VMware Network Adepter VMnet8 如下图:
虽然从表面现象看,虚机无自己的IP地址,而是共享宿主主机的IP地址,但技术本质上却是基于Host-only方式的(即,虚机还是有自己独立IP地址的,只不过实际中不投入使用),与Host-only方式一样,宿主主机成为双网卡主机,同时参与现有的宿主局域网和新建的虚拟局域网,但由于加设了一个虚拟的NAT服务器,使得虚拟局域网内的虚机在对外访问时,完全“冒用”宿主主机的IP地址,这样从外部网络来看,只能看到宿主主机,完全看不到新建的虚拟局域网。
连接拓扑图:
Host-only(主机模式):让虚机具有与宿主机不同的各自独立IP地址,但与宿主机位于不同网段,同时为宿主主机新增一个IP地址,且保证该IP地址与各虚机IP地址位于同一网段。最终结果是新建了一个由所有虚机与宿主主机所构成的局域网,但该局域网与宿主主机本身所处的现有局域网是相互独立的,如果不做额外路由设置,这两个局域网之间不会连通,因此新建的局域网可以认为是一个单独从属于当前宿主主机的私有网络,其成员为当前宿主主机和相关的所有虚机,这也是Host-only命名的由来。
从网络技术上相当于为宿主主机增添了一个虚拟网卡,让宿主主机变成一台双网卡主机(宿主网卡+虚拟网卡)。同时在宿主主机后端加设一个虚拟交换机,让宿主主机和所有虚机构成另一个虚拟的局域网。由于具备双网卡,宿主主机可同时参与两个局域网(现有的宿主局域网+新建的虚拟局域网),只不过缺省情况下两个局域网不连通。
连接拓扑图:
4.2VMware网络配置:
每天一个Linux命令(48)ping命令的更多相关文章
- 每天一个linux命令(41)--ping命令
Linux系统的 ping 命令是常用的网络命令,它通常用来测试与目标主机的连通性,它通过发送 ICMP ECHO_REQUEST数据包到网络主机(send ICMP ECHO_REQUEST t ...
- linux常用命令:ping 命令
Linux系统的ping 命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地 址192.168.1.1试试 ...
- 网工最实用最常用的网络命令之一——Ping 命令详解(一)
Ping是Windows.Unix和Linux系统下的一个命令.ping也属于一个通信协议,是TCP/IP协议的一部分.利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障. ...
- windows 环境和linux环境下 ping命令的区别:
Ping 是Windows自带的一个DOS命令.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.该命令可以加许多参数使用,键入Ping按回车即可看到详细说明.Ping 命令可 ...
- Linux系统下ping命令报错 name or service not know
问题描述 CentOS,但是当执行ping命令的时候,提示name or service not known 解决方法 1.添加DNS服务器 vi /etc/resolv.conf 进入编辑模式,增加 ...
- linux下安装 ping 命令
使用docker仓库下载的ubuntu 14.04 镜像.里面精简的连 ping 命令都没有.google 百度都搜索不到ping 命令在哪个包里. 努力找了半天,在一篇文章的字里行间发现了 ping ...
- Linux命令:ping命令
ping命令:类似于windows的ping命令,用于测试网络主机ICMP请求回应的 ping选项 ping -c # # 执行次数 -w # #测试 ...
- 常见网络命令之Ping命令
前言:计算机网络老师要求我们自己总结一下常见的网络命,然后上课可以上去讲一下这些命令使用,像我这么听话的好学生,肯定是照老师要求,认真的总结了一下,总结的过程中,我发现网上已经有的资源讲的都不是很详细 ...
- ping命令知识 Ping命令工作原理详解
在网络应用中,ping网速与IP地址等都是非常常用的命令,但大家知道ping命令的工作原理吗?要知道这其中的奥秘,我们有必要来看看Ping命令的工作过程到底是怎么样的.下面介绍下ping命令的详细知识 ...
- ssh命令、ping命令、traceroute 命令所使用的协议
在Node reboot or eviction: How to check if yourprivate interconnect CRS can transmit network heartbea ...
随机推荐
- archive的时候报“ no identity found"错误 解决方式
第一步: 在xcode----target----general----identity----team里 增加你们公司的账号就能够了 第二步: Xcode > Preferences > ...
- 【Mac + Python3.6 + ATX基于facebook-wda】之IOS自动化(一):WebDriverAgent安装
此篇介绍如何安装WebDriverAgent,下一篇介绍facebook-wda库的安装使用以及自动化脚本的开发. 前言: 对于iOS的应用的测试,如果不需要用到图像识别,推荐使用这个项目facebo ...
- Photoshop脚本之调试
系统:mac 创建test.scpt和test.jsx command+空格,打开 脚本编辑器(applescript) 脚本编辑器打开test.scpt 输入: tell application & ...
- 易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试
Lifecycle for overriding binding, validation, etc,易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试. 它是一个典型的教科书式的mvc ...
- 检测进程不存在自动重启shell脚本
#!/bin/bash WORKDIR="/usr/local/gse/gseagent" [[ -d $WORKDIR ]] && { if ! ps aux|g ...
- 误: Apache shutdown unexpectedly解决办法
from:http://www.wopus.org/wordpress-basic/getting-started/2536.htmlXAMPP错 2015年10月20日15:58:19 新手上路发 ...
- vue起手式
主要步骤 安装node 安装npm 安装vue-cli(vue命令行工具) 初始化一个vue项目 进行开发 # 安装node # 安装npm # 安装cnpm,在中国大陆防止被墙 # 安装git # ...
- 第一篇:尽量多的以 const/enum/inline 替代 #define
前言 在面向过程语言,如 C 语言中,#define 非常常见,也确实好用,值得提倡.但在如今面向对象的语言,如 C++ 语言中,#define 就要尽量少用了. 为何在 C++ 中就要少用了呢? 这 ...
- "无法加载 DLL“oramts.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。" —— 的解决方法
Oramts.dll 文件公开登记 Oracle 连接所涉及到在通过 Microsoft 分布式事务处理协调器 (MSDTC) 启动的事务中的公共 API. 在事务处理环境中运行时, Syste ...
- 【转】linux 中fork()函数详解
在看多线程的时候看到了这个函数,于是学习了下,下面文章写的通俗易懂,于是就开心的看完了,最后还是很愉快的算出了他最后一个问题. linux 中fork()函数详解 一.fork入门知识 一个进程,包括 ...