一、ping简介  

  Ping是Windows下的一个命令,在Unix和Linux下也有这个命令。
  ping也属于一个通信协议,是TCP/IP协议的一部分。
  利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式:Ping空格IP地址
ping是一个DOS命令,一般用于检测网络通或不通 ,也叫时延,其值越大,速度越慢。

 
PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP(Internet Control Messages Protocol)即因特网信报控制协议;回声请求消息给目的地并报告是否收到所
 

希望的ICMP echo (ICMP回声应答)。

它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少。
ping指的是端对端连通,通常用来作为可用性的检查, 但是某些病毒木马会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。通常的情况下你如果不用作服务器或者进行网络测试,可以放心的选中它,保护你的电脑。

一、ping命令是用来检查网络是否通畅或者网络连接速度的命令。

(1)作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /? 回车,出现如下图所示的帮助画面。
  

(2)在此,我们只掌握一些基本的很有用的参数就可以了.

  参照ping命令的帮助说明来说说使用中会需要的技巧,ping只有在安装了TCP/IP协议以后才可以使用:

  -t 表示将不间断向目标IP发送数据包,直到你按下Control-C强迫其停止。试想,如果你使用100M的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单的实现了。

  

-a Resolve addresses to hostnames.解析计算机名。
示例:C:\>ping -a 192.168.1.21
Pinging iceblood.yofor com [192.168.1.21] with 32 bytes of data:
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
Ping statistics for 192.168.1.21:
Packets: Sent = 4,Received = 4,Lost = 0 (0% loss),Approximate round trip times in milli-seconds:
Minimum = 0ms,Maximum = 0ms,Average = 0ms
从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yofor com。

  -l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。
  -n 定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。说明一下,如果-t 参数和 -n参数一起使用,ping命令就以放在后面的参数为标准,比如“ping IP -t -n 3”,虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的IP。

(4)举例:

ping命令使用举例
①ping 自己机器的例子 格式:ping IP  如果网卡安装配置没有问题,则应有类似下列显示:

如果在MS-DOS方式下执行此命令显示内容为:Request timed out,则表明网卡安装或配置有问题。将网线断开再次执行此命令,如果显示正常,则说明本机使用的IP地址可能与另一台正在使用的机器IP地址重复了。如果仍然不正常,则表明本机网卡安装或配置有问题,需继续检查相关网络配置。

②ping网关/路由器的例子
ping网关/路由器的IP地址,此例中网关/路由器的IP地址为:“10.1.1.254”

例如:

假定网关IP为:172.168.6.1,则执行命令Ping 172.168.6.1。在MS-DOS方式下执行此命令,如果显示类似以下信息:
Reply from 172.168.6.1 bytes=32 time=9ms TTL=255
Ping statistics for 172.168.6.1
Packets Sent=4 Received=4 Lost=0
Approximate round trip times in milli-seconds
Minimum=1ms Maximum=9ms Average=5ms
则表明局域网中的网关路由器正在正常运行。反之,则说明网关有问题。

③ping中心路由器的例子
ping中心的中心交换机的IP地址“202.120.119.254”

④ping中心主页服务器的例子 格式:ping www.cc.shu.edu.cn 
ping中心的主页服务器的域名“www.cc.shu.edu.cn”

⑤ping上海大学主页服务器的例子
ping上海大学的主页服务器的域名“www.shu.edu.cn”

⑥ping上海交通大学主页服务器的例子
ping上海交通大学的主页服务器的域名“www.sjtu.edu.cn”

⑦ping中国教育科研网服务器的例子
ping中国教育科研网服务器的域名“www.edu.cn”

⑧ping不通的例子
ping网关/路由器的IP地址,此例中网关/路由器的IP地址为:“10.1.1.254”

(9)ping 网络地址

(10)远程IP

这一命令可以检测本机能否正常访问Internet。比如本地电信运营商的IP地址为:202.102.48.141。在MS-DOS方式下执行命令:Ping 202.102.48.141,如果屏幕显示:
Reply from 202.102.48.141 bytes=32 time=33ms TTL=252
Reply from 202.102.48.141 bytes=32 time=21ms TTL=252
Reply from 202.102.48.141 bytes=32 time=5ms TTL=252
Reply from 202.102.48.141 bytes=32 time=6ms TTL=252
Ping statistics for 202.102.48.141
Packets Sent=4 Received=4 Lost=0 0% loss
Approximate round trip times in milli-seconds
Minimum=5ms Maximum=33ms Average=16ms
则表明运行正常,能够正常接入互联网。反之,则表明主机文件(windows/host)存在问题。

特殊情况:

1.对方服务器(IP)确实与外网断开连接;
2.对方服务器拒绝Ping入;
3.对方服务器拒绝Ping出;
4.自己计算机与外网已经断开连接。 

(5)对Ping后返回信息的分析
  1.Request timed out
  这是大家经常碰到的提示信息,很多文章中说这是对方机器置了过滤ICMP数据包,从上面工作过程来看,这是不完全正确的,至少有下几种情况。

  (1) 对方已关机,或者网络上根本没有这个地址:比如在主机A中PING 192.168.0.7 ,或者主机B关机了,在主机A中PING 192.168.0.5 都会得到超时的信息。
  (2)对方与自己不在同一网段内,通过路由也无法找到对方,但有时对方确实是存在的,当然不存在也是返回超时的信息。
  (3)对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)。
  怎样知道对方是存在,还是不存在呢,可以用带参数 -a 的Ping命令探测对方,如果能得到对方的NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。
  (4)错误设置IP地址
  正常情况下,一台主机应该有一个网卡,一个IP地址,或多个网卡,多个IP地址(这些地址一定要处于不同的IP子网)。但如果一台电脑的“拨号网络适配器”(相当于一块软网卡)的TCP/IP设置中,设置了一个与网卡IP地址处于同一子网的IP地址,这样,在IP层协议看来,这台主机就有两个不同的接口处于同一网段内。当从这台主机Ping其他的机器时,会存在这样的问题:
  A.主机不知道将数据包发到哪个网络接口,因为有两个网络接口都连接在同一网段。
  B.主机不知道用哪个地址作为数据包的源地址。因此,从这台主机去Ping其他机器,IP层协议会无法处理,超时后,Ping 就会给出一个“超时无应答”的错误信息提示。但从其他主机Ping这台主机时,请求包从特定的网卡来,ICMP只须简单地将目的、源地址互换,并更改一些标志即可,ICMP应答包能顺利发出,其他主机也就能成功Ping通这台机器了。
  

  2.Destination host Unreachable
  (1) 对方与自己不在同一网段内,而自己又未设置默认的路由,比如上例中A机中不设定默认的路由,运行Ping 192.168.0.1.4就会出现“Destination host Unreachable”。
  (2)网线出了故障
  这里要说明一下“destination host unreachable”和 “time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。
  

  3.Bad IP address
  这个信息表示您可能没有连接到DNS服务器,所以无法解析这个IP地址,也可能是IP地址不存在。

  4.Source quench received
  这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。

  5.Unknown host——不知名主机
  这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。

  6.No answer——无响应
  这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的路由器没有工作;通信线路有故障;中心主机存在路由选择问题。

  7.Ping 127.0.0.1:127.0.0.1是本地循环地址
  如果本地址无法Ping通,则表明本地机TCP/IP协议不能正常工作。

  8.no rout to host:网卡工作不正常

  9.transmit failed,error code:10043网卡驱动不正常

故障检查    

事实上,无论是什么类型的故障诊断工具,在一些特殊网络故障面前都会显得无能为力;此时,我们所能做的就是依靠自己,从使用Ping命令开始,手工逐步排查故障原因。
 
首先对本地工作站的循环地址127.0.0.1进行ping测试。当遇到一些无法直接找到故障原因的特殊网络故障时,我们首先需要使用Ping命令测试一下本地工作站的循环地址127.0.0.1能否被正常Ping通,倘若该地址无法被正常Ping通的话,那么说明本地工作站的TCP/IP协议程序受到了破坏,或者网卡设备发生了损坏。
 
此时,我们不妨打开本地工作站系统的设备管理器窗口,从中找到网卡设备选项,并用鼠标右键单击该选项,从弹出的快捷菜单中执行“属性”命令,打开网卡设备的属性设置窗口,在该窗口的“常规”标签页面中我们就能看到当前的网卡工作状态是否正常了。
 
当发现网卡工作状态正常的话,那很有可能是本地工作站的TCP/IP协议程序受到了破坏,此时我们不妨打开本地连接属性设置窗口,选中并删除该设置窗口中的TCP/IP协议选项,之后再重新安装一下TCP/IP协议程序,相信这么一来本地工作站的循环地址127.0.0.1就能被正常Ping通了。
 
其次对本地工作站的IP地址进行ping测试。在确认127.0.0.1地址能够被Ping通的情况下,我们继续使用Ping命令测试一下本地工作站的静态IP地址是否能被正常Ping通,倘若该地址不能被正常Ping通的话,那么说明本地工作站的网卡参数没有设置正确,或者网卡驱动程序不正确,也有可能是本地的路由表受到了破坏。
 
此时我们可以重新检查一下本地工作站的网络参数是否设置正确,如果在网络参数设置正确的情况下仍然无法Ping通本地IP地址的话,我们最好重新安装一下网卡设备的原装驱动程序,相信这么一来我们就能正确Ping通本地工作站的静态IP地址了。一旦本地工作站的静态IP地址被顺利Ping通的话,那就表明本地工作站已经能够加入到局域网网络中了。
 
接着对本地局域网的默认网关地址进行ping测试。由于本地工作站是通过网关与局域网中的其他工作站进行相互通信的,只有本地工作站与默认网关之间连接正常,才能确保本地工作站与其他工作站通信正常。倘若网关地址能被正常Ping通的话,那就表明本地工作站可以与局域网中的其他工作站进行正常通信。
 
要是Ping命令操作不成功的话,那很有可能是网关设备自身存在问题,或者是本地工作站与网关之间的线路连接不正常,也有可能是本地工作站与网关没有设置成同一个子网中。此时,我们可以先用专业的线缆测试工具测试一下网络线缆的连通性,在线缆连通性正常的情况下,再检查本地工作站的网络参数是否与网关的参数设置成同一个子网中。
 
倘若网络参数设置正确的话,我们再从其他工作站Ping一下网关地址,以便确认网关自身是否存在原因,如果局域网中的其他工作站也无法Ping通网关的话,那多半是网关设备自身存在问题,这个时候我们只要将故障排查重点锁定在网关设备上就可以了。
 
下面对局域网中任意一台远程工作站的IP地址进行ping测试,以便检验本地工作站能否通过网关设备与局域网中的其他工作站进行通信。要是我们发现远程工作站的IP地址无法Ping通的话,那很有可能是远程工作站自身无法响应,或者是远程工作站与网关设备之间的线路连接出现了问题,此时我们可以将网络故障的排查重点聚焦到远程工作站上或者是局域网的网络设备上。
 
最后对局域网的远程工作站主机名称进行ping测试。在确认能够Ping通远程工作站IP地址的情况下,仍然出现无法访问远程工作站内容的时候,我们就有必要进行这一项测试操作。如果该主机名称无法被Ping成功的话,那很有可能是DNS解析出现了问题,而不是网络连接发生了故障,此时我们不妨把故障检查重点锁定在DNS服务器上。
 
小提示:为了有效地找出网络故障原因,我们在使用Ping命令进行测试检查时,尽量确保局域网中只配置了一个网关且要ping的主机保持正常的使用状态,同时确保本地工作站没有启用IP安全设置策略,这样可以保证Ping命令能够获得正确的测试结果

命令技巧

(1)".0"可以有条件省略
     大家常用“ping 127.0.0.1”命令在本机上做回路测试,用来验证本机的TCP/IP协议簇是否被正确安装。但你发现了吗?使用“ping 127.1”这个命令也能得到同样的测试结果(如图),其实“ping 127.1”和“ping 127.0.0.1”这两条命令是一样的,都是在进行回路测试。为什么会这样呢?这就是Ping命令应用中IP地址的使用技巧。大家都知道,IP地址由32位二进制数字组成,为了方便大家记忆,将每8位二进制数字换算成十进制数字,因此就形成了容易记忆的由四部分十进制数字组成的IP地址(如127.0.0.1)。由于,Windows操作系统具有自动填充“.0”的功能,因此我就可将“127.0.0.1”变为“127.1”。但是,这个“.0”的省略是有条件限制的,并不能任意省略。在Ping命令的应用中,只能将在IP地址的最后一部分十进制数字前出现的一个或多个“.0”省略,如把“ping 127.0.0.1”命令改写成“ping 127.1”。如果这一个或多个 “.0”没有紧挨着最后一部分的十进制数字,而是在其他位置,则这个“.0”不能省略,如“ping 202.0.96.1”就不能写成“ping 202.96.1”。这是因为“ping 202.96.1”返回的结果是“202.96.0.1”的应答信息,而不是“202.0.96.1”的应答信息。
(2)数字串代替IP地址
     在Ping命令中,还可以使用数字串代替IP地址,你相信吗?运行“ping 3658906394”命令,你会看到“218.22.123.26”这个IP地址的返回信息。为什么会这样呢?其实,“3658906394”就是IP地址“218.22.123.26”的另一种表示形式。当然,也可按同样的方法Ping其他的IP地址。字符串是如何转换而来的呢?其实并不复杂,以“218.22.123.26”这个IP地址为例,IP地址转换成数字串方法如下:先将“218.22.123.26”转换为十六进制“DA.16.7B.1A”,然后去掉小数点后,变为“DA167B1A”,最后将这个十六进制数转换为十进制“3658906394”,那么“218.22.123.26”就变为“3658906394”了。其他IP地址转换为数字串也是使用同样的方法。提示:在某些局域网环境中,使用“Ping+数字串”命令可能会失败,出现提示信息“Unknown host数字串”,这是因为该数字串被解析成主机名了,而不是IP地址。因此,掌握了上述技巧后,网管在进行网络测试或维护时,可以熟练运用“省略”方式,减轻Ping命令的字符输入量,提高工作效率。同时,使用数字串代替IP地址也可迷惑好奇心强的普通用户,以免他们胡乱设置。
 
其他:
返回到上一级目录  cd ..
返回到根目录 cd \
返回到指定的盘 cd f:\ cd c:\(如果是 cd f: 则显示为 f:\110)
进入文件夹 cd name (文件夹名字,不区分大小写)

little skill---ping的更多相关文章

  1. HDU 2492 Ping pong (树状数组)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2492 Ping pong Problem Description N(3<=N<=2000 ...

  2. 【转】What is an SDET? Part 2 – Skill Matrix of SDET

    What is an SDET? Part 2 ---- Skill Matrix of SDET (Instead of naming it as part 2 of What is an SDET ...

  3. UVALive 4329 Ping pong

                                      Ping pong Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Fo ...

  4. POJ 3928 Ping pong(树状数组)

                                                                          Ping pong Time Limit: 1000MS   ...

  5. LA4329 Ping pong(树状数组与组合原理)

    N (3N20000)ping pong players live along a west-east street(consider the street as a line segment). E ...

  6. Ping pong

    Ping pong Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  7. 【暑假】[实用数据结构]UVAlive 4329 Ping pong

    UVAlive 4329 Ping pong 题目: Ping pong Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: % ...

  8. Ping pong(树状数组经典)

    Ping pong Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  9. poj3928 Ping pong 树状数组

    http://poj.org/problem?id=3928 Ping pong Time Limit: 1000MS   Memory Limit: 65536K Total Submissions ...

  10. POJ 3928 &amp; HDU 2492 Ping pong(树阵评价倒数)

    主题链接: PKU:http://poj.org/problem?id=3928 HDU:http://acm.hdu.edu.cn/showproblem.php?pid=2492 Descript ...

随机推荐

  1. 关于Nios II的启动分析(转载)

    原文地址:http://hi.baidu.com/goatdai/item/cc33671545d89243e75e06ad 常用到的存储器包括SDRMA.SRAM.FLASH.Onchip_memo ...

  2. Linux Shell脚本入门--cut命令

    Linux Shell脚本入门--cut命令 cut cut 命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields &l ...

  3. jQuery 屏幕遮罩

    1.先做一个可以覆盖整个屏幕的div,颜色为黑色,然后再设置透明度,作为遮罩#zhezhao { position: absolute; top: 0px; left: 0px; width: 100 ...

  4. C_C++圣战(摘录)

    我的回忆和有趣的故事 --- C/C++圣战篇 李维 (声明以下的这篇文章内容是我个人的回忆以及看法,没有任何特别的偏见,许多的事情是根据我的记忆以及从许多人的诉说中得知的,也许内容不是百分之百的正确 ...

  5. JDBC学习

    JDBC全称 Java DataBase Connectivity(java数据库连接)可以为多种数据库提供统一的访问: 步骤:1:加载驱动程序: 加载Mysql驱动:Class.forName(&q ...

  6. UzysAssetsPickerController中文化

    self.labelSelectedMedia.text = NSLocalizedStringFromTable(@"Choose a media", @"UzysAs ...

  7. iOS获取当前app的名称和版本号

    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; CFShow(infoDictionary); // ap ...

  8. poj 3368 Frequent values(RMQ)

    /************************************************************ 题目: Frequent values(poj 3368) 链接: http ...

  9. 如何在asp.net中使用多线程及队列,异步处理一个耗时的任务(原创)

    最近想在使用.net 的队列处理一些耗时的工作.经过考虑,需要先设计一个类,类中包含一个静态的队列.主要是写队列和读取队列. public class PaperCalculator { // 用于存 ...

  10. Android消息机制:Looper,MessageQueue,Message与handler

    Android消息机制好多人都讲过,但是自己去翻源码的时候才能明白. 今天试着讲一下,因为目标是讲清楚整体逻辑,所以不追究细节. Message是消息机制的核心,所以从Message讲起. 1.Mes ...