【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-789905.html

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

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

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

相关文章

  • linux中ping命令网络不可达或ping www.baidu.com未知的名称与服务

    linux提示网络不可达/未知的名称与服务 检查静态ip地址、网关、子网掩码 、域名解析地址是否配置完成,是否设为静态  重启网络: 1.查看网卡: 2.查看网关    发现此时网关并未设置成功  添加网关 设置完成  ping通

    2024年02月11日
    浏览(42)
  • Linux ping命令详解

    1.命令介绍 ping命令的功能是用于测试主机间网络连通性 ,发送出基于ICMP传输协议的数据包,要求对方主机予以回复,若对方主机的网络功能没有问题且防火墙放行流量,则就会回复该信息,我们也就可得知对方主机系统在线并运行正常了。 ping命令用于:确定网络和各外部

    2024年02月05日
    浏览(44)
  • 【Linux】ping命令详解

    目录 一、ping概述 二、Ping用法 三、ping参数详解 四、使用 五、Wireshark抓取ICMP请求应答消息 ping 命令用于测试与目标主机之间的连接。它向目标主机发送一个 ICMP (Internet Control Message Protocol)Internet控制报文协议回显请求,并等待它的回应。如果目标主机正常工作并且连接畅

    2024年02月08日
    浏览(46)
  • 非常有用的Linux网络诊断命令:traceroute

    traceroute 是一个网络诊断工具,用于检测数据包从本机到目标主机经过的路由路径。它可以帮助我们分析出网络连接的瓶颈,定位网络问题,并帮助我们优化网络连接。在 Linux 系统中,traceroute 命令是一个非常常用的工具。 在大多数 Linux 发行版中,traceroute 工具已经默认安装

    2024年02月13日
    浏览(34)
  • linux 服务器执行post请求 curl命令详解

    curl是一个命令行访问URL的计算机逻辑语言的工具,发出网络请求,然后得到数据并提取出,显示在标准输出“stdout”上面,可以用它来构造http request报文,curl(CommandLine Uniform Resource Locator),即在命令行中利用URL进行数据或者文件传输。 基本语法: curl [option] [url] 实际用法 PO

    2024年02月02日
    浏览(42)
  • Linux 查看服务器内存、CPU、网络等占用情况的命令

    1、查看物理CPU个数:cat  2、查看服务器CPU内核个数:cat    每个物理CPU中core的个数(即核数) 3、服务器内存使用情况:free 3.1、缓存清除 如果cached过大接近total数就需要清除缓存了,缓存清除命令:  4、查看服务器的平均负载:top top   --可以查看服务器各个进程情况 u

    2024年02月08日
    浏览(67)
  • linux 服务器进程、端口查找,nginx 配置日志查找,lsof 命令详解

    1.1 使用查看端口号对应的进程信息 方式一 : 使用netstat命令 -t:显示TCP连接 -u:显示UDP连接 -l:仅显示监听状态的连接 -n:以数字形式显示端口号,而不是以服务名称显示 通过管道符号|将netstat的输出结果传递给grep命令,用于过滤出包含指定端口号的行。 执行命令后,终端

    2024年02月04日
    浏览(60)
  • Linux - 进阶 NFS服务器 详解网络共享服务器 ( 预备知识)

               N  :  就是 网络 Network          F   :     就是  File  文件         S   :  system          简称为 网络文件系统                 官方   :               NFS 是一种古老的用于UNIX/LINUX主机之间进行文件共享的协议              Network  File  System 网

    2024年02月13日
    浏览(50)
  • 一文教你玩转Linux的ping命令,从此成为Linux网络高手

    Ping是一种基于Internet控制消息协议(ICMP)的工具,用于测试主机之间的连接。Ping命令向目标主机发送一个ICMP回显请求,目标主机收到请求后会发送回一个ICMP回显应答,从而告诉发起请求的主机连接是通畅的。Ping命令可以用于测试主机是否在线,以及网络是否通畅。 当Pin

    2024年02月11日
    浏览(38)
  • Linux服务器配置指南:网络、用户管理、共享服务及DNS配置详解

    💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】 🤟 基于Web端打造的:👉轻量化工具创作平台 💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 设置虚拟机的网卡为仅主机模式,并要求服务器采用双网卡, ens33 IP地址设置为192.168. 5.x/24(其中x学号),

    2024年02月05日
    浏览(54)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包