linux ping命令实践
ping 解析
Linux系统的ping命令是常用的网络命令,它通常用来检测与目标主机的连通性,经常说"ping以下机器,看是否开着,不能打开网页时候,可以ping 一下网关,它是通过发送ICMP ECHO__REQUEST数据包到网络主机。(send ICMP ECHO_REQUEST to network hosts),并显示响应情况,这样我们就可以根据它输出的信息来确定目标主机是否可访问(但这不是绝对的)。有些服务器为了防止通过ping探测到,通过防火墙设置了禁止ping或者在内核参数中禁止ping,这样就不能通过ping确定该主机是否处于开启状态.
linux下的ping和windows下的ping稍有区别,linux下的ping不会自动终止,需要按Ctrl+c 终止 或者-c指定要求完成回应的次数。
ping 参数解释
-b 允许ping网关地址
-c count 发送count次ECHO_REQUEST(回传请求)数据包。当有deadline选项(最后期限,-w选项),在超时之前,ping等待ECHO_REPLY(回传响应)直到count次。-d 在正在使用的socket(套接字)上设置SO_DEBUG选项。本质上,Linux内核不使用此套接字选项。-f 大量ping,极限ping。每个ECHO_REQUEST(回传请求)打印一个点,每有一个ECHO_REPLY(回传响应)打印一个退格符(Backspace)。这样可以快速显示丢弃的数据包数量。如果没有给出间隔,它会将间隔设置为0,并按照它们返回或每秒百次的速度输出数据包,以多者为准。只有超级用户才可以0间隔使用此选项。-i interval 发送每个数据包之间等待的间隔(单位秒)。默认设置是等待一秒,极限模式下不等待。只有超级用户可以设置间隔值小于0.2秒。-I interface address 将源地址设置为指定的接口地址。参数可以是数字IP地址或设备名称。在ping IPv6 linklocal地址时,此选项是必需的。-l preload 如果指定了preload,则ping发送许多不等待回复的数据包。只有超级用户可以选择超过3的预加载。-n 仅限数字输出。不会尝试查找主机地址的符号名称-p pattern 你可以指定最多16个“pad”字节来填充你发送的数据包。这对于诊断网络中的数据以来问题是有用的。例如-p ff将导致充满整个被发送包。-q 静默输出。除启动和完成时的摘要行外,不显示任何内容-r 绕过正常的路由表并直接发送到连接接口上的主机。如果主机不在直接连接的网络上,则返回错误。如果还是用了-I选项,则此选项可用于通过没有路由的接口ping本地主机。-R 记录线路。包含ECHO_REQUEST数据包中的RECORD_ROUTE选项,并在返回的数据包上显示路由缓冲区。请注意,IP报头只能容纳9个这样的路由。许多主机忽略或放弃此选项。-s packetsize 指定要发送的数据字节数。默认56,当与8字节的ICMP头数据组合时,转换为64个ICMP数据字节。-t ttl 设置IP生存时间值(TTL)-v 详细输出-w deadline 指定一个以秒为单位的退出时间,不管ping退出之前发送或接收了多少数据包。在这种情况下,ping将一直发送数据包,直到deadline过期或count探针结束或一些来自网络的错误通知。指定ping的次数

以上显示看着啰嗦,那么我们注重结果不注重过程:

上图最后一行我们看到一个陌生的指标 mdev (Mean Deviation)
表示 ICMP 包的RTT偏离平均值的程度,主要用来衡量网速的稳定性,mdev值越大说明网络越不稳定。
指定ping数据包大小
默认情况下,ping命令是以64字节大小的数据包来测试网络连通性的,可以使用参数 -s 选项修改默认数据包大小。

实际工作中,我们通常使用 -s 选项来发现网络环境中有关MTU(网络上传最大的数据包)的问题。
指定ping的TTL
TTL:指生存时间,是指数据包被路由器丢弃之前允许通过的路由器的跳数。
TTL 是由发送主机来设置的,为了防止数据包在网络中无限循环,每个路由器在转发网络数据包时,都要求将TTL的值减少1,直到TTL减为0的那一刻,也就是这个数据包生命终结的时刻。
对于ping命令发出的数据包,可以使用 -t 选项,设定它在网络上的生命时长。

下面是一些常用操作系统肥肉默认值:
1、Linux系统的TTL值为64或255
2、Windows NT/2000/XP 系统的TTL值为128
3、UNIX 系统的TTL值为255
指定ping的时间间隔
ping命令的核心功能就是查看网络的连通性和网络延迟,默认情况下,发生2个数据包之间的间隔是1秒。如果嫌默认1秒发送一个ping 包太慢,则可以使用 -i 选项指定发送两个 ping 包之间的时间间隔,不过需要注意:只有root用户才能设置低于0.2秒的时间间隔。

爱如潮水般的ping
使用 -i 选项可以指定发送时间间隔,我们希望尽可能更快的的速度发送和数据包,则可以使用 -f 选项来实现。
-f (flood ping) :潮水模式的ping。只有超管用户可以使用。

0% packet :表示0丢包率。说明网卡非常正常。也没有任何的网络拥塞。
---------------- 历经天华成此景,世间万事出艰辛! -----------------
linux ping命令实践的更多相关文章
- linux ping命令
Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”. ...
- Linux ping 命令
ping命令用来测试与目标主机的连通性,常见用法如下: [root@localhost ~]$ ping www.baidu.com # 对目标主机域名进行连通性测试 [root@localhost ...
- linux ping 命令解析
不管在windows平台,还是在linux平台,ping都是非常常用的网络命令:ping命令通过ICMP(Internet控制消息协议)工作:ping可以用来测试本机与目标主机是否联通.联通速度如何. ...
- Linux ping命令详解
Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性 基于IMCP协议 常见命令参数 -q 不显示任何传送封包的信息,只显示最后的结果 -n 只输出数值 -R 记录路由过程 ...
- Linux常用命令实践
一.开机自动挂载文件系统设置 在/media下新建RHEL目录,并把/dev/sr1第二块光驱挂载到该目录 #mkdir /media/RHEL #mount /dev/sr1 /media/RHEL ...
- linux常见命令实践.
ls -la : 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls -a . .. 1 online_tools online_tools_0803 ll: 竖列显示所有文件 l ...
- windows 环境和linux环境下 ping命令的区别:
Ping 是Windows自带的一个DOS命令.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.该命令可以加许多参数使用,键入Ping按回车即可看到详细说明.Ping 命令可 ...
- 每天一个linux命令(54):ping命令
Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”. ...
- Linux和Windows下ping命令详解(转:http://linux.chinaitlab.com/command/829332.html)
一.Linux下的ping参数 用途 发送一个回送信号请求给网络主机. 语法 ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ \ -R ] [ -a add ...
随机推荐
- Python学习系列-----第二章 操作符与表达式
2.1 数学运算和赋值的简便方法 例如: 2.2 优先级 在python中运算符有优先级之分,高优先级的运算符先执行,低优先级的运算符后执行.下面是运算符优先级:(同一行的运算符具有相同的优先级) 2 ...
- AWS的load balance
Route53实现了地理上的load balance; ELB实现了region内的load balance CloudFront实现了静态内容的全网加速 ZULh?*;&T(
- Redis的系统级命令
文章建立一个统一的认识就是Redis的版本是3.2.8 1:BGREWRITEAOF(bgrewriteaof) 执行一个 AOF文件 重写操作.重写会创建一个当前 AOF 文件的体积优化版本. 即使 ...
- 立即终止Sleep的线程
在实际工作中,我们需要每隔几分钟从API取数. while(isRunning) { work(); Thread.Sleep(5*60*1000); } 如果设置isRunning=false,也需 ...
- 错误: 安装必备组件失败: 安装必备组件失败: SqlInstanceRtc 有关详细信息
错误: 安装必备组件失败: 安装必备组件失败: SqlInstanceRtc 有关详细信息 查看错误得知是安装sqlexpr_x64.exe的时候出现了错误 解决: 通过打开skype镜像,找到sql ...
- 如何使用Adobe Reader复制PDF文档上的文字
PDF文档大家常用,但是有没有简单的方法能够提取PDF文档上的文字,然后使用呢?除了将PDF转换成Word,这里介绍一种更为简单实用的方法复制PDF文本文字,Adobe Reader是大家都常用的PD ...
- Linux--sudo权限讲解
sudo简介:sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等.这样不仅减少了root用户的登录 和管理时间,同 ...
- vbox安装 ubuntu server 后 安装增强包
用vbox安装虚拟机系统如果不装增强包, 有很多东西就有点不好用-用vbox安装ubuntu server时,点击菜单中的安装增强功能.因为ubuntu server版本没有ui,所以不能很方便滴找到 ...
- Python小技巧:使用*解包和itertools.product()求笛卡尔积
[问题] 目前有一字符串s = "['a', 'b'],['c', 'd']",想把它分开成为两个列表: list1 = ['a', 'b'] list2 = ['c', 'd'] ...
- Core Animation 与 GPU
https://en.wikipedia.org/wiki/Core_Animation#cite_note-apptech-1 Core Animation provides a way for d ...