一命令原理

Ping是ICMP的一个典型应用。Ping是检测网络连通的常用工具,同时也能收集其他相关信息。用户可以在Ping命令中指定不同参数,如ICMP报文长度、发送的ICMP报文个数、等待回复响应的超时间等,设备根据配置的参数构造来发送ICMP报文,进行Ping测试。

Ping的运作原理是向目标端发送一个ICMP Echo请求报文,并等待ICMP Echo应答报文的回应,根据是否收到回显应答报文判断目的端网络是否可达。

在路由器A上输入Ping命令:ping 10.0.0.2

Ping命令的输出信息包括目的地址、ICMP报文长度、序号、TTL值以及往返时间。序号是包含在Echo回复消息中的可变参数字段,TTL值和往返时间包含在消息的IP头部中。

对目的地址进行Ping测试的统计结果统计结果(ping statistics)包括:

  • packets transmitted:发送的ECHO-REQUEST报文数目

  • packets received:接收到的ECHO-RESPONSE报文数目

  • packet loss:未响应报文数占应响应报文总数的百分比

  • round-trip min/avg/max:响应时间的最小值、平均值、最大值

在路由器A上抓包,可以看到每一次ICMP Echo 请求报文都可以收到ICMP Echo应答报文的回应。总共收到5个回显应答报文。

二参数详解Ping命令可以配置不同参数以实现不同的用途。其参数详解如下:

参数

参数说明

取值范围

-a

设置发送ICMP ECHO Request报文的源IP地址。

-c

设置发送ICMP ECHO Request报文的次数。

取值范围1~4294967295。缺省为5次。

-h

设置TTL的值。

取值范围1~255 。

-t

发送ICMP ECHO Request报文后,等待ICMP ECHO Reply报文的超时时间。

单位是ms,取值范围是0~65535。缺省超时时间是2000ms。

-m

设置发送下一个ICMP请求报文的等待时间。

取值范围1~10000,单位ms。缺省值为500ms。

-r

记录路由。缺省情况下,不记录路由。

-s

ECHO-REQUEST报文长度(不包括IP和ICMP报文头)。

单位是字节,取值范围是20~8100。缺省报文长度是56字节。

实验验证:在ENSP上对目的地址进行携带参数的Ping测试,实验拓扑如图所示。采用3台AR2200路由器,并且采用RIPv2协议实现全互联。接口配置如表所示:

设备

设备名称

接口

IP地址

AR1

R1

G0/0/0

10.0.0.1/24

Loopback0

11.11.11.11/24

AR2

R2

G0/0/0

10.0.0.2/24

G0/0/1

10.1.1.2/24

AR3

R3

G0/0/0

10.1.1.3/24

1. 首先在R1上ping 10.1.1.3并抓包,可以观察到Request报文的源地址为10.0.0.1

2. 在R1输入ping -a 11.11.11.11 10.1.1.3,可以看到此时的报文源地址为11.11.11.11

3. 通过参数-c 改变发送ICMP ECHO Request报文的次数。设置参数为8,由于发送的ICMP ECHO Request报文的次数为8次,所以收到了8个响应报文。

4. 通过参数-h 改变TTL值,在R1上输入ping -c 128 10.1.1.3,抓取R1发送的ICMP Echo Request报文,查看IP头部可以看到TTL值此时已经改变。

通过Ping命令的输出信息可以看到不影响Echo Reply报文的TTL值。

5. 通过参数-t 改变等待回显消息的超时时间。

6. 改变参数-m ,设置发送下一个ICMP请求报文的等待时间。ICMP请求报文的等待时间默认为500ms。抓包可以看出每一次Echo request报文的发送间隔为500ms。

接下来在R1上输入ping -m 1000 10.1.1.3,抓包显示每一次Echo request报文的发送间隔为1000ms。

7. 在R1上通过参数-r ,显示Echo Reply报文经过的途径。

8. 通过参数-s 改变ECHO-REQUEST报文长度。只改变Data字段的长度。

ping常见有以下几种应用场景(ping命令在任意视图下执行):

场景一:检查本机协议栈。执行ping ,可以检查本机TCP/IP协议栈是否正常。

如:ping 127.0.0.1

场景二:在IP网络中检测目的主机是否可达。执行ping ,向对端发送ICMP ECHO-REQUEST报文,如果能够收到对端应答(Echo Reply),则可以判定对端路由可达。

如:ping 10.1.1.2     //检查IP地址为10.1.1.2的主机是否可达

场景三:网络环境较差时,通过ping -c count -t timeout host命令可以检测本端到对端设备间的网络质量。通过分析显示结果中的丢包率和平均时延,可以评估网络质量。对于可靠性较差的网络,建议发包次数(-c)和超时时间(-t)取较大值,这样可以更加准确的得到检测信息。

如:ping -c 8 -t 4000 10.1.1.4    //检查IP地址为10.1.1.4的主机是否可达,设置发送报文次数为8,设置发送报文等待应答的超时时间为4000ms

场景四:检测路径。执行ping -r 命令,可以得到本端到对端的路径节点信息。

如:ping -r 192.168.108.107

ping不通排查思路:

1. 检查路由器上端口是否UP、IP地址配置是否正确。

参考命令:display interface brief、display ip interface [ < interface-type > < interface-number > ]

2. 如果是二层口,检查设备上是否运行了STP二层协议;确认ping业务经过的物理端口是否被阻塞。

参考命令:display stp [ instance < instance-id > ] [ interface < interface-type > < interface-number > ] [ brief ]

3. 确认两端路由是否可达:若不可达,排查路由故障。

参考命令:display ip routing-table

4. 确认本端和对端是否有策略限制;若对端为防火墙,确认对端端口是否正确加入域,域间规则是否放开。

5. 检查直连地址的ARP是否学习正常:若学习不到,检查是否使能arp严格学习,去使能后再试;若已去使能依然学不到,请在两端设备的其中一端执行长ping,同时通过基于arp的流量统计确认arp-request报文是否从端口送出以及对端设备物理口是否回应arp-reply。

参考命令:display arp、display arp learning strict

6. 若上述一切正常,部署基于icmp的流量统计,确认报文丢在哪里,定位ping丢包点。

三在Windows的实现

1. 首先打开命令提示符窗口。用快捷键win+R 调出运行命令框。输入cmd 后点击确定。

2. 在界面输入Ping 命令及相应参数。这里我们可以输入ping -t  www.baidu.com

3. 然后通过CTRL+C停止发包,得到Ping统计信息,可以反映当前的上网状况。

四总结

ping 是最常见的用于检测IPv4/IPv6网络设备是否可达的调试手段。我们可以灵活运用ping 的各种参数来排查或检验网络的运行状况。熟练地掌握ping 的运用也有助于加深我们对数据传输的理解。

国科学员 吕伟棋

就读于华侨大学通信工程专业,平时喜欢看足球比赛和打游戏。在国科,我认识了很多人,也学到了很多知识。现在是国科讲师预备生团体的一员,很高兴可以在这里和大家分享我的技术文档,希望对大家有所帮助。

ping ip 端口_学生会私房菜【20200305期】——Ping命令及其常用参数详解相关推荐

  1. 漏洞payload 靶机_学生会私房菜【20200707期】Wordpress 4.6 任意命令执行漏洞

    学生会私房菜 学生会私房菜是通过学生会信箱收集同学们的来稿,挑选其中的优质文档,不定期进行文档推送的主题. 本期文档内容为:<Wordpress 4.6 任意命令执行漏洞> 作者介绍:AT ...

  2. java rmi漏洞工具_学生会私房菜【20200924】Weblogic WLS核心组件反序列化命令执行突破(CVE20182628)漏洞复现...

    学生会私房菜 学生会私房菜是通过学生会信箱收集同学们的来稿,挑选其中的优质文档,不定期进行文档推送的主题. 本期文档内容为:Weblogic WLS核心组件反序列化命令执行突破(CVE-2018-26 ...

  3. k型热电偶材料_电热汇分享热电偶测温元件符号、标准及参数详解

    有人咨询电热汇问:热电偶测温元件符号.标准及参数是什么?今天来详细介绍一下. 一.热电偶测温元件符号 当导电物质处于温度时,其电子或空穴会随着温度梯度由高温区往低温区移动,由此产生的电荷堆积的现象称作 ...

  4. 已知坐标求方位角_【干货】RTK视频实操 | 求转换参数详解和七点注意事项!

    RTK视频教学,『求转换参数』,技术员结合测量一线实操经验,运用工程之星5.0软件为大家讲解如何求转换参数,以及求转换参数需要注意哪些事项. 求转换参数操作 通常情况下,科力达工程之星直接输出的坐标为 ...

  5. python excel操作库_超全整理|Python 操作 Excel 库常用操作详解

    来源:早起Python 作者:陈熹.刘早起 大家好,我是早起. 在之前的文章中我们曾详细的讲解了如何使用openpyxl 操作Excel,其实在Python中还有其他可以直接操作 Excel 文件的库 ...

  6. 微信小程序点击带id参数跳转_微信小程序页面跳转方法和携带参数详解

    1.页面跳转方式 (1)标签跳转 open-type的属性值对应api里的用法即wx.的用法 1 跳转到新页面 (2)wx.navigateTo 方法跳转 此方法能够从跳转的页面会回到当前页面 1 w ...

  7. cmd打开nmap_诸神之眼:Nmap端口扫描工具使用小手册——学生会私房菜【20190524期】...

    菜系:安全技术分享 主厨:国科(福州)学生会教学部--王荣昌.李志超 1 Nmap介绍 1.1 Nmap 简介 1) Nmap ("Network Mapper(网络映射器)") ...

  8. ★核心关注点_《信息系统项目管理师考试考点分析与真题详解》

    ★核心关注点_<信息系统项目管理师考试考点分析与真题详解> 真诚感谢你选用<信息系统项目管理师考试考点分析与真题详解>作为高级项管的辅导用书.对于使用该书的读者们,在备考201 ...

  9. python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

最新文章

  1. 苹果公司开发Overton机器学习平台,它到底是什么?
  2. ftp部署一个可供centos6、centos7系统使用的yum网络仓库
  3. 定时器php windows任务计划
  4. python接口自动化-参数化
  5. face 3000 C++ 代码理解
  6. 【鱼眼镜头6】[鱼眼畸变模型]:统一相机模型标定
  7. kmalloc参数GFP_ATOMIC or GFP_KERNEL?
  8. 好用的Android抓包神器 VNET
  9. 谷歌地球替代软件、谷歌街景、谷歌三维城市模型查看全方案
  10. 在VMware虚拟机中安装Ubuntu教程
  11. idm站点抓取不了html,IDM站点抓取功能使用详解(下)
  12. mysql表空间加密
  13. 泰坦尼克号生存预测python毕设_机器学习入门案例分析-泰坦尼克号生存预测
  14. CSS3开启硬件加速及利弊
  15. 蓝桥杯——种植园问题(prev54)
  16. hive 学习系列三(表格的创建create-table)
  17. Origin批量滤波
  18. java8的时间Date比较
  19. cad立体图怎么旋转看图_cad布局中图形怎么旋转
  20. java趣味程序 五猴分桃_趣味数学及编程拓展epub

热门文章

  1. Redis应用场景说明与部署
  2. Scheduler(Spring)
  3. tomcat jvm调优
  4. 开源Gis简介(转)
  5. Cervical Cancer mechanism
  6. Flink1.4.0连接Kafka0.10.2时遇到的问题
  7. csharp DataTable and DataGridView delete a Row
  8. ElasticSearch2.2.0安装
  9. AEAI WM v1.6.0 升级说明,开源工作管理系统
  10. Java主要知识结构