一、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. 谷歌浏览器中安装.crx扩展名的离线Chrome插件

    一.本地拖放安装 1.下载扩展程序/脚本程序至本地计算机: 2.将其直接拖拽到浏览器的“扩展程序”(chrome://chrome/extensions/)页面. 二.解决“只能通过Chrome网上应 ...

  2. Excel 2007 批量删除隐藏的文本框[转]

    该方法取自百度知道,该朋友给出函数,我详细写一下方法. 打开有文本框的excel文件. 按 Alt+F11 打开编辑器. 将下面的函数复制进去: Sub deltxbox()Dim s As Shap ...

  3. 关于struts2.0 中 struts.xml设置了struts.devMode 的值为TRUE后仍然不起作用的分析

    首先确认jdk 和tomcat的环境变量是否配置正确. 下面是配置方式 jdk的环境变量配置步骤: 安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量- ...

  4. 传智博客.NET培训第13季 Ajax教程(共十三季) 学习资源

    http://wangpengnimei.ctfile.com/u/1235801/47146 传智博客.NET培训第13季 Ajax教程(十三季).rar 19

  5. linux 远程管理

    启动linuxssh 服务: /etc/init.d/ssh 启动网络服务: service network restart linux远程登录配置过程: 首先在ubuntu下安装openssh-se ...

  6. sge学习 (转)

    转自http://biancheng.dnbcw.info/linux/417992.html 命令: qsub   -  submit a batch job to Grid Engine. qsh ...

  7. 关于 edittext 软键盘退出监听解决办法

    edittext 有个onCreateInputConnection 的方法,通过它可以自定义一个输入法连接器,那里连接器里面有个方法(finishComposingText)能监听输入完成的动作. ...

  8. java web项目中 获取resource路径下的文件路径

    public GetResource{ String path = GetResource.class.getClassLoader().getResource("xx/xx.txt&quo ...

  9. poj 3463 最短路与次短路的方案数求解

    Sightseeing Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8968   Accepted: 3139 Descr ...

  10. decimal(a,b)

    decimal(a,b)a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38.b指定小数点右边可以存储的十进制数字的最大个数.小数位数必须是从 0 到 a之间的值.默认小数位数是 0 ...