﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-时间如流水-文章分类-Internet</title><link>http://www.blogjava.net/sodar-fish/category/25619.html</link><description>知惜方成功
－唯有奋斗才是成功的不变准则&lt;br /&gt;xiaoc | sodar-fish | 苏达小鱼 ｜
OpenSource&gt;JAVA and Linux(Ubuntu) | walk always on my mind.</description><language>zh-cn</language><lastBuildDate>Fri, 07 Sep 2007 04:22:13 GMT</lastBuildDate><pubDate>Fri, 07 Sep 2007 04:22:13 GMT</pubDate><ttl>60</ttl><item><title>［分享］Ping 命令总结 </title><link>http://www.blogjava.net/sodar-fish/articles/143335.html</link><dc:creator>SodaR FisH (苏达小鱼)</dc:creator><author>SodaR FisH (苏达小鱼)</author><pubDate>Fri, 07 Sep 2007 02:40:00 GMT</pubDate><guid>http://www.blogjava.net/sodar-fish/articles/143335.html</guid><wfw:comment>http://www.blogjava.net/sodar-fish/comments/143335.html</wfw:comment><comments>http://www.blogjava.net/sodar-fish/articles/143335.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/sodar-fish/comments/commentRss/143335.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/sodar-fish/services/trackbacks/143335.html</trackback:ping><description><![CDATA[<span style="font-family: Verdana;"><span style="font-size: 10pt;">Ping 是个使用频率极高的实用程序，用于确定本地主机是否能与另一台主机交换（发送与接收）数据报。根据返回的信息，你就可以推断TCP/IP参数是否设置得正确以及运行是否正常。需要注意的是：成功地与另一台主机进行一次或两次数据报交换并不表示TCP/IP配置就是正确的，你必须执行大量的本地主机与远程主机的数据报交换，才能确信TCP/IP的正确性。<br />
简单的说，Ping就是一个测试程序，如果Ping运行正确，你大体上就可以排除网络访问层、网卡、MODEM的输入输出线路、电缆和路由器等存在的故障，从而减小了问题的范围。但由于可以自定义所发数据报的大小及无休止的高速发送，Ping也被某些别有用心的人作为DDOS（拒绝服务攻击）的工具，曾经Yahoo就是被黑客利用数百台可以高速接入互联网的电脑连续发送大量Ping数据包而瘫痪的。<br />
<br />
按照缺省设置，Windows上运行的Ping命令发送4个ICMP（网间控制报文协议）回送请求，每个32字节数据，如果一切正常，你应能得到4个回送应答。<br />
<br />
Ping能够以毫秒为单位显示发送回送请求到返回回送应答之间的时间量。如果应答时间短，表示数据报不必通过太多的路由器或网络连接速度比较快。Ping 还能显示TTL（Time To Live存在时间）值，你可以通过TTL值推算一下数据包已经通过了多少个路由器：源地点TTL起始值（就是比返回TTL略大的一个2的乘方数）-返回时 TTL值。例如，返回TTL值为119，那么可以推算数据报离开源地址的TTL起始值为128，而源地点到目标地点要通过9个路由器网段（128- 119）；如果返回TTL值为246，TTL起始值就是256，源地点到目标地点要通过9个路由器网段。<br />
<br />
通过Ping检测网络故障的典型次序<br />
<br />
正常情况下，当你使用Ping命令来查找问题所在或检验网络运行情况时，你需要使用许多Ping命令，如果所有都运行正确，你就可以相信基本的连通性和配置参数没有问题；如果某些Ping命令出现运行故障，它也可以指明到何处去查找问题。下面就给出一个典型的检测次序及对应的可能故障：<br />
<br />
ping 127.0.0.1--这个Ping命令被送到本地计算机的IP软件，该命令永不退出该计算机。如果没有做到这一点，就表示TCP/IP的安装或运行存在某些最基本的问题。<br />
<br />
ping 本机IP--这个命令被送到你计算机所配置的IP地址，你的计算机始终都应该对该Ping命令作出应答，如果没有，则表示本地配置或安装存在问题。出现此问题时，局域网用户请断开网络电缆，然后重新发送该命令。如果网线断开后本命令正确，则表示另一台计算机可能配置了相同的IP地址。<br />
<br />
ping 局域网内其他IP--这个命令应该离开你的计算机，经过网卡及网络电缆到达其他计算机，再返回。收到回送应答表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答，那么表示子网掩码（进行子网分割时，将IP地址的网络部分与主机部分分开的代码）不正确或网卡配置错误或电缆系统有问题。<br />
<br />
ping 网关IP--这个命令如果应答正确，表示局域网中的网关路由器正在运行并能够作出应答。<br />
<br />
ping 远程IP--如果收到4个应答，表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet（但不排除ISP的DNS会有问题）。<br />
<br />
ping localhost--localhost是个作系统的网络保留名，它是127.0.0.1的别名，每太计算机都应该能够将该名字转换成该地址。如果没有做到这一带内，则表示主机文件（/Windows/host）中存在问题。<br />
<br />
pingwww.yahoo.com--对这个域名执行Ping命...是通过DNS服务器 如果这里出现故障，则表示DNS服务器的IP地址配置不正确或DNS服务器有故障（对于拨号上网用户，某些ISP已经不需要设置DNS服务器了）。顺便说一句：你也可以利用该命令实现域名对IP地址的转换功能。<br />
<br />
如果上面所列出的所有Ping命令都能正常运行，那么你对你的计算机进行本地和远程通信的功能基本上就可以放心了。但是，这些命令的成功并不表示你所有的网络配置都没有问题，例如，某些子网掩码错误就可能无法用这些方法检测到。<br />
<br />
Ping命令的常用参数选项 ：<br />
ping IP -t--连续对IP地址执行Ping命令，直到被用户以Ctrl+C中断。<br />
<br />
ping IP -l 2000--指定Ping命令中的数据长度为2000字节，而不是缺省的32字节。<br />
<br />
ping IP -n--执行特定次数的Ping命令<br />
_____________________________________________________________________________<br />
校验与远程计算机或本地计算机的连接。只有在安装 TCP/IP 协议之后才能使用该命令。<br />
<br />
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list<br />
<br />
参数<br />
<br />
-t<br />
<br />
校验与指定计算机的连接，直到用户中断。<br />
<br />
-a<br />
<br />
将地址解析为计算机名。<br />
<br />
-n count<br />
<br />
发送由 count 指定数量的 ECHO 报文，默认值为 4。<br />
<br />
-l length<br />
<br />
发送包含由 length 指定数据长度的 ECHO 报文。默认值为 64 字节，最大值为 8192 字节。<br />
<br />
-f<br />
<br />
在包中发送&#8220;不分段&#8221;标志。该包将不被路由上的网关分段。<br />
<br />
-i ttl<br />
<br />
将&#8220;生存时间&#8221;字段设置为 ttl 指定的数值。<br />
<br />
-v tos<br />
<br />
将&#8220;服务类型&#8221;字段设置为 tos 指定的数值。<br />
<br />
-r count<br />
<br />
在&#8220;记录路由&#8221;字段中记录发出报文和返回报文的路由。指定的 Count 值最小可以是 1，最大可以是 9 。<br />
<br />
-s count<br />
<br />
指定由 count 指定的转发次数的时间邮票。<br />
<br />
-j computer-list<br />
<br />
经过由 computer-list 指定的计算机列表的路由报文。中间网关可能分隔连续的计算机（松散的源路由）。允许的最大 IP 地址数目是 9 。<br />
<br />
-k computer-list<br />
<br />
经过由 computer-list 指定的计算机列表的路由报文。中间网关可能分隔连续的计算机（严格源路由）。允许的最大 IP 地址数目是 9 。<br />
<br />
-w timeout<br />
<br />
以毫秒为单位指定超时间隔。<br />
<br />
destination-list<br />
<br />
指定要校验连接的远程计算机。<br />
<br />
关于 Ping 的详细信息<br />
<br />
Ping--注意<br />
<br />
Ping 命令通过向计算机发送 ICMP 回应报文并且监听回应报文的返回，以校验与远程计算机或本地计算机的连接。对于每个发送报文， Ping 最多等待 1 秒，并打印发送和接收把报文的数量。比较每个接收报文和发送报文，以校验其有效性。默认情况下，发送四个回应报文，每个报文包含 64 字节的数据（周期性的大写字母序列）。<br />
<br />
可以使用 Ping 实用程序测试计算机名和 IP 地址。如果能够成功校验 IP 地址却不能成功校验计算机名，则说明名称解析存在问题。这种情况下，要保证在本地 HOSTS 文件中或 DNS<br />
<br />
数据库中存在要查询的计算机名。<br />
<br />
下面显示 Ping 输出的示例：(Windows用户可用：开始-&gt;运行,输入"command" 调出command窗口使用此命令）<br />
<br />
C:"&gt;ping ds.internic.net<br />
<br />
Pinging ds.internic.net [192.20.239.132] with 32 bytes of data:<br />
<br />
Reply from 192.20.239.132: bytes=32 time=101ms TTL=243<br />
<br />
Reply from 192.20.239.132: bytes=32 time=100ms TTL=243<br />
<br />
Reply from 192.20.239.132: bytes=32 time=120ms TTL=243<br />
<br />
Reply from 192.20.239.132: bytes=32 time=120ms TTL=243<br />
______________________________________________________________________________<br />
对于Windows下ping命令相信大家已经再熟悉不过了，但是能把ping的功能发挥到最大的人却并不是很多，当然我也并不是说我可以让ping发挥最大的功能，我也只不过经常用ping这个工具，也总结了一些小经验，现在和大家分享一下。<br />
<br />
<br />
<br />
现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧，ping只有在安装了TCP/IP协议以后才可以使用：<br />
<br />
<br />
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] │ [-k computer-list] [-w timeout] destination-list<br />
<br />
<br />
Options:<br />
<br />
<br />
-t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C.<br />
<br />
<br />
不停的ping地方主机，直到你按下Control-C。<br />
<br />
此功能没有什么特别的技巧，不过可以配合其他参数使用，将在下面提到。<br />
<br />
-a Resolve addresses to hostnames.<br />
<br />
<br />
解析计算机NetBios名。<br />
<br />
<br />
示例：<br />
<br />
C:＼&gt;ping -a 192.168.1.21<br />
<br />
Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data:<br />
Reply from 192.168.1.21: bytes=32 time&lt;10ms TTL=254<br />
Reply from 192.168.1.21: bytes=32 time&lt;10ms TTL=254<br />
Reply from 192.168.1.21: bytes=32 time&lt;10ms TTL=254<br />
Reply from 192.168.1.21: bytes=32 time&lt;10ms TTL=254<br />
Ping statistics for 192.168.1.21:<br />
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:<br />
Minimum = 0ms, Maximum = 0ms, Average = 0ms<br />
<br />
从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yofor.com。<br />
<br />
-n count Number of echo requests to send.<br />
发送count指定的Echo数据包数。<br />
<br />
在默认情况下，一般都只发送四个数据包，通过这个命令可以自己定义发送的个数，对衡量网络速度很有帮助，比如我想测试发送50个数据包的返回的平均时间为多少，最快时间为多少，最慢时间为多少就可以通过以下获知：<br />
<br />
C:＼&gt;ping -n 50 202.103.96.68<br />
Pinging 202.103.96.68 with 32 bytes of data:<br />
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241<br />
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241<br />
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241<br />
Request timed out.<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br />
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241<br />
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241<br />
Ping statistics for 202.103.96.68:<br />
Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate round trip times in milli-seconds:<br />
Minimum = 40ms, Maximum = 51ms, Average = 46ms<br />
<br />
从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中，返回了48个，其中有两个由于未知原因丢失，这48个数据包当中返回速度最快为40ms，最慢为51ms，平均速度为46ms。<br />
<br />
-l size Send buffer size.<br />
定义echo数据包大小。<br />
<br />
在默认的情况下windows的ping发送的数据包大小为32byt，我们也可以自己定义它的大小，但有一个大小的限制，就是最大只能发送65500byt，也许有人会问为什么要限制到 65500byt，因为Windows系列的系统都有一个安全漏洞（也许还包括其他系统）就是当向对方一次发送的数据包大于或等于65532时，对方就很有可能当机，所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制，但这个参数配合其他参数以后危害依然非常强大，比如我们就可以通过配合-t参数来实现一个带有攻击性的命令：（以下介绍带有危险性，仅用于试验，请勿轻易施于别人机器上，否则后果自负）<br />
<br />
C:＼&gt;ping -l 65500 -t 192.168.1.21<br />
Pinging 192.168.1.21 with 65500 bytes of data:<br />
Reply from 192.168.1.21: bytes=65500 time&lt;10ms TTL=254<br />
Reply from 192.168.1.21: bytes=65500 time&lt;10ms TTL=254<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br />
<br />
这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包，如果你只有一台计算机也许没有什么效果，但如果有很多计算机那么就可以使对方完全瘫痪，我曾经就做过这样的试验，当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时，不到5分钟对方的网络就已经完全瘫痪，网络严重堵塞，HTTP和FTP服务完全停止，由此可见威力非同小可。<br />
<br />
-f Set Don't Fragment flag in packet.<br />
在数据包中发送&#8220;不要分段&#8221;标志。<br />
<br />
在一般你所发送的数据包都会通过路由分段再发送给对方，加上此参数以后路由就不会再分段处理。<br />
<br />
-i TTL Time To Live.<br />
指定TTL值在对方的系统里停留的时间。<br />
此参数同样是帮助你检查网络运转情况的。<br />
<br />
<br />
-v TOS Type Of Service.<br />
将&#8220;服务类型&#8221;字段设置为 tos 指定的值。<br />
<br />
-r count Record route for count hops.<br />
在&#8220;记录路由&#8221;字段中记录传出和返回数据包的路由。<br />
<br />
在一般情况下你发送的数据包是通过一个个路由才到达对方的，但到底是经过了哪些路由呢？通过此参数就可以设定你想探测经过的路由的个数，不过限制在了9个，也就是说你只能跟踪到9个路由，如果想探测更多，可以通过其他命令实现，我将在以后的文章中给大家讲解。以下为示例：<br />
<br />
C:＼&gt;ping -n 1 -r 9 202.96.105.101 （发送一个数据包，最多记录9个路由）<br />
<br />
Pinging 202.96.105.101 with 32 bytes of data:<br />
<br />
Reply from 202.96.105.101: bytes=32 time=10ms TTL=249<br />
Route: 202.107.208.187 -&gt;<br />
202.107.210.214 -&gt;<br />
61.153.112.70 -&gt;<br />
61.153.112.89 -&gt;<br />
202.96.105.149 -&gt;<br />
202.96.105.97 -&gt;<br />
202.96.105.101 -&gt;<br />
202.96.105.150 -&gt;<br />
61.153.112.90<br />
<br />
Ping statistics for 202.96.105.101:<br />
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),<br />
Approximate round trip times in milli-seconds:<br />
Minimum = 10ms, Maximum = 10ms, Average = 10ms<br />
<br />
从上面我就可以知道从我的计算机到 202.96.105.101一共通过了202.107.208.187 ，202.107.210.214 , 61.153.112.70 , 61.153.112.89 , 202.96.105.149 , 202.96.105.97这几个路由。<br />
<br />
<br />
-s count Timestamp for count hops.<br />
指定 count 指定的跃点数的时间戳。<br />
<br />
此参数和-r差不多，只是这个参数不记录数据包返回所经过的路由，最多也只记录4个。<br />
<br />
<br />
-j host-list Loose source route along host-list.<br />
利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔（路由稀疏源）IP 允许的最大数量为 9。<br />
<br />
<br />
-k host-list Strict source route along host-list.<br />
利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔（路由严格源）IP 允许的最大数量为 9。<br />
<br />
<br />
-w timeout Timeout in milliseconds to wait for each reply.<br />
指定超时间隔，单位为毫秒。<br />
<br />
此参数没有什么其他技巧。<br />
<br />
ping命令的其他技巧：在一般情况下还可以通过 ping对方让对方返回给你的TTL值大小，粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列，一般情况下Windows 系列的系统返回的TTL值在100-130之间，而UNIX/Linux系列的系统返回的TTL值在240-255之间，当然TTL的值在对方的主机里是可以修改的，Windows系列的系统可以通过修改注册表以下键值实现：<br />
<br />
[HKEY_LOCAL_MACHINE＼SYSTEM＼CurrentControlSet＼Services＼Tcpip＼Parameters]<br />
"DefaultTTL"=dword:000000ff<br />
255---FF<br />
128---80<br />
64----40<br />
32----20<br />
<br />
=============================================================================<br />
<br />
网络工程师都会用到Ping，它是检查路由问题的有效办法。但也常听工程师抱怨：不可能，怎么会不通呢？<br />
<br />
这样的困惑一般发生在自认为路由设置正确的时候。举几个笔者遇到的问题，欢迎大家补充。　最简单的三种情况：<br />
<br />
1.太心急。即网线刚插到交换机上就想Ping通网关，忽略了生成树的收敛时 间。当然，较新的交换机都支持快速生成树，或者有的管理员干脆把用户端口（access port）的生成树协议关掉，问题就解决了。<br />
<br />
2.访问控制。不管中间跨越了多少跳，只要有节点（包括端节点）对ICMP进行了过滤，Ping不通是正常的。最常见的就是防火墙的行为。<br />
<br />
3.某些路由器端口是不允许用户Ping的。<br />
<br />
还遇到过这样的情形，更为隐蔽。<br />
<br />
1.网络因设备间的时延太大，造成ICMP echo报文无法在缺省时间（2秒）内收到。时延的原因有若干，比如线路（卫星网时延上下星为540毫秒），路由器处理时延，或路由设计不合理造成迂回路径。使用扩展Ping，增加timed out时 间，可Ping通的话就属路由时延太大问题。<br />
<br />
2.引入NAT的场合会造成单向Ping通。NAT可以起到隐蔽内部地址的作用，当由内Ping外时，可以Ping通是因为NAT表的映射关系存在，当由外发起Ping内网主机时，就无从查找边界路由器的NAT表项了。<br />
<br />
3.多路由负载均衡场合。比如Ping远端目的主机，成功的reply和timed out交错出现，结果发现在网关路由器上存在两条到目的网段的路由，两条路由权重相等，但经查一条路由存在问题。<br />
<br />
4.IP地址分配不连续。地址规划出现问题象是在网络中埋了地雷，地址重叠或掩码划分不连续都可能在Ping时出现问题。比如一个极端情况，A、B两台主机，经过多跳相连，A能Ping通B的网关，而且B的网关设置正确，但A、B就是Ping不通。经查，在B的网卡上还设有第二个地址，并且这个地址与 A所在的网段重叠。<br />
<br />
5.指定源地址的扩展Ping。登陆到路由器上，Ping远程主机，当ICMP echo request从串行广域网接口发出去的时候，路由器会指定某个IP地址作为源IP，这个IP地址可能不是此接口的IP或这个接口根本没有IP地址。而某个下游路由器可能并没有到这个IP网段的路由，导致不能Ping通。可以采用扩展Ping，指定好源IP地址。<br />
<br />
当主机网关和中间路由的配置认为正确时，出现Ping问题也是很普遍的现象。此时应该忘掉"不可能"几个字，把Ping的扩展参数和反馈信息、traceroute、路由器debug、以及端口镜像和Sniffer等工具结合起来进行分析。<br />
<br />
比如，当A、B两台主机经过多跳路由器相连时，二者网关设置正确，在A上可以Ping通B，但在B上不能Ping通A。可以通过在交换机做镜像，并用 Sniffer抓包，来找出ICMP 报文终止于何处，报文内容是什么，就可以发现ICMP报文中的源IP地址并非预期的那样，此时很容易想象出可能是路由器的NAT功能使然，这样就能够逐步地发现一些被忽视的问题。而Ping不通时的反馈信息是"destination_net_unreachable"还是"timed out"也是有区别的<br />
<br />
===========================================================================<br />
<br />
Windows下ping命令相信大家已经再熟悉不过了，但是能把ping的功能发挥到最大的人却并不<br />
是很多，当然我也并不是说我可以让ping发挥最大的功能，我也只不过经常用ping这个工具，<br />
也总结了一些小经验，现在和大家分享一下。<br />
现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧，ping只有在安<br />
装了TCP/IP协议以后才可以使用：<br />
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s coun<br />
t] [-j computer-list] | [-k computer-list] [-w timeout] destination-list<br />
Options:<br />
-t Ping the specified host until stopped.To see statistics and continue - type C<br />
ontrol-Break;To stop - type Control-C.<br />
不停的ping地方主机，直到你按下Control-C。<br />
此功能没有什么特别的技巧，不过可以配合其他参数使用，将在下面提到。<br />
<br />
<br />
-a Resolve addresses to hostnames.<br />
解析计算机NetBios名。<br />
示例：C:＼&gt;ping -a 192.168.1.21<br />
Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data:<br />
Reply from 192.168.1.21: bytes=32 time&lt;10ms TTL=254<br />
Reply from 192.168.1.21: bytes=32 time&lt;10ms TTL=254<br />
Reply from 192.168.1.21: bytes=32 time&lt;10ms TTL=254<br />
Reply from 192.168.1.21: bytes=32 time&lt;10ms TTL=254<br />
Ping statistics for 192.168.1.21:<br />
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times<br />
in milli-seconds:<br />
Minimum = 0ms, Maximum = 0ms, Average = 0ms<br />
从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yofor.com。<br />
<br />
-n count Number of echo requests to send.<br />
发送count指定的Echo数据包数。<br />
在默认情况下，一般都只发送四个数据包，通过这个命令可以自己定义发送的个数，对衡量<br />
网络速度很有帮助，比如我想测试发送50个数据包的返回的平均时间为多少，最快时间为多少<br />
，最慢时间为多少就可以通过以下获知：<br />
C:＼&gt;ping -n 50 202.103.96.68<br />
Pinging 202.103.96.68 with 32 bytes of data:<br />
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241<br />
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241<br />
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241<br />
Request timed out.<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br />
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241<br />
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241<br />
Ping statistics for 202.103.96.68:<br />
Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate round trip tim<br />
es in milli-seconds:<br />
Minimum = 40ms, Maximum = 51ms, Average = 46ms<br />
从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中，返回了48个，其中有两<br />
个由于未知原因丢失，这48个数据包当中返回速度最快为40ms，最慢为51ms，平均速度为46m<br />
s。<br />
<br />
<br />
-l size Send buffer size.<br />
定义echo数据包大小。<br />
在默认的情况下windows的ping发送的数据包大小为32byt，我们也可以自己定义它的大小，<br />
但有一个大小的限制，就是最大只能发送65500byt，也许有人会问为什么要限制到65500byt，<br />
因为Windows系列的系统都有一个安全漏洞（也许还包括其他系统）就是当向对方一次发送的<br />
数据包大于或等于65532时，对方就很有可能挡机，所以微软公司为了解决这一安全漏洞于是<br />
限制了ping的数据包大小。虽然微软公司已经做了此限制，但这个参数配合其他参数以后危害<br />
依然非常强大，比如我们就可以通过配合-t参数来实现一个带有攻击性的命令：（以下介绍带<br />
有危险性，仅用于试验，请勿轻易施于别人机器上，否则后果自负）<br />
C:＼&gt;ping -l 65500 -t 192.168.1.21<br />
Pinging 192.168.1.21 with 65500 bytes of data:<br />
Reply from 192.168.1.21: bytes=65500 time&lt;10ms TTL=254<br />
Reply from 192.168.1.21: bytes=65500 time&lt;10ms TTL=254<br />
&#8230;&#8230;&#8230;&#8230;&#8230;&#8230;<br />
这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包，如果你只有一台计<br />
算机也许没有什么效果，但如果有很多计算机那么就可以使对方完全瘫痪，我曾经就做过这样<br />
的试验，当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时，不到5分钟对方<br />
的网络就已经完全瘫痪，网络严重堵塞，HTTP和FTP服务完全停止，由此可见威力非同小可。<br />
<br />
<br />
<br />
-f Set Don't Fragment flag in packet.<br />
在数据包中发送&#8220;不要分段&#8221;标志。<br />
在一般你所发送的数据包都会通过路由分段再发送给对方，加上此参数以后路由就不会再分<br />
段处理。<br />
<br />
<br />
-i TTL Time To Live.<br />
指定TTL值在对方的系统里停留的时间。<br />
此参数同样是帮助你检查网络运转情况的。<br />
<br />
<br />
-v TOS Type Of Service.<br />
将&#8220;服务类型&#8221;字段设置为 tos 指定的值。<br />
<br />
-r count Record route for count hops.<br />
在&#8220;记录路由&#8221;字段中记录传出和返回数据包的路由。<br />
在一般情况下你发送的数据包是通过一个个路由才到达对方的，但到底是经过了哪些路由呢<br />
？通过此参数就可以设定你想探测经过的路由的个数，不过限制在了9个，也就是说你只能跟<br />
踪到9个路由，如果想探测更多，可以通过其他命令实现，我将在以后的文章中给大家讲解。<br />
以下为示例：<br />
C:＼&gt;ping -n 1 -r 9 202.96.105.101 （发送一个数据包，最多记录9个路由）<br />
<br />
Pinging 202.96.105.101 with 32 bytes of data:<br />
<br />
Reply from 202.96.105.101: bytes=32 time=10ms TTL=249<br />
Route: 202.107.208.187 -&gt;<br />
202.107.210.214 -&gt;<br />
61.153.112.70 -&gt;<br />
61.153.112.89 -&gt;<br />
202.96.105.149 -&gt;<br />
202.96.105.97 -&gt;<br />
202.96.105.101 -&gt;<br />
202.96.105.150 -&gt;<br />
61.153.112.90<br />
<br />
Ping statistics for 202.96.105.101:<br />
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),<br />
Approximate round trip times in milli-seconds:<br />
Minimum = 10ms, Maximum = 10ms, Average = 10ms<br />
从上面我就可以知道从我的计算机到202.96.105.101一共通过了202.107.208.187 ，202.10<br />
7.210.214 , 61.153.112.70 , 61.153.112.89 , 202.96.105.149 , 202.96.105.97这几个路<br />
由。<br />
<br />
<br />
-s count Timestamp for count hops.<br />
指定 count 指定的跃点数的时间戳。<br />
此参数和-r差不多，只是这个参数不记录数据包返回所经过的路由，最多也只记录4个。<br />
<br />
<br />
-j host-list Loose source route along host-list.<br />
利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔（路由<br />
稀疏源）IP 允许的最大数量为 9。<br />
<br />
<br />
-k host-list Strict source route along host-list.<br />
利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔（路由<br />
严格源）IP 允许的最大数量为 9。<br />
<br />
<br />
-w timeout Timeout in milliseconds to wait for each reply.<br />
指定超时间隔，单位为毫秒。<br />
此参数没有什么其他技巧。<br />
<br />
ping命令的其他技巧：在一般情况下还可以通过ping对方让对方返回给你的TTL值大小，粗略<br />
的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列，一般情况下Windows系列的系<br />
统返回的TTL值在100-130之间，而UNIX/Linux系列的系统返回的TTL值在240-255之间，当然T<br />
TL的值在对方的主机里是可以修改的，Windows系列的系统可以通过修改注册表以下键值实现<br />
：<br />
[HKEY_LOCAL_MACHINE＼SYSTEM＼CurrentControlSet＼Services＼Tcpip＼Parameters]<br />
"DefaultTTL"=dword:000000ff<br />
255---FF<br />
128---80<br />
64----40<br />
32----20<br />
好了，ping命令也基本上完全讲解完了，其中还有-j,-k参数我还没有详细说明，由于某些原<br />
因也包括我自己所收集的资料过少这里也没有向大家详细介绍，请大家见谅，如果在看了这篇<br />
文章的朋友当中有知道得比我更多的，以及其他使用技巧的也希望您能告诉我，并在此先谢过<br />
。<br />
<br />
<br />
在这里我补充一点：那个-l参数最大值是64K,严格说那个例子给得不对,都65多K了,不可能那么大,加上那个-t,不停的ping可以让一些路由器重起,导致路由器的设置恢复原始值,这就是入侵路由的一种方法,有点用的.<br />
<br />
（二）<br />
<br />
用于验证与远程计算机的连接。该命令只有在安装了 TCP/IP 协议后才可以使用。Ping命令的主要作用是通过发送数据包并接收应答信息来检测两台计算机之间的网络是否连通。当网络出现故障的时候，可以用这个命令来预测故障和确定故障地点。Ping命令成功只是说明当前主机与目的主机之间存在一条连通的路径。如果不成功，则考虑：网线是否连通、网卡设置是否正确、 IP地址是否可用等。<br />
Ping 是Windows系列自带的一个可执行命令。利用它可以检查网络是否能够连通，用好它可以很好地帮助我们分析判定网络故障。应用格式：Ping IP地址。该命令还可以加许多参数使用，具体是键入Ping按回车即可看到详细说明。<br />
<br />
1.Ping本机IP<br />
<br />
例如本机IP地址为：172.168.200.2。则执行命令Ping 172.168.200.2。如果网卡安装配置没有问题，则应有类似下列显示：<br />
<br />
Replay from 172.168.200.2 bytes=32 time&lt;10ms<br />
<br />
Ping statistics for 172.168.200.2<br />
<br />
Packets Sent=4 Received=4 Lost=0 0% loss<br />
<br />
Approximate round trip times in milli-seconds<br />
<br />
Minimum=0ms Maxiumu=1ms Average=0ms<br />
<br />
如果在MS-DOS方式下执行此命令显示内容为：Request timed out，则表明网卡安装或配置有问题。将网线断开再次执行此命令，如果显示正常，则说明本机使用的IP地址可能与另一台正在使用的机器IP地址重复了。如果仍然不正常，则表明本机网卡安装或配置有问题，需继续检查相关网络配置。<br />
<br />
2.Ping网关IP<br />
<br />
假定网关IP为：172.168.6.1，则执行命令Ping 172.168.6.1。在MS-DOS方式下执行此命令，如果显示类似以下信息：<br />
<br />
Reply from 172.168.6.1 bytes=32 time=9ms TTL=255<br />
<br />
Ping statistics for 172.168.6.1<br />
<br />
Packets Sent=4 Received=4 Lost=0<br />
<br />
Approximate round trip times in milli-seconds<br />
<br />
Minimum=1ms Maximum=9ms Average=5ms<br />
<br />
则表明局域网中的网关路由器正在正常运行。反之，则说明网关有问题。<br />
<br />
3.Ping远程IP<br />
<br />
这一命令可以检测本机能否正常访问Internet。比如本地电信运营商的IP地址为：202.102.48.141。在MS-DOS方式下执行命令：Ping 202.102.48.141，如果屏幕显示：<br />
<br />
Reply from 202.102.48.141 bytes=32 time=33ms TTL=252<br />
<br />
Reply from 202.102.48.141 bytes=32 time=21ms TTL=252<br />
<br />
Reply from 202.102.48.141 bytes=32 time=5ms TTL=252<br />
<br />
Reply from 202.102.48.141 bytes=32 time=6ms TTL=252<br />
<br />
Ping statistics for 202.102.48.141<br />
<br />
Packets Sent=4 Received=4 Lost=0 0% loss<br />
<br />
Approximate round trip times in milli-seconds<br />
<br />
Minimum=5ms Maximum=33ms Average=16ms<br />
<br />
则表明运行正常，能够正常接入互联网。反之，则表明主机文件（windows/host）存在问题。<br />
<br />
--PING命令参数详解<br />
<br />
-a 将目标的机器标识转换为ip地址<br />
<br />
-t 若使用者不人为中断会不断的ping下去<br />
<br />
-c count 要求ping命令连续发送数据包，直到发出并接收到count个请求<br />
<br />
-d 为使用的套接字打开调试状态<br />
<br />
-f 是一种快速方式ping。使得ping输出数据包的速度和数据包从远程主机返回一样快，或者更快，达到每秒100次。在这种方式下，每个请求用一个句点表示。对于每一个响应打印一个空格键。<br />
<br />
-i seconds 在两次数据包发送之间间隔一定的秒数。不能同-f一起使用。<br />
<br />
-n 只使用数字方式。在一般情况下ping会试图把IP地址转换成主机名。这个选项要求ping打印IP地址而不去查找用符号表示的名字。如果由于某种原因无法使用本地DNS服务器这个选项就很重要了。<br />
<br />
-p pattern 拥护可以通过这个选项标识16 pad字节，把这些字节加入数据包中。当在网络中诊断与数据有关的错误时这个选项就非常有用。<br />
<br />
-q 使ping只在开始和结束时打印一些概要信息。<br />
<br />
-R 把ICMP RECORD-ROUTE选项加入到ECHO_REQUEST数据包中，要求在数据包中记录路由，这样当数据返回时ping就可以把路由信息打印出来。每个数据包只能记录9个路由节点。许多主机忽略或者放弃这个选项。<br />
<br />
-r 使ping命令旁路掉用于发送数据包的正常路由表。<br />
<br />
-s packetsize 使用户能够标识出要发送数据的字节数。缺省是56个字符，再加上8个字节的ICMP数据头，共64个ICMP数据字节。<br />
<br />
-v 使ping处于verbose方式。它要ping命令除了打印ECHO-RESPONSE数据包之外，还打印其它所有返回的ICMP数据包。<br />
<br />
转自http://hi.baidu.com/bwjj/blog/item/3d623d4ec5cdbfcad0c86a5f.html<br />
<br />
http://baike.baidu.com/lemma-php/dispose/view.php/36175.htm<br />
<br />
</span></span>
<img src ="http://www.blogjava.net/sodar-fish/aggbug/143335.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/sodar-fish/" target="_blank">SodaR FisH (苏达小鱼)</a> 2007-09-07 10:40 <a href="http://www.blogjava.net/sodar-fish/articles/143335.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>