一、Ping 命令
“Ping”命令是我们在判断网络故障常用的命令,但您真正明白这个命令运行后会发生什么,以及出现的各种信息说明了什么吗?其实熟练的掌握 Ping 命令的各种技巧可以帮助你解决很多网络故障。下面我们就来详细的了解一下 Ping 命令。
它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping 命令是第一个必须掌握的 DOS 命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标 IP 地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在 DOS 窗口中键入:ping /? 回车,出现如图1所示的帮助画面。  
在此,我们只掌握一些基本的很有用的参数就可以了.
  • -t 表示将不间断向目标 IP 发送数据包,直到我们强迫其停止。试想,如果你使用 100M 的宽带接入,而目标 IP 是 56K 的小猫,那么要不了多久,目标 IP 就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单的实现了。
  • -l 定义发送数据包的大小,默认为 32字节,我们利用它可以最大定义到 65500字节。结合上面介绍的 -t 参数一起使用,会有更好的效果哦。
  • -n 定义向目标 IP 发送数据包的次数,默认为 3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标 IP 是否存在,那么就定义为 1次吧。说明一下,如果 -t 参数和 -n 参数一起使用,ping 命令就以放在后面的参数为标准,比如“ping IP -t -n 3”,虽然使用了 -t 参数,但并不是一直 ping 下去,而是只 ping 3次。另外,ping 命令不一定非得 ping IP,也可以直接 ping 主机域名,这样就可以得到主机的 IP。
下面我们举个例子来说明具体用法,如图2。
这里 time=2 表示从发出数据包到接受到返回数据包所用的时间是 2毫秒,从这里可以判断网络连接速度的大小 。从 TTL 的返回值可以初步判断被 ping 主机的操作系统,之所以说“初步判断”是因为这个值是可以修改的。这里 TTL=32 表示操作系统可能是 win98。
用这个命令时候 ping 192.168.1.1 -t
TTL(生存时间) 
TTL 是 IP 协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。例如,不正确的路由表可能导致包的无限循环。一个解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL 的初值通常是系统缺省值,是包头中的 8位的域。TTL 的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把 TTL 域减一,TTL 通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个 ICMP 报文给最初的发送者 。
  • TTL 时间越长,缓存时间越长,更新越不容易及时生效。增大 TTL 值,以节约域名解析时间,给网站访问加速。
  • TTL 设置的小一些,生效时间就会快一些。减小 TTL 值,减少更换空间时的不可访问时间。
System TTL Value
LINUX 64
WIN2K/NT 128
WINDOWS 32
UNIX 255

二、对Ping后返回信息的分析

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

2. Destination Host Unreachable——连不上

(1) 对方与自己不在同一网段内,而自己又未设置默认的路由。
(2) 网线出了故障。
这里要说明一下“destination host unreachable”和“time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。
3. Bad IP Address——IP有问题
这个信息表示您可能没有连接到 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是本地循环地址——TCP/IP 协议不工作
如果本地址无法Ping通,则表明本地机 TCP/IP 协议不能正常工作。
8. no rout to host——网卡工作不正常 
9. transmit failed, error code: 10043——网卡驱动不正常

Ping 命令的使用方法总结的更多相关文章

  1. windows 环境和linux环境下 ping命令的区别:

    Ping 是Windows自带的一个DOS命令.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.该命令可以加许多参数使用,键入Ping按回车即可看到详细说明.Ping 命令可 ...

  2. [小菜随笔]python tkinter实现简单的ping命令

    本文主要是介绍python图形界面上的按键与实际功能的对接,其实编程掌握了基础之后的学习应该都是靠自己去挖掘其他的 在网上发现多半教程都是2的,故本文使用的是python3.5,其实也没什么区别,就有 ...

  3. cmd中用PING命令时,出现'Ping' 不是内部或外部命令 解决方案

    在cmd中用PING命令时,出现'Ping' 不是内部或外部命令,也不是可运行的程序或批处理文件.先了解一下内容:1.可执行文件.命令文件和批处理文件以.exe或者.com或者.bat为扩展名的文件分 ...

  4. Linux和Windows下ping命令详解(转:http://linux.chinaitlab.com/command/829332.html)

    一.Linux下的ping参数 用途 发送一个回送信号请求给网络主机. 语法 ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ \ -R ] [ -a add ...

  5. C# 使用ping命令

    方法一:调用cmd 的ping命令 private static string CmdPing(string strIp) { Process p = new Process(); p.StartIn ...

  6. ping命令的用法大全!

    1)如何查看本机所开端口: 用netstat -an命令查看!再stat下面有一些英文,我来简单说一下这些英文具体都代表什么- LISTEN:侦听来自远方的TCP端口的连接请求 SYN-SENT:再发 ...

  7. Ping 命令

    Ping”命令是我们在判断网络故障常用的命令 它是用来检查网络是否通畅或者网络连接速度的命令. 它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包, 对方就要 ...

  8. ping命令的几个简单使用

    发觉linux下的ping命令花样还挺多的,下面是几个例子 1.ping www.baidu.com,最粗糙的用法,此时主机将不停地向目的地址发送ICMP echo request数据包,直至你按下C ...

  9. Android代码中使用Ping命令

    项目中需要搜索同一WIFI局域网中的设备并进行通信,暂时想到的办法是得到局域网网段的地址,因为同一局域网中的IP地址前三位是相同的,而第四位的范围从0~250,所以对第四位进行遍历搜索,能ping通的 ...

随机推荐

  1. 关闭缓存和mmu(转)

    当设置完时钟分频以后,uboot就会执行cpu_init_crit汇编函数,这个函数的主要作用就是关闭缓存和mmu,然后调用lowlevel_init函数进行系统总线的初始化. 为什么启动的时候,需要 ...

  2. 关于servlet的filter

    Servlet过滤器 2009-12-08 23:12:44|  分类: Java|举报|字号 订阅     一.什么是Servlet过滤器 过滤器是在数据交互之间过滤数据的中间组件,独立于任何平台或 ...

  3. hadoop优化之拙见

    map-reduce的优化: 需要内存的地方:  map/reduce任务运行时内存.存放中间数据的内存缓存区.map输出数据排序内存, 需要操作磁盘的地方: map输出数据缓冲区达到阀值的溢出写文件 ...

  4. html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?

    * HTML5 现在已经不是 SGML(标准通用标记语言,是一种定义电子文档结构和描述其内容的国际标准语言) 的子集,主要是关于图像,位置,存储,多任务等功能的增加.   * 拖拽释放(Drag an ...

  5. How to browse the entire documentation using XCode 5 Documentation and API Reference ?

    file:///Users/yangiori/Library/Developer/Shared/Documentation/DocSets/com.apple.adc.documentation.Ap ...

  6. iOS-----类和对象,nil/Nil/NULL的区别

    iOS中类和对象,nil/Nil/NULL的区别 类与对象的概念 类是对同一类事物高度的抽象,类中定义了这一类对象所应具有的静态属性(属性)和动态属性(方法). 对象是类的一个实例,是一个具体的事物. ...

  7. 每日学习心得:SharePoint 为列表中的文件夹添加子项(文件夹)、新增指定内容类型的子项、查询列表中指定的文件夹下的内容

    前言: 这里主要是针对列表中的文件下新增子项的操作,同时在新建子项时,可以为子项指定特定的内容类型,在某些时候需要查询指定的文件夹下的内容,针对这些场景都一一给力示例和说明,都是一些很小的知识点,希望 ...

  8. iPhone SlideShow

    If you found any question when you use the Slideshow, don't hesitate to leave a message please.

  9. IntelliJ IDEA热加载自动更新(Update classes and resources )

          IntelliJ IDEA默认文件是自动保存的,但是手头有个项目jsp文件改动后,在tomcat中不能立即响应变化.想要jsp文件改动后立刻看到变化,可以通过修改配置来实现.       ...

  10. 四、Spring——Spring MVC

    Spring MVC 1.Spring MVC概述 Spring MVC框架围绕DispatcherServlet这个核心展开,DispatcherServlet负责截获请求并将其分配给响应的处理器处 ...