转载:http://blog.csdn.net/star_xiong/article/details/17320473

ping命令使用介绍及怎样使用Ping命令来测试网络连通性

一、ping命令的原理和工作机制

ping命令一般用于检测网络通与不通,也叫时延,其值越大,速度越慢PING(PacketInternet Grope),因特网包探索器,用于测试网络连接量的程序。
ping发送一个ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。它是用来检查网络是否通畅或者网络连接速度的命令。
原理:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。

二、ping的工作流程

1、在同一网段内

ping 主机A --------------------->主机B ICMP请求包 在本机(主机A)查找ARP缓存表查找主机BIP与其对应的MAC 没有找到主机BIP与其MAC的映射关系,则发送一个arp请求广播, 主机B接收到arp请求包后,回复一个arp应答包(里面包含本机MAC),
主机A <----------------------主机B ICMP应答包

2、不在同一网段

在主机A上运行“ping主机C(不在同一网段)”后,开始跟上面一样,到了怎样得到MAC地址时,IP协议通过计算发现C机与自己不在同一网段内,就直接将交由路由处理,也就是将路由的MAC取过来,至于怎样得到路由的MAC,跟上面一样,先在ARP缓存表找,找不到就广播包。路由得到这个数据帧后,再跟主机C进行联系,如果找不到,就向主机A返回一个超时的信息。

三、ping命令的使用

ping命令的一般格式为:

ping [- dfnqrRv ][-c发送次数 ][- i 间隔秒数 ][-I (大写 i )网络界面 ][-l (小写 L)前置载入 ][-p范本样式 ] [-s数据包大小 ][-t存活数值 ][主机名或 IP地址 ]
参数说明:

-c count】指定要被发送(或接收)的回送信号请求的数目,由Count变量指出。

-w timeout】 这个选项仅和-c选项一起才能起作用。它使 ping命令以最长的超时时间去等待应答(发送最后一个信息包后)。默认超时时间为4000ms(4s)

-d】使用SocketSO_DEBUG功能。

-D】这个选项引起 ICMP ECHO_REPLY信息包向标准输出的十六进制转储。

-f】 指定flood-ping选项。-f标志“倾倒”或输出信息包,在它们回来时或每秒100次,选择较快一个。每一次发送ECHO_REQUEST,都打印一个句号,而每接收到一个ECHO_REPLY信号,就打印一个退格。这就提供了一种对多少信息包被丢弃的信息的快速显示。仅仅root用户可以使用这个选项。

注:这在网络上将非常困难,必须小心使用。Flood ping命令仅仅root用户可以使用。-f标志与-iWait标志不兼容.

-n】只输出数值。

-r】忽略路由表,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。

-R】记录路由过程。-R标志包括ECHO_REQUEST信息包中的RECORD_ROUTE选项,并且显示返回信息包上的路由缓冲。

-v】 详细显示指令的执行过程。

-iwait】在每个信息包发送之间等待被Wait变量指定的时间(秒数)。缺省值是在每个信息包发送之间等待1秒。这个选项与-f标志不兼容。

-Ia.b.c.d】指定被a.b.c.d标明的接口将被用于向外的IPv4多点广播。-I标志是大写的i

-lPreload】在进入正常行为模式(每秒1)前尽快发送Preload变量指定数量的信息包。-l标志是小写的L

【 -L】对多点广播ping命令禁用本地回送。

-pPattern】指定用多达16个“填充”字节去填充你发送的信息包。这有利于诊断网络上依赖数据的问题。例如“-pff全部用1填充信息包。

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

-spacketsize】 指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。

-Shostname/IPaddr】将IP地址用作发出的ping信息包中的源地址。在具有不止一个IP地址的主机上,可以使用-S标志来强制源地址为除了软件包在其上发送的接口的IP地址外的任何地址。如果IP地址不是以下机器接口地址之一,则返回错误并且不进行任何发送。

-ttll】 设置存活数值TTL的大小。

-ointerface】指出interface将被用于向外的IPv6多点广播。接口以“en0”,“tr0”等的形式指定。

使用举例:

(1)指定要被发送(或接收)的回送信号请求的数目:

#ping -c 5 172.17.0.254  (请求5次)

(2)信息包被丢弃的信息的快速显示:

#ping -f 172.17.0.254

(3)在每个信息包发送之间等待被Wait变量指定的时间(秒数):

#ping -i 2 172.17.0.254  (间隔2s)

四、ping测试

1ping本机IP

#ping 172.17.0.11/127.0.0.1
(测试: # ifdown eth0 之后再 ping 试试
如果 ping 不通的话则表明网卡安装或配置有问题。将网线断开再次执行此命令,如果显示正常,则说明本机使用的 IP 地址可能与另一台正在使用的机器 IP 地址重复了。如果仍然不正常,则表明本机网卡安装或配置有问题,需继续检查相关网络配置
Ubuntu 下配置文件位置:
[IP] : / etc /network/interfaces
[DNS] : / etc / resolv.conf

2ping网关IP

#ping 172.17.0.254
能正常 ping 通,则表明局域网中的网关路由器正在正常运行。反之,则说明网关有问题。

3ping远程IP

#ping www.baidu.com
这一命令可以检测本机能否正常访问 Internet

五、怎样使用Ping这命令来测试网络连通呢?

连通问题是由许多原因引起的,如 本地配置错误 远程主机协议失效 等,当然还包括 设备 等造成的 故障 。首先我们讲一下使用 Ping 命令的步骤。
使用 Ping 检查连通性有六个步骤:
1. 使用 ifconfig 观察本地网络设置是否正确;
2. Ping 127.0.0.1 127.0.0.1 回送地址 Ping 回送地址是为了检查本地的 TCP/IP 协议有没有设置好;
3. Ping 本机 IP 地址,这样是为了检查本机的 IP 地址是否设置有误;
4. Ping 本网网关或本网 IP 地址,这样的是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常;(在非局域网中这一步骤可以忽略)
5.Ping 本地 DNS 地址,这样做是为了检查 DNS 是否能够将 IP 正确解析。
6.Ping 远程 IP 地址,这主要是检查本网或本机与外部的连接是否正常。

ping命令使用介绍及怎样使用Ping命令来测试网络连通性相关推荐

  1. python测试网络连通性_Python测试网络连通性示例【基于ping】

    本文实例讲述了Python测试网络连通性.,具体如下: Python代码 #!/usr/bin/python # -*- coding:GBK -*- """Docume ...

  2. python判断网络连通性_Python测试网络连通性示例【基于ping】

    本文实例讲述了Python测试网络连通性.分享给大家供大家参考,具体如下: Python代码 #!/usr/bin/python # -*- coding:GBK -*- ""&q ...

  3. python自动测试网络通断_Python测试网络连通性示例【基于ping】

    本文实例讲述了Python测试网络连通性.分享给大家供大家参考,具体如下: Python代码 #!/usr/bin/python # -*- coding:GBK -*- ""&q ...

  4. php 网络是否通,测试网络连通性的命令是什么?

    测试网络连通性的命令是:ping命令.ping是用于测试网络连接量的程序,是工作在TCP/IP网络体系结构中应用层的一个服务命令,主要是向特定的目的主机发送ICMP(因特网报文控制协议)Echo请求报 ...

  5. 测试网络连通性的PING命令

    本文是对网络连通性测试的常用工具ping命令较为详细的介绍 1. ping命令简介 Ping是因特网包探测器,是使用ICMP回显请求报文和ICMP回显应答报文来测试主机之间连通性,用来诊断网络的工具. ...

  6. linux nc命令 测试网络连通性

    利用nc命令查看网络连通性, 有时候telnet可能没有安装 有时候ping 虽然能ping通,但是实际上还是连不上 这时候可以考虑用nc 拒绝连接 xxx.xx.xxx.xxx是ip -bash-4 ...

  7. EtherCAT IGH 命令行介绍

    EtherCAT IGH 命令行介绍 文章目录 EtherCAT IGH 命令行介绍 1.测试环境说明 2.ethercat 命令行说明 2.1 ethercat --help 2.2 etherca ...

  8. 华三路由交换配置命令_h3c路由器配置命令都有哪些 h3c路由器配置命令大全【详解】...

    对于一般的家庭路由器而言,我们是不需要对他进行配置的.因为家庭路由器这一种小型路由器一般都已经了确定的指令去执行.但是对于一些大型路由器而言,配置命令是非常重要的.正是因为有了配置命令的存在,才能够使 ...

  9. Fabric v2.3 手动模拟(一) - 测试网络./network.sh up命令创建自己的网络

    目录 0. 引言 1. 创建自己的网络目录 (1)进入fabric-samples目录 (2)创建文件夹test-network-myself(自己的网络目录) (3)进入test-network-m ...

最新文章

  1. ai里为什么不能随意放大缩小_平面设计基础知识:平面设计师应该熟练掌握的软件之AI。...
  2. 多行文本框限制输入字符长度(两种方法)
  3. python爬虫获取的网页数据为什么要加[0-使用 Python 爬取网页数据
  4. mac查看图片分辨率_Mac图像检查工具-Graphic Inspector
  5. php7协程通信使用,PHP7下的协程实现
  6. 数据库中查询记录时是否每次只能使用一个索引?
  7. 什么是DQL、DML、DDL、DCL
  8. css3帮你轻松实现圆角效果,不一样的前端页面。
  9. java实现语音发送,Java实现发送手机短信语音验证功能代码实例
  10. Spring源码追踪3——AOP机制
  11. 大数据培训(第三季)——Linux基础-徐培成-专题视频课程
  12. 运动会加油稿计算机学院,学院运动会加油稿范文
  13. c语言天数倒计时软件,c语言 日期倒计时 日期计算器
  14. 最少的脚本实现在NSH脚本作业中加入动态参数
  15. switch语句(C++)
  16. 微信小程序-绘制仪表盘
  17. 墨者Bash漏洞分析溯源题解
  18. 固态硬盘使用的优化——适用于任何版本的固态
  19. 1015-计算并联电阻的阻值
  20. hpm1005能扫描不能打印_小米米家喷墨打印一体机体验:500元以内学生和职场人的实惠选择...

热门文章

  1. 转1:Python字符编码详解
  2. canvas-随机粒子特效
  3. 易乐游服务器系统,易乐游装在云服务器
  4. Mac配置/关闭代理命令
  5. 感谢各位iPhone12机主,苹果又高了
  6. pytorch笔记:构建LSTM网络,实现训练验证和测试过程
  7. HTML、CSS面试题
  8. 帧内预测——initAdiPattern
  9. edge通常不会下载xxxx确保信任xxx怎么解决
  10. 机器学习 | k近邻