ping命令详解.docx
- 文档编号:6470128
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:13
- 大小:36.25KB
ping命令详解.docx
《ping命令详解.docx》由会员分享,可在线阅读,更多相关《ping命令详解.docx(13页珍藏版)》请在冰豆网上搜索。
ping命令详解
Ping
求助编辑百科名片
Ping是Windows系列自带的一个可执行命令。
利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障。
应用格式:
PingIP地址。
该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。
概念
工作流程
1实例讲解举例说明
PING测试
PING命令参数详解
PING的各类反馈信息
相关CMD命令
pingUNIX命令
利用ping命令检查网络故障
概念
工作流程
1实例讲解举例说明
PING测试
PING命令参数详解
PING的各类反馈信息
相关CMD命令
pingUNIX命令
利用ping命令检查网络故障
展开
编辑本段概念
是DOS命令,一般用于检测网络通与不通,也叫时延,其值越大,速度越慢 PING(PacketInternetGrope),因特网包探索器,用于测试网络连接量的程序。
Ping发送一个ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。
它是用来检查网络是否通畅或者网络连接速度的命令。
作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:
利用网络上机器IP地址的唯一性,给目标IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台网络机器是否连接相通,时延是多少?
ping指的是端对端连通,通常用来作为可用性的检查,但是某些病毒木马会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢。
严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。
通常的情况下你如果不用作服务器或者进行网络测试,可以放心的选中它,保护你的电脑
编辑本段工作流程
我们以下面一个网络为例:
有A、B、C、D四台机子,一台路由RA,子网掩码均为255.255.255.0,默认路由为192.168.0.1 1.在同一网段内 在主机A上运行“Ping192.168.0.5”后,都发生了些什么呢?
首先,Ping命令会构建一个固定格式的ICMP请求数据包,然后由ICMP协议将这个数据包连同地址“192.168.0.5”一起交给IP层协议(和ICMP一样,实际上是一组后台运行的进程),IP层协议将以地址“192.168.0.5”作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构建一个IP数据包,并想办法得到192.168.0.5的MAC地址(物理地址,这是数据链路层协议构建数据链路层的传输单元——帧所必需的),以便交给数据链路层构建一个数据帧。
关键就在这里,IP层协议通过机器B的IP地址和自己的子网掩码,发现它跟自己属同一网络,就直接在本网络内查找这台机器的MAC,如果以前两机有过通信,在A机的ARP缓存表应该有B机IP与其MAC的映射关系,如果没有,就发一个ARP请求广播,得到B机的MAC,一并交给数据链路层。
后者构建一个数据帧,目的地址是IP层传过来的物理地址,源地址则是本机的物理地址,还要附加上一些控制信息,依据以太网的介质访问规则,将它们传送出去。
主机B收到这个数据帧后,先检查它的目的地址,并和本机的物理地址对比,如符合,则接收;否则丢弃。
接收后检查该数据帧,将IP数据包从帧中提取出来,交给本机的IP层协议。
同样,IP层检查后,将有用的信息提取后交给ICMP协议,后者处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发送ICMP请求包到主机B一模一样。
2.不在同一网段内 在主机A上运行“Ping192.168.1.4”后,开始跟上面一样,到了怎样得到MAC地址时,IP协议通过计算发现D机与自己不在同一网段内,就直接将交由路由处理,也就是将路由的MAC取过来,至于怎样得到路由的MAC,跟上面一样,先在ARP缓存表找,找不到就广播吧。
路由得到这个数据帧后,再跟主机D进行联系,如果找不到,就向主机A返回一个超时的信息。
编辑本段实例讲解
举例说明
ping就是对一个网址发送测试数据包,看对方网址是否有响应并统计响应时间,以此测试网络。
具体方式是,开始--运行--cmd,在调出的dos窗口下输入ping空格+你要ping的网址,回车。
比如“ping”之后屏幕会显示类似信息 Pinging[61.135.169.105]with32bytesofdata:
Replyfrom61.135.169.105:
bytes=32time=1244msTTL=46 Replyfrom61.135.169.105:
bytes=32time=1150msTTL=46 Replyfrom61.135.169.105:
bytes=32time=960msTTL=46 Replyfrom61.135.169.105:
bytes=32time=1091msTTL=46 后面的time=1244ms是响应时间,这个时间越小,说明你连接这个地址速度越快。
编辑本段PING测试
1.Ping本机IP 例如本机IP地址为:
172.168.200.2。
则执行命令Ping172.168.200.2。
如果网卡安装配置没有问题,则应有类似下列显示:
Replyfrom172.168.200.2bytes=32time<10ms Pingstatisticsfor172.168.200.2 PacketsSent=4Received=4Lost=00%loss Approximateroundtriptimesinmilli-seconds Minimum=0msMaxiumu=1msAverage=0ms 如果在MS-DOS方式下执行此命令显示内容为:
Requesttimedout,则表明网卡安装或配置有问题。
将网线断开再次执行此命令,如果显示正常,则说明本机使用的IP地址可能与另一台正在使用的机器IP地址重复了。
如果仍然不正常,则表明本机网卡安装或配置有问题,需继续检查相关网络配置。
2.Ping网关IP 假定网关IP为:
172.168.6.1,则执行命令Ping172.168.6.1。
在MS-DOS方式下执行此命令,如果显示类似以下信息:
Replyfrom172.168.6.1bytes=32time=9msTTL=255 Pingstatisticsfor172.168.6.1 PacketsSent=4Received=4Lost=0 Approximateroundtriptimesinmilli-seconds Minimum=1msMaximum=9msAverage=5ms 则表明局域网中的网关路由器正在正常运行。
反之,则说明网关有问题。
3.Ping远程IP 这一命令可以检测本机能否正常访问Internet。
比如本地电信运营商的IP地址为:
202.102.48.141。
在MS-DOS方式下执行命令:
Ping202.102.48.141,如果屏幕显示:
Replyfrom202.102.48.141bytes=32time=33msTTL=252 Replyfrom202.102.48.141bytes=32time=21msTTL=252 Replyfrom202.102.48.141bytes=32time=5msTTL=252 Replyfrom202.102.48.141bytes=32time=6msTTL=252 Pingstatisticsfor202.102.48.141 PacketsSent=4Received=4Lost=00%loss Approximateroundtriptimesinmilli-seconds Minimum=5msMaximum=33msAverage=16ms 则表明运行正常,能够正常接入互联网。
反之,则表明主机文件(windows/host)存在问题。
编辑本段PING命令参数详解
《ping的参数!
》 ping[-t][-a][-ncount][-llength][-f][-ittl][-vtos][-rcount][-scount][[-jcomputer-list]|[-kcomputer-list] [-wtimeout]destination-list Ping命令可以用来验证与远程计算机的连接。
(该命令只有在安装了TCP/IP协议后才能使用) 【参数说明】:
-t:
一直Ping指定的计算机,直到从键盘按下Ctrl+C中断。
-a:
将地址解析为计算机NetBios名。
-n:
发送count指定的ECHO数据包数,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助。
能够测试发送数据包的返回平均时间,及时间的快慢程度。
默认值为4。
-l:
发送指定数据量的ECHO数据包。
默认为32字节;最大值是65500byt。
-f:
在数据包中发送“不要分段”标志,数据包就不会被路由上的网关分段。
通常你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。
-i:
将“生存时间”字段设置为TTL指定的值。
指定TTL值在对方的系统里停留的时间。
同时检查网络运转情况的。
-v:
tos将“服务类型”字段设置为tos指定的值。
-r:
在“记录路由”字段中记录传出和返回数据包的路由。
通常情况下,发送的数据包是通过一系列路由才到达目标地址的,通过此参数可以设定,想探测经过路由的个数。
限定能跟踪到9个路由。
-s:
指定count指定的跃点数的时间戳。
与参数-r差不多,但此参数不记录数据包返回所经过的路由,最多只记录4个。
-j:
利用computer-list指定的计算机列表路由数据包。
连续计算机可以被中间网关分隔(路由稀疏源)IP允许的最大数量为9。
-k:
computer-list利用computer-list指定的计算机列表路由数据包。
连续计算机不能被中间网关分隔(路由严格源)IP允许的最大数量为9。
-w:
timeout指定超时间隔,单位为毫秒。
destination-list:
指定要ping的远程计算机。
一般情况下,通过ping目标地址,可让对方返回TTL值的大小,通过TTL值可以粗略判断目标主机的系统类型是Windows还是UNIX/Linux,一般情况下Windows系统返回的TTL值在100-130之间,而UNIX/Linux系统返回的TTL值在240-255之间。
但TTL的值是可以修改的。
故此种方法可作为参考. 【一般操作方法如下】:
C:
\>pingwww.yahoocom Pingingwww.yahoo.akadnsnet[66.218.71.81]with32bytesofdata:
Replyfrom66.218.71.81:
bytes=32time=160msTTL=41 Replyfrom66.218.71.81:
bytes=32time=150msTTL=41 Replyfrom66.218.71.81:
bytes=32time=160msTTL=41 Replyfrom66.218.71.81:
bytes=32time=161msTTL=41 Pingstatisticsfor66.218.71.81:
Packets:
Sent=4,Received=4,Lost=0(0%loss),Approximate roundtriptimesinmilli-seconds:
Minimum=150ms,Maximum=161ms,Average=157ms -------------------------------------------------------------------------------- Tracerttracert Tracert该诊断实用程序将包含不同生存时间(TTL)值的Internet控制消息协议(ICMP) 回显数据包发送到目标,以决定到达目标采用的路由。
要在转发数据包上的TTL之前至少递减1,必需路径上的每个路由器,所以TTL 是有效的跃点计数。
数据包上的TTL到达0时,路由器应该将“ICMP已超时”的消息发送回源系统。
Tracert先发送TTL为1的回显数据包,并在随后的每次发送过程将TTL递增1,直到目标响应或TTL达到最大值,从而确定路由。
路由通过检查中级路由器发送回的“ICMP已超时”的消息来确定路由。
不过,有些路由器悄悄地下传包含过期TTL值的数据包,而tracert看不到。
tracert[-d][-hmaximum_hops][-jcomputer-list][-wtimeout] target_name 参数说明:
/d指定不将地址解析为计算机名。
-hmaximum_hops指定搜索目标的最大跃点数。
-jcomputer-list指定沿computer-list的稀疏源路由。
-wtimeout每次应答等待timeout指定的微秒数。
target_name目标计算机的名称。
一般操作方法如下:
C:
\>tracertwww.yahoocom Tracingroutetowww.yahoo.akadnsnet[66.218.71.81]overamaximum of30hops:
110ms<10ms<10ms192.168.0.7 2<10ms10ms<10ms210.192.97.129 3<10ms20ms10ms192.168.200.21 4<10ms10ms10ms203.212.0.69 5<10ms10ms10ms202.108.252.1 610ms10ms<10ms202.106.193.201 710ms20ms20ms202.106.193.169 8<10ms10ms10ms202.106.192.226 9<10ms10ms10ms202.96.12.45 1020ms30ms20msp-6-0-r1-c-shsh-1cnnet[202.97.34.34] 1120ms30ms30msp-3-0-r3-i-shsh-1cnnet[202.97.33.74] 12160ms161ms160msif-7-7.core1.LosAngeles.Teleglobenet [207.45.193.73] 13200ms201ms200msif-4-0.core1.Sacramento.Teleglobenet [64.86.83.170] 14190ms190ms190msif-2-0.core1.PaloAlto.Teleglobenet [64.86.83.201] 15160ms160ms160msix-5-0.core1.PaloAlto.Teleglobenet [207.45.196.90] 16180ms180ms160msge-1-3-0.msr1.pao.yahoocom [216.115.100.150] 17170ms210ms321msvl10.bas1.scd.yahoocom[66.218.64.134] 18170ms170ms170msw2.scd.yahoocom[66.218.71.81] =============================================== 对于Windows下ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。
现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧,ping只有在安装了TCP/IP协议以后才可以使用:
ping[-t][-a][-ncount][-llength][-f][-ittl][-vtos][-rcount][-scount][-jcomputer-list]|[-kcomputer-list][-wtimeout]destination-list Options:
-tPingthespecifiedhostuntilstoppedToseestatisticsandcontinue-typeControl-Break;Tostop-typeControl-C. 不停的ping地方主机,直到你按下Control-C。
此功能没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。
-aResolveaddressestohostnames. 解析计算机NetBios名。
示例:
C:
\>ping-a192.168.1.21 Pingingiceblood.yoforcom[192.168.1.21]with32bytesofdata:
Replyfrom192.168.1.21:
bytes=32time<10msTTL=254 Replyfrom192.168.1.21:
bytes=32time<10msTTL=254 Replyfrom192.168.1.21:
bytes=32time<10msTTL=254 Replyfrom192.168.1.21:
bytes=32time<10msTTL=254 Pingstatisticsfor192.168.1.21:
Packets:
Sent=4,Received=4,Lost=0(0%loss),Approximateroundtriptimesinmilli-seconds:
Minimum=0ms,Maximum=0ms,Average=0ms 从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yoforcom。
ncountNumberofechorequeststosend. 发送count指定的Echo数据包数。
在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送50个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知:
C:
\>ping-n50202.103.96.68 Pinging202.103.96.68with32bytesofdata:
Replyfrom202.103.96.68:
bytes=32time=50msTTL=241 Replyfrom202.103.96.68:
bytes=32time=50msTTL=241 Replyfrom202.103.96.68:
bytes=32time=50msTTL=241 Requesttimedout. ……………… Replyfrom202.103.96.68:
bytes=32time=50msTTL=241 Replyfrom202.103.96.68:
bytes=32time=50msTTL=241 Pingstatisticsfor202.103.96.68:
Packets:
Sent=50,Received=48,Lost=2(4%loss),Approximateroundtriptimesinmilli-seconds:
Minimum=40ms,Maximum=51ms,Average=46ms 从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中,返回了48个,其中有两个由于未知原因丢失,这48个数据包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。
lsizeSendbuffersize. 定义echo数据包大小。
在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能挡机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。
虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:
(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负) C:
\>ping-l65500-t192.168.1.21 Pinging192.168.1.21with65500bytesofdata:
Replyfrom192.168.1.21:
bytes=65500time<10msTTL=254 Replyfrom192.168.1.21:
bytes=65500time<10msTTL=254 ……………… 这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,我曾经就做过这样的试验,当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时,不到5分钟对方的网络就已经完全瘫痪,网络严重堵塞,HTTP和FTP服务完全停止,由此可见威力非同小可。
-fSetDon<|>tFragmentflaginpacket. 在数据包中发送“不要分段”标志。
在一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。
-iTTLTimeToLive. 指定TTL值在对方的系统里停留的时间。
此参数同样是帮助你检查网络运转情况的。
-vTOSTyp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ping 命令 详解