ping命令技巧详解windows下ping知识大全.doc_第1页
ping命令技巧详解windows下ping知识大全.doc_第2页
ping命令技巧详解windows下ping知识大全.doc_第3页
ping命令技巧详解windows下ping知识大全.doc_第4页
ping命令技巧详解windows下ping知识大全.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

windows ping命令对于多数电脑爱好者都不会陌生,通过ping ip可以知道网络是否畅通或者网络传输质量如何等,是网络技术人员常用的检测网络命令,多数朋友对ping命令知道的并不多,接下来本文将与大家详细了解ping以及ping命令高级技巧等,如果觉得本文不错,记得收藏哦,或许今后有用到的时候! ping的基本用法想必大家都会,可知不值到有关ping命令的高级用法呢?如下面的: 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 Options: -t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C. 不停的ping地方主机,直到你按下Control-C。 此功能没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。 -a Resolve addresses to hostnames. 解析计算机NetBios名。 示例:C:ping -a 1 Pinging 1 with 32 bytes of data: Reply from 1: bytes=32 time10ms TTL=254 Reply from 1: bytes=32 time10ms TTL=254 Reply from 1: bytes=32 time10ms TTL=254 Reply from 1: bytes=32 timeping -n 50 8 Pinging 8 with 32 bytes of data: Reply from 8: bytes=32 time=50ms TTL=241 Reply from 8: bytes=32 time=50ms TTL=241 Reply from 8: bytes=32 time=50ms TTL=241 Request timed out. Reply from 8: bytes=32 time=50ms TTL=24 1 Reply from 8: bytes=32 time=50ms TTL=241 Ping statistics for 8: Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate round trip times in milli-seconds: Minimum = 40ms, Maximum = 51ms, Average = 46ms 从以上我就可以知道在给8发送50个数据包的过程当中,返回了48个,其中有两个由于未知原因丢失,这48个数据包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。 -l size Send buffer size. 定义echo数据包大小。在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能挡机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负) C:ping -l 65500 -t 1 Pinging 1 with 65500 bytes of data: Reply from 1: bytes=65500 time10ms TTL=254 Reply from 1: bytes=65500 timeping -n 1 -r 9 01 (发送一个数据包,最多记录9个路由) Pinging 01 with 32 bytes of data: Reply from 01: bytes=32 time=10ms TTL=249 Route: 87 - 14 - 0 - 9 - 49 - 7 - 01 - 50 - 0 Ping statistics for 01: Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 10ms, Maximum = 10ms, Average = 10ms 从上面我就可以知道从我的计算机到01一共通过了87 ,14 , 0 , 9 , 49 , 7这几个路由。 -s count Timestamp for count hops. 指定 count 指定的跃点数的时间戳。 此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。 -j host-list Loose source route along host-list. 利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。 -k host-list Strict source route along host-list. 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。 -w timeout Timeout in milliseconds to wait for each reply. 指定超时间隔,单位为毫秒。 此参数没有什么其他技巧。 ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters DefaultTTL=dword:000000ff 255-FF 128-80 64-40 32-20 还有比较基本的,大家都会的: 说得详解一点 -a 将目标的机器标识转换为ip地址 -t 若使用者不人为中断会不断的ping下去 -c count 要求ping命令连续发送数据包,直到发出并接收到count个请求 -d 为使用的套接字打开调试状态 -f 是一种快速方式ping。使得ping输出数据包的速度和数据包从远程主机返回一样快,或者更快,达到每秒100次。在这种方式下,每个请求用一个句点表示。对于每一个响应打印一个空格键。 -i seconds 在两次数据包发送之间间隔一定的秒数。不能同-f一起使用。 -n 只使用数字方式。在一般情况下ping会试图把IP地址转换成主机名。这个选项要求ping打印IP地址而不去查找用符号表示的名字。如果由于某种原因无法使用本地DNS服务器这个选项就很重要了。 -p pattern 拥护可以通过这个选项标识16 pad字节,把这些字节加入数据包中。当在网络中诊断与数据有关的错误时这个选项就非常有用。 -q 使ping只在开始和结束时打印一些概要信息。 -R 把ICMP RECORD-ROUTE选项加入到ECHO_REQUEST数据包中,要求在数据包中记录路由,这样当数据返回时ping就可以把路由信息打印出来。每个数据包只能记录9个路由节点。许多主机忽略或者放弃这个选项。 -r 使ping命令旁路掉用于发送数据包的正常路由表。 -s packetsize 使用户能够标识出要发送数据的字节数。缺省是56个字符,再加上8个字节的ICMP数据头,共64个ICMP数据字节。 -v 使ping处于verbose方式。它要ping命令除了打印ECHO-RESPONSE数据包之外,还打印其它所有返回的ICMP数据包。 校验与远程计算机或本地计算机的连接。只有在安装 TCP/IP 协议之后才能使用该命令。 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 参数 -t 校验与指定计算机的连接,直到用户中断。 -a 将地址解析为计算机名。 -n count 发送由 count 指定数量的 ECHO 报文,默认值为 4。 -l length 发送包含由 length 指定数据长度的 ECHO 报文。默认值为 64 字节,最大值为 8192 字节。 -f 在包中发送“不分段”标志。该包将不被路由上的网关分段。 -i ttl 将“生存时间”字段设置为 ttl 指定的数值。 -v tos 将“服务类型”字段设置为 tos 指定的数值。 -r count 在“记录路由”字段中记录发出报文和返回报文的路由。指定的 Count 值最小可以是 1,最大可以是 9 。 -s count 指定由 count 指定的转发次数的时间邮票。 -j computer-list 经过由 computer-list 指定的计算机列表的路由报文。中间网关可能分隔连续的计算机(松散的源路由)。允许的最大 IP 地址数目是 9 。 -k computer-list 经过由 computer-list 指定的计算机列表的路由报文。中间网关可能分隔连续的计算机(严格源路由)。允许的最大 IP 地址数目是 9 。 -w timeout 以毫秒为单位指定超时间隔。 destination-list 指定要校验连接的远程计算机。 关于 Ping 的详细信息 Ping-注意 Ping 命令通过向计算机发送 ICMP 回应报文并且监听回应报文的返回,以校验与远程计算机或本地计算机的连接。对于每个发送报文, Ping 最多等待 1 秒,并打印发送和接收把报文的数量。比较每个接收报文和发送报文,以校验其有效性。默认情况下,发送四个回应报文,每个报文包含 64 字节的数据(周期性的大写字母序列)。 可以使用 Ping 实用程序测试计算机名和 IP 地址。如果能够成功校验 IP 地址却不能成功校验计算机名,则说明名称解析存在问题。这种情况下,要保证在本地 HOSTS 文件中或 DNS 数据库中存在要查询的计算机名。下面显示 Ping 输出的示例:(Windows用户可用:开始-运行,输入command 调出command窗口使用此命令) C:ping Pinging 32 with 32 bytes of data: Reply from 32: bytes=32 time=101ms TTL=243 Reply from 32: bytes=32 time=100ms TTL=243 Reply from 32: bytes=32 time=120ms TTL=243 Reply from 32: bytes=32 time=120ms TTL=243 这下比较全了! Ping 结果中的TTL参数的含义 简单来说,TTL全程Time to Live,意思就是生存周期。首先要说明ping命令是使用的网络层协议ICMP,所以TTL指的是一个网络层的网络数据包(package)的生存周期,这句话不懂的先回去复习OSI7层协议去。第一个问题,为什么要有生存周期这个概念。很显然,一个package从一台机器到另一台机器中间需要经过很长的路径,显然这个路径不是单一的,是很复杂的,并且很可能存在环路。如果一个数据包在传输过程中进入了环路,如果不终止它的话,它会一直循环下去,如果很多个数据包都这样循环的话,那对于网络来说这就是灾难了。所以需要在包中设置这样一个值,包在每经过一个节点,将这个值减1,反复这样操作,最终可能造成2个结果:包在这个值还为正数的时候到达了目的地,或者是在经过一定数量的节点后,这个值减为了0。前者代表完成了一次正常的传输,后者代表包可能选择了一条非常长的路径甚至是进入了环路,这显然不是我们期望的,所以在这个值为0的时候,网络设备将不会再传递这个包而是直接将他抛弃,并发送一个通知给包的源地址,说这个包已死。其实TTL值这个东西本身并代表不了什么,对于使用者来说,关心的问题应该是包是否到达了目的地而不是经过了几个节点后到达。但是TTL值还是可以得到有意思的信息的。每个操作系统对TTL值得定义都不同,这个值甚至可以通过修改某些系统的网络参数来修改,例如Win2000默认为128,通过注册表也可以修改。而Linux大多定义为64。不过一般来说,很少有人会去修改自己机器的这个值的,这就给了我们机会可以通过ping的回显TTL来大体判断一台机器是什么操作系统。以我公司2台机器为例 看如下命令D:/Documents and Settings/hxping 31Pinging 31 with 32 bytes of data:Reply from 31: bytes=32 time=21ms TTL=118 Reply from 31: bytes=32 time=19ms TTL=118 Reply from 31: bytes=32 time=18ms TTL=118 Reply from 31: bytes=32 time=22ms TTL=118Ping statistics for 31: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss Approximate round trip times in milli- seconds: Minimum = 18ms, Maximum = 22ms, Average = 20ms D:/Documents and Settings/hxping 0Pinging 0 with 32 bytes of data:Reply from 0: bytes=32 time=28ms TTL=54 Reply from 0: bytes=32 time=18ms TTL=54 Reply from 0: bytes=32 time=18ms TTL=54 Reply from 0: bytes=32 time=13ms TTL=54Ping statistics for 0: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss Approximate round trip times in milli-seconds: Minimum = 13ms, Maximum = 28ms, Average = 19ms第一台TTL为118,则基本可以判断这是一台Windows机器,从我的机器到这台机器经过了10个节点,因为128-118=10。而第二台应该是台Linux,理由一样64-54=10。了解了上面的东西,可能有人会有一些疑问,例如以下:1,不是说包可能走很多路径吗,为什么我看到的4个包TTL都是一样的,没有出现不同?这是由于包经过的路径是经过了一些最优选择算法来定下来的,在网络拓扑稳定一段时间后,包的路由路径也会相对稳定在一个最短路径上。具体怎么算出来的要去研究路由算法了,不在讨论之列。2,对于上面例子第二台机器,为什么不认为它是经过了74个节点的Windows机器?因为128-74=54。对于这个问题,我们要引入另外一个很好的ICMP协议工具。不过首先要声明的是,一个包经过74个节点这个有些恐怖,这样的路径还是不用为好。要介绍的这个工具是tracert(*nix下为traceroute),让我们来看对上面的第二台机器用这个命令的结果D:/Documents and Settings/hxtracert 0Tracing route to 0 over a maximum of 30 hops01 13 ms 16 ms 09 ms 02 09 ms 09 ms 11 ms 05 03 12 ms 10 ms 10 ms 73 04 15 ms 15 ms 17 ms 3 05 14 ms 19 ms 19 ms 3 06 14 ms 17 ms 13 ms 21 07 14 ms 15 ms 14 ms 6 08 15 ms 14 ms 13 ms 62 09 16 ms 16 ms 28 ms 6 10 12 ms 13 ms 18 ms 4 11 14 ms 18 ms 16 ms 0Trace complete.从这个命令的结果能够看到从我的机器到服务器所走的路由,确实是11个节点(上面说10个好像是我犯了忘了算0的错误了,应该是64-54+1,嘿嘿),而不是128的TTL经过了70多个节点。既然已经说到这里了,不妨顺便说说关于这两个ICMP命令的高级一点的东西。首先是ping命令,其实ping有这样一个参数,可以无视操作系统默认TTL值而使用自己定义的值来发送ICMP Request包。 例如还是用那台Linux机器,用以下命令:D:/Documents and Settings/hxping 0 -i 11Pinging 0 with 32 bytes of data:Reply from 0: bytes=32 time=10ms TTL=54 Reply from 0: bytes=32 time=13ms TTL=54 Reply from 0: bytes=32 time=10ms TTL=54 Reply from 0: bytes=32 time=13ms TTL=54Ping statistics for 0: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 10ms, Maximum = 13ms, Average = 11msD:/Documents and Settings/hx这个命令我们定义了发包的TTL为11,而前面我们知道,我到这台服务器是要经过11个节点的,所以这个输出和以前没什么不同。现在再用这个试试看:D:/Documents and Settings/hxping 0 -i 10Pinging 0 with 32 bytes of data:Reply from 4: TTL expired in transit. Reply from 4: TTL expired in transit. Reply from 4: TTL expired in transit. Reply from 4: TTL expired in transit.Ping statistics for 0: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0msD:/Documents and Settings/hx可以看到,结果不一样了,我定义了TTL为10来发包,结果是TTL expired in transit.就是说在到达服务器之前这个包的生命周期就结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论