cmd ping端口_Ping命令及其常用参数详解

一、命令原理

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

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

60476374146600d733f66ce6ecdf850a.png

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

db3fc0ab3185dbf54787c240c52d818c.png

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个回显应答报文。

1270be954f6d031bdcd072b521f0de74.png

二、参数详解

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

8a46f4f24f7003882d1b6974f6380c6d.png

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

1c72cabe11f5f1e37c814f189321cfb5.png
6f7844e576f51fb46a67df1aa0bfc2ec.png

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

33ea28b48e0960041490b0046b63191e.png

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

a2c9fca92e704dc4b9daee1f40b9075c.png

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

0693d688c0213369274fae44936ab7b3.png

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

6494ae2d0a3d03a68ba3d2978cef901d.png

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

fad46fc0329b05a728cdcf3690a3a173.png

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

327e1969ff8c1e1b7d6629c40cf742fa.png
f1280a81751ec4d704b3295eae2652cd.png

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

1323e21376aa7a9552e7468c1afd1546.png

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

9435413c88b6003db6fb89aab83814dd.png

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

e01be19c9d890d294383c458a9428636.png

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

4133e63e895fa60dfc2b47e781bc7264.png
203695696f6df38039746faaa9ff4a93.png
ec42f558192566e5cc9fd92db3254adc.png

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

bb81631535d4cf207bef28d09ee39911.png

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

四、总结

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

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值