【Linux】ping命令详解

这篇具有很好参考价值的文章主要介绍了【Linux】ping命令详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Linux】ping命令详解,Linux,linux,服务器,ping,请求应答,wireshark,ping用法

目录

一、ping概述

二、Ping用法

三、ping参数详解

四、使用

五、Wireshark抓取ICMP请求应答消息


一、ping概述


ping 命令用于测试与目标主机之间的连接。它向目标主机发送一个ICMP(Internet Control Message Protocol)Internet控制报文协议回显请求,并等待它的回应。如果目标主机正常工作并且连接畅通,则会收到一个回显响应。如果没有收到响应,则说明有问题,需要进一步排除故障。ping可以用来测试本机与目标主机是否联通、联通速度如何、稳定性如何。

【Linux】ping命令详解,Linux,linux,服务器,ping,请求应答,wireshark,ping用法

使用ping命令作用:

1. 检测网络连接问题:如果我们无法访问某个网站或主机,可以使用ping命令来检测网络连接是否正常。如果ping命令能够成功收到目标主机的回复,说明网络连接正常;如果无法收到回复,可能是网络故障或目标主机不可达。

2. 测量网络延迟:通过ping命令可以测量网络延迟,即从发送ICMP请求到接收到回复所需的时间。可以使用ping命令的-c选项指定发送的ICMP请求次数,然后计算平均延迟时间。较高的延迟可能会导致网络连接缓慢,需要进一步排查网络问题。

3. 检测丢包率:ping命令还可以用于检测网络丢包率,即发送的ICMP请求在传输过程中丢失的比例。可以观察ping命令的输出结果中的丢包率字段,如果丢包率较高,可能是网络拥堵或目标主机负载过高。


二、Ping用法


ping命令运行在命令提示符终端,用法为:“ping 参数 目标主机”。其中参数为零到多个,目标主机可以是IP或者域名。

[root@hdp105 ~]# ping  --help
ping: invalid option -- '-'
Usage: ping [-aAbBdDfhLnOqrRUvV64] [-c count] [-i interval] [-I interface]
            [-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
            [-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
            [-w deadline] [-W timeout] [hop1 ...] destination
Usage: ping -6 [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
             [-l preload] [-m mark] [-M pmtudisc_option]
             [-N nodeinfo_option] [-p pattern] [-Q tclass] [-s packetsize]
             [-S sndbuf] [-t ttl] [-T timestamp_option] [-w deadline]
             [-W timeout] destination
[root@hdp105 ~]# 

例如,如果您要测试与主机hdp105之间的连接,可以使用以下命令:

ping hdp105

【Linux】ping命令详解,Linux,linux,服务器,ping,请求应答,wireshark,ping用法

Ping命令告诉我们,它会持续不断地给目标IP发送ICMP数据报,上面的截图中的每一行代表了一个从ICMP响应的信息,具体包括

  • icmp_seq:ICMP 数据包序号,从1开始递增,如果中间不连续代表丢包了。
  • ttl:生存时间,具体指允许数据包之间通过多少个路由器或跳数,数据包每经过一个路由器,ttl会减1,当ttl归零时,这个数据包的生成周期结束,处理它的路由器会丢弃这个数据包。默认情况下,Linux系统的TTL值为64或255。
  • time: 这个数据报的响应时间,时间越短,代表响应速度越快。

然后是统计信息,它告诉我们,一共有12个数据报被传递,全被接收,没有数据包丢失。最后一行是:最小/最大/平均响应时间和本机硬件耗费时间。


三、ping参数详解


参数

详解

-a

Audible ping.

-A

自适应ping,根据ping包往返时间确定ping的速度;

-c count

ping指定次数后停止ping;

-i interval

设定间隔几秒发送一个ping包,默认一秒ping一次;

-I interface

指定网卡接口、或指定的本机地址送出数据包;

-l preload

设置在送出要求信息之前,先行发出的数据包;

-p pattern

指定填充ping数据包的十六进制内容,在诊断与数据有关的网络错误时这个选项就非常有用,如:“-p ff”;

-q

不显示任何传送封包的信息,只显示最后的结果

-Q tos

设置Qos(Quality of Service),它是ICMP数据报相关位;可以是十进制或十六进制数,详见rfc1349和rfc2474文档;

-R

记录ping的路由过程(IPv4 only);
注意:由于IP头的限制,最多只能记录9个路由,其他会被忽略;

-r

忽略正常的路由表,直接将数据包送到远端主机上,通常是查看本机的网络接口是否有问题;如果主机不直接连接的网络上,则返回一个错误。

-S sndbuf

Set socket sndbuf. If not specified, it is selected to buffer not more than one packet.

-s packetsize

指定每次ping发送的数据字节数,默认为“56字节”+“28字节”的ICMP头,一共是84字节;
包头+内容不能大于65535,所以最大值为65507(linux:65507, windows:65500);

-t ttl

设置TTL(Time To Live)为指定的值。该字段指定IP包被路由器丢弃之前允许通过的最大网段数;

-T timestamp_option

设置IP timestamp选项,可以是下面的任何一个:
'tsonly' (only timestamps)
'tsandaddr' (timestamps and addresses)
'tsprespec host1 [host2 [host3]]' (timestamp prespecified hops).

-M hint

设置MTU(最大传输单元)分片策略。
可设置为:
'do':禁止分片,即使包被丢弃;
'want':当包过大时分片;
'dont':不设置分片标志(DF flag);

-m mark

设置mark;

-v

使ping处于verbose方式,它要ping命令除了打印ECHO-RESPONSE数据包之外,还打印其它所有返回的ICMP数据包;

-W timeout

以毫秒为单位设置ping的超时时间;

-w deadline

deadline;

ping常用命令选项:

-c count:指定发送的ICMP请求次数,默认为无限次。

-i interval:指定发送ICMP请求的时间间隔,默认为1秒。

-s packetsize:指定发送的ICMP请求的数据包大小,默认为56字节。

-W timeout:指定等待ICMP回复的超时时间,默认为10秒。


四、使用


1、正常访问域名、错误域名和不可达的 IP一共 ping 5次

【Linux】ping命令详解,Linux,linux,服务器,ping,请求应答,wireshark,ping用法

如上对于不可达的IP和域名为返回错误。

2、极限快速的使用大包ping
以最快的速度,使用最大的包进行ping,可用于测试目标主机的承压能力

【Linux】ping命令详解,Linux,linux,服务器,ping,请求应答,wireshark,ping用法

注意:65535(包头+内容)*100个包每秒=6.25MB,每秒发送6.25MB的数据,相当于50Mbps的带宽,完全可能导致目标主机拒绝服务。谨慎使用。

3、ping发送1024大小的包,间隔5秒发送,一共发送5次

ping -c 5 -i 3  -s 1024 192.168.2.155

【Linux】ping命令详解,Linux,linux,服务器,ping,请求应答,wireshark,ping用法

如图,发送包的尺寸不再说默认的64bytes,但是不是设置的1024bytes。因为这个是对端主机返回的包。上一行,标注的才是我发出的包大小“1024(1052)”。

3、ping发送1024大小的包,间隔1秒发送,将在3秒后停止ping

 ping -w 3 -i 1  -s 1024 192.168.2.155

【Linux】ping命令详解,Linux,linux,服务器,ping,请求应答,wireshark,ping用法

4、ping过程记录路由信息 -R选项参数实现

在“记录路由”字段中记录传出和返回数据包的路由,探测经过的路由个数,但最多只能跟踪到9个路由。

ping -c 1   -R www.baidu.com

【Linux】ping命令详解,Linux,linux,服务器,ping,请求应答,wireshark,ping用法


五、Wireshark抓取ICMP请求应答消息


在 Wireshark 的数据包界面中输入显示过滤器并执行,我们选择 ping 百度:

【Linux】ping命令详解,Linux,linux,服务器,ping,请求应答,wireshark,ping用法

在框框中输入显示过滤器,进行数据查找,也可以根据协议过滤数据包,我输入 ip.addr == 110.242.68.3,然后开始捕获,在开始ping 百度,输出如下捕获到的信息:

ICMP回显请求报文

【Linux】ping命令详解,Linux,linux,服务器,ping,请求应答,wireshark,ping用法

ICMP回显请求报文

【Linux】ping命令详解,Linux,linux,服务器,ping,请求应答,wireshark,ping用法


Linux常用网络命令总结 - 换甲 - 博客园

Linux常用的网络命令有哪些?快速入门!

Linux 常用ping命令详解 - 爱E族

【Linux】ping命令详解,Linux,linux,服务器,ping,请求应答,wireshark,ping用法文章来源地址https://www.toymoban.com/news/detail-715438.html

到了这里,关于【Linux】ping命令详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 配置常见服务器命令

    Linux常见配置服务器的命令整理,基于Centos 7 。 配置web nginx msyql 这里再附一份nginx详细配置文件(一般用于项目部署):

    2024年02月16日
    浏览(29)
  • Linux查看服务器配置命令

    往往在操作中需要查看服务器配置,简单罗列了一些相关命令,欢迎补充。 1、查看 cpu信息 2、查看内存信息 3、 查看CPU 4、查看操作系统信息 5、查看centos版本信息 6、查看磁盘使用情况 7、查看其它磁盘外设信息 8、查看所有可用块设备的信息 9、查看所有硬件信息 10、查看

    2024年02月07日
    浏览(58)
  • Linux服务器移动文件命令

    mv(move) 命令可以将文件和目录从一个位置 移动 到另一个位置;         它也可以用来 重命名 文件和目录。 mv命令语法         source 可以是一个或多个文件或目录;         destination 总是一个文件或目录;         如果我们以单个文件为源,以一个目录为目标

    2023年04月25日
    浏览(46)
  • linux服务器启动、关闭、重启命令

    关机命令: 1、halt 立刻关机 2、poweroff 立刻关机 3、shutdown -h now 立刻关机(root用户使用) 4、shutdown -h 10 10分钟后自动关机 如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启 5、init0 停机或者关机 重启命令: 1、reboot 立即重启 2、shutdown -r now 立刻重启(root用户使

    2024年02月15日
    浏览(63)
  • linux常用查看服务器内存的命令

    free 命令用来显示系统内存状态,包括系统物理内存、虚拟内存(swap 交换分区)、共享内存和系统缓存的使用情况,其输出和 top 命令的内存部分非常相似。   free 命令的基本格式如下: [root@localhost ~]# free [选项] 表 1 罗列出了此命令常用的选项及各自的含义。 表 1 free 命令

    2024年02月16日
    浏览(71)
  • Linux 查看服务器内存、CPU 命令

    1 查看物理CPU个数:         Procs(进程) 2 查看服务器CPU内核个数 1 linux查看系统内存(硬盘) 2 查看服务器硬盘(当前文件夹下)使用率: 3 查看服务器硬盘(所有文件占用率)使用率: 1 查看内存,不带单位 2 查看内存使用情况,带单位,显示查看结果 显示的参数:       

    2024年02月15日
    浏览(56)
  • Linux(三):Linux服务器下日常实操命令 (常年更新)

    cd命令 :切换目录  cd   :切换当前目录百至其它目录,比如进入/etc目录,则执行 cd /etc cd / :在Linux 系统中斜杠“/”表示的是根目录。cd / ,即进入根目录. cd ~:进入用户在该系统的home目录,例如xz用户,则进入/root/xz目录 cd.. :返回上一级目录   cd - : 切换到上一次目录

    2024年02月14日
    浏览(45)
  • linux 查看硬件服务器命令大全(超详细)

    一、查看服务器硬件信息 查看服务器型号、 序列号 查看主板型号 查看BIOS信息 查看 内存 槽及内存条 查看网卡信息 二、查看CPU信息 (1)查看cpu型号 (2)查看系统中实际物理CPU的数量 (3)系统中逻辑CPU的数量(核数) (4)查看单颗物理CPU核数 (5)查看CPU的主频 查看

    2024年02月05日
    浏览(55)
  • 使用Linux命令修改服务器时间及设置时区

    在服务器管理和维护中,准确的系统时间对于保证服务器正常运行和数据一致性至关重要。 而有时候,我们可能需要手动修改服务器上的系统时间,以调整时区、修复时间漂移等问题。 本文将介绍如何使用Linux命令来修改服务器时间。 一、检查当前时间 首先,我们需要使用

    2024年02月21日
    浏览(59)
  • 【Linux】curl 命令 在服务器上测试接口

    业务场景:最近一直在做对外合作的业务,比如对接微信、支付宝、中行等支付相关的接口,引出本篇 的根本原因就是在进行对接中行领取数字红包的接口时,他们会针对我们的服务器IP来开放指定的接口访问权限,本地想通过AirPost之类的工具测试人家的接口是没有权限的,

    2024年02月06日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包