linux 广播命令,Linux基础命令---ping

ping

ping指令可以发送ICMP请求到目标地址,如果网络功能正常,目标主机会给出回应信息。ping使用ICMP协议强制发送ECHO_REQUEST报文到目标主机,从主机或网关获取ICMP ECHO_RESPONSE。ECHO_REQUESTt数据报(‘pings’)有一个IP和ICMP报头,后面跟着一个timeval结构体,然后是用于填充数据包的任意数量的“pad”字节。

此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法

ping [选项]  destination

2、选项列表选项说明

-a可听的ping

-A自适应平包间隔适应往返时间,因此有效地不超过一个(或多个,如果设置了预加载)未回答的探针在网络中存在。对于非超级用户,最小间隔为200毫秒。在RTT低的网络上,这种模式实质上等同于flood模式。

-b允许ping广播地址

-B不允许ping更改探针的源地址。当ping启动时,该地址绑定到选定的地址。

-ccount指定ping的次数

-d在所使用的套接字上设置SO_DEBUG选项。实际上,linux内核不使用这个套接字选项。

-Fflowlabel在回送请求数据包上分配和设置20位flow label。(只有平6)。如果值为零,内核将分配随机flow label。

-f极限检测,不等收到回复就发送下一个请求,只有超级管理员才可以使用

-iinterval指定发送的时间间隔

-Iinterfaceaddress将源地址设置为指定的接口地址。参数可以是数字IP地址或设备名称。当选择ipv 6链路本地地址时,此选项是必需的。

-lpreload如果指定了预加载preload,ping将发送许多未等待回复的数据包。只有超级用户才能选择超过3的预加载

-L抑制组播数据包的回送。此标志仅适用于ping目标为多播地址的情况

-n用数字方式显示

-ppattern您可以指定多达16个“PAD”字节来填充您发送的数据包。这对于诊断网络中与数据相关的问题很有用

-Qtos在ICMP数据报中设置与服务相关的比特的质量。TOS可以是十进制数,也可以是十六进制数。传统上(RFC 1349),它们被解释为:0表示保留(当前被重新定义为拥塞控制),1-4表示服务类型,5-7表示优先级。服务类型的可能设置是:最低成本:0x02,可靠性:0x04,吞吐量:0x08,低延迟:0x10。不能同时设置多个TOS位。特殊优先级的可能设置范围从优先级(0x20)到净控制(0xe0)。

-q不显示执行过程

-r忽略正常的路由表

-R记录路由

-spacketsize指定数据包的大小

-Ssndbuf设置套接字发送缓冲区sndbuf。如果没有指定,则选择它来缓冲不超过一个数据包

-tttl指定数据包的生存期TTL

-Ttimestampoption设置特殊的ip时间戳选项。可以是tsonly (only timestamps), tsandaddr (timestamps and addresses) or tsprespec  host1  [host2 [host3 [host4]]] (timestamp prespecified hops)

-Mhint选择路径MTU发现策略,可以是do(禁止碎片,即使是本地的)、want(当数据包大小较大时,在本地发现pmtu)、don’t(不设置DF标志)

-U打印完整的user-to-user延迟

-wdeadline在ping退出之前指定一个超时(以秒为单位),而不管发送或接收了多少数据包。

-Wtimeout等待响应的时间,以秒为单位。该选项只影响任何响应的超时,否则ping将等待两个RTT

-v显示详细执行过程

-V显示版本

3、ICMP报文

没有选项的IP报头是20个字节。ICMP echo_Request数据包包含另外8字节的ICMP报头,后面跟着任意数量的数据。当给定一个数据包大小时,这表明了这个额外数据块的大小(缺省值为56)。因此,在ICMP ECHO_REPLY类型的IP数据包中接收的数据量总是比请求的数据空间(ICMP报头)多8个字节。

如果数据空间至少是结构体timeval的大小,Timeval ping使用这个空间的起始字节来包含它在计算往返时间时使用的时间戳。如果数据空间较短,则不提供往返时间。

4、 重复和损坏的数据包

ping将报告重复和损坏的数据包。重复的数据包不应该发生,似乎是由不适当的链路级重传引起的.重复可能在许多情况下发生,很少(如果有的话)是一个好的迹象,尽管低水平的重复可能并不总是引起恐慌。损坏的数据包显然是引起警报的严重原因,并且经常表示ping数据包路径(网络中或主机中)的某个硬件出现故障。

5、尝试不同的数据模式

(内部)网络层不应根据数据部分中包含的数据对分组进行不同的处理。不幸的是,依赖于数据的问题已经被人们知道潜入网络,并且在很长一段时间内没有被发现。在许多情况下,会出现问题的特定模式是没有足够的“转换”的东西,例如所有的1或所有的零,或者在边缘的一个模式,例如几乎所有的零。仅仅指定命令行上所有零的数据模式(例如)并不一定足够,因为感兴趣的模式是在数据链接级别上,而且您键入的内容与控制器发送的内容之间的关系可能很复杂。

这意味着,如果您有一个数据依赖的问题,您可能需要做大量的测试才能找到它。如果幸运的话,您可能会设法找到一个文件,该文件要么无法通过您的网络发送,要么需要比其他类似长度的文件更长的传输时间。然后,您可以检查这个文件是否有重复的模式,可以使用ping的-p选项进行测试。

6、TTL

IP数据包的TTL值表示数据包在被丢弃之前可以通过的最大IP路由器数。在当前的实践中,您可以期望Internet中的每个路由器将TTL字段减少一个。TCP/IP规范规定,TCP数据包的TTL字段应该设置为60,但许多系统使用较小的值(4.3BSD使用30,4.2使用15)。该字段的最大可能值为255,大多数Unix系统将ICMP ECHO_REQUEST数据包的TTL字段设置为255。这就是为什么您会发现您可以“ping”一些主机,但不能通过telnet(1)或ftp(1)到达它们。

在正常操作中,ping从它接收的数据包打印ttl值。当远程系统收到ping数据包时,它可以在响应中使用ttl字段执行以下三项任务之一。

1)不改变它;这是Berkeley Unix系统在4.3BSDTahoe发布之前所做的事情。在这种情况下,接收到的数据包中的TTL值将为255减去往返路径中的路由器数量。

2)将其设置为255;这是目前BerkeleyUnix系统所做的。在这种情况下,接收到的数据包中的TTL值将为255减去从远程系统到ping主机的路径中的路由器数量。

3)将其设置为其他值。有些机器对ICMP数据包使用的值与它们对TCP数据包使用的值相同,例如30或60。其他人可能会使用完全狂野的价值观。

7、实例

1)ping广播地址[root@localhost ~]# ping  192.168.1.255

Do you want to ping broadcast? Then -b

[root@localhost ~]# ping -b 192.168.1.255                  //只有使用-b选项才能ping广播地址

WARNING: pinging broadcast address

PING 192.168.1.255 (192.168.1.255) 56(84) bytes of data.

64 bytes from 192.168.1.8: icmp_seq=1 ttl=64 time=0.219 ms

64 bytes from 192.168.1.8: icmp_seq=2 ttl=64 time=0.282 ms

64 bytes from 192.168.1.8: icmp_seq=3 ttl=64 time=0.215 ms

64 bytes from 192.168.1.8: icmp_seq=4 ttl=64 time=0.268 ms

^C

--- 192.168.1.255 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3684ms

rtt min/avg/max/mdev = 0.215/0.246/0.282/0.029 ms

2)测试目标地址是否畅通[root@localhost ~]# ping -c 4 192.168.1.8                //指定发送数据包的次数

PING 192.168.1.8 (192.168.1.8) 56(84) bytes of data.

64 bytes from 192.168.1.8: icmp_seq=1 ttl=64 time=0.427 ms

64 bytes from 192.168.1.8: icmp_seq=2 ttl=64 time=0.196 ms

64 bytes from 192.168.1.8: icmp_seq=3 ttl=64 time=0.220 ms

64 bytes from 192.168.1.8: icmp_seq=4 ttl=64 time=0.329 ms

--- 192.168.1.8 ping statistics ---

4 packets transmitted, 4 received, 0% packet loss, time 3002ms

rtt min/avg/max/mdev = 0.196/0.293/0.427/0.092 ms

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366047.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第5章 Internet协议 [TCP/IP详解 卷1:协议]

IP是TCP/IP协议族中的核心协议。所有TCP、UDP、ICMP和IGMP数据都通过IP数据报传输。IP提供了一种尽力而为、无连接的数据报交付服务。“尽力而为”的含义是不保证IP数据报能成功到达目的地。任何可靠性必须由上层(例如TCP)提供。IPv4和IPv6都使用这种尽力…

【[SHOI2015]超能粒子炮·改】

就是运用\(Lucas\)推一个柿子 首先是前置芝士\(Lucas\)定理 \[C_{n}^{m}\%pC_{n/p}^{m/p}*C_{n\%p}^{m\%p}\%p\] 至于证明 我建议去问一下Lucas本人 至于这道题,我们要求的是这个柿子 \[\sum_{i0}^kC_{n}^i\%p\] 于是我们设\(f(n,k)\sum_{i0}^kC_{n}^i\) 我们就可以…

Spring REST:异常处理卷。 3

这是该系列中有关Spring REST异常处理的最后一篇文章。 最后,这次我将讨论在表单处理期间可能发生的REST异常的处理。 因此,在本教程中,您将看到与REST,表单和异常处理有关的所有内容。 客户端呢? jQuery将用于反映RES…

centos6安装mysql并远程连接_Ubantu下MySQL安装、部署和远程连接

系统阿里云 ubantu 16.04MySQL 5.0/8.0连接工具 Navicat Premium安装MySQL1、MySQL 5.0直接使用apt命令安装sudo apt install mysql-server输入密码完成安装。安装完mysql-server后,mysql-client就带了,无需单独安装安装成功后输入如下命令检查数据库状态…

linux强制用户改密码,如何在Linux中强制用户在下次登录时更改密码?

由于安全方面的考虑,系统中的用户需要定期更新其密码。在本文中,我们将看到如何强制用户下次登录系统时更改其密码。列出用户首先让我们看一下系统中可用的用户。$ cut -d: -f1 /etc/passwd运行上面的代码给我们以下结果-mailnewsuucpproxywww-databacku…

C# 键盘钩子

C# 键盘钩子 1、键盘钩子: 通过代码将键盘的事件屏蔽掉,达到锁屏的效果。(参考地址:https://zhidao.baidu.com/question/135132386108196965.html) 2、代码如下: public class Hook : IDisposable{public d…

js中字符串和数组的使用

函数: 函数在调用的时候,会形成一个私有作用域,内部的变量不会被外面访问,这种保护机制叫闭包。这就意味着函数调用完毕,这个函数形成的栈内存会被销毁。 但有时候我们不希望他被销毁。 函数归属谁跟它在哪调用没有关…

Spring REST:异常处理卷。 1个

目录 Spring REST:异常处理卷。 1个 Spring REST:异常处理卷。 2 Spring REST:异常处理卷。 3 大家好,是时候继续在我的博客中发布新文章了。 因此,我很高兴地宣布,我计划编写一系列技术文章。 在当前文…

vue/cli3 配置vux

安装各插件 试过 安装“必须安装”的部分亦可 1、安装vuex npm install vuex --save-dev 2、在项目里面安装vux【必须安装】 npm install vux --save 3、安装vux-loader【必须安装】 npm install vux-loader --save-dev 4、安装less-loader(这个是用以正确编译less源…

鼠标右键 移动选定的文件夹到指定位置_怎么把电脑桌面上的文件移动到更加安全的地方...

我们在使用电脑的时候习惯于把各种文档以及其他文件资料随手保存到电脑桌面上,这样操作可以方便以后对这些文档和文件资料的使用、管理,但是由于默认状态下桌面文件位于C盘中,这些文件资料不仅会占用掉C盘的很大的存储空间,并且日…

非常精简的Linux线程池实现(一)——使用互斥锁和条件变量

线程池的含义跟它的名字一样,就是一个由许多线程组成的池子。 有了线程池,在程序中使用多线程变得简单。我们不用再自己去操心线程的创建、撤销、管理问题,有什么要消耗大量CPU时间的任务通通直接扔到线程池里就好了,然后我们的主…

linux vim 执行shell命令行,Linux中vim和shell

在Linux系统中一切皆文件,配置服务其实就是在修改其配置文件的参数,而在日常文件中肯定少不了的就是编辑文档,这就离不开vim,而vim之所以能够得到广大厂商的青睐与用户的认可,原因在于vim编辑器中有三种模式&#xff1…

JS之setTimeOut与clearTimeOut

小练习1:针对HTML,分别使用 setTimeout 和 setInterval 实现以下功能: 点击按钮时,开始改变 fade-obj 的透明度,开始一个淡出(逐渐消失)动画,直到透明度为0在动画过程中&#xff0c…

运行时的Java 8参数名称

Java 8将引入一种更容易的方法来发现方法和构造函数的参数名称。 在Java 8之前,找到参数名称的方法是在编译阶段打开调试符号,这会在生成的类文件中添加有关参数名称的元信息,然后提取复杂的信息,需要处理字节码。获取参数名称。…

python 可执行文件_如何通过Python函数运行的可执行文件的终端...

我想抑制运行可执行文件的函数产生的所有终端输出. 我试图通过使用每次调用函数时临时重新定义stdout和stderr的上下文管理器来抑制Python函数的输出.这会抑制函数中的print调用产生的终端输出,但是当函数调用产生终端输出的可执行文件时,它似乎不起作用. 那么,如何抑制Python函…

嵌入式linux系统文件,嵌入式Linux文件系统知多少

Nand/Nor Flash在嵌入式Linux产品中,通常使用的存储介质为Nand Flash和Nor Flash,而手机、相机等产品通常使用eMMC、SD Card作为存储介质,导致这种差异的原因主要是成本考量。Nand Flash和Nor Flash具有低成本、高密度存储的优势。但是&#…

三分钟上手Highcharts简易甘特图

根据业务需求,找到了这个很少使用的图形,话不多说,看看该如何使用。首先要引入支持文件:可根据链接下载。 exporting.js:https://img.hcharts.cn/highcharts/modules/exporting.js xrange.js:https://img.h…

WEB语义化

WEB语义化让机器读懂内容,HTML就带有一定「语义」的标签,比如段落,标题,表格和图片等。让机器读懂内容,那么两种方案:第一种让机器变得更人工智能化,也就是现在大火的AI。第二种是人们去发布认可…

Jetty 9.1上的Java WebSockets(JSR-356)

最终发布了Jetty 9.1 ,将Java WebSockets(JSR-356)引入了非EE环境。 这真是个好消息,今天的帖子将介绍如何将这个出色的新API与Spring Framework一起使用。 JSR-356定义了基于注释的简洁模型,以允许现代Java Web应用程…

如何用python画组合图形_python结合G2绘制精美图形

$.getJSON(top10.json, function (data) { var Frame G2.Frame; var frame new Frame(data); var chart new G2.Chart({ id: c1, width: 500, height: 400 }); chart.source(frame, { pct: {alias: 年化相对收益率(%)}, }); // 去除 X 轴标题 chart.axis(name, { title: nul…