《ping命令有什么用.doc》由会员分享,可在线阅读,更多相关《ping命令有什么用.doc(18页珍藏版)》请在三一文库上搜索。
1、Ping 是Windows系列自带的一个可执行命令。利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障。应用格式:Ping IP地址。该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明。编辑本段一、什么是PING是DOS命令,一般用于检测网络通与不通 ,也叫时延,其值越大,速度越慢PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。 它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,p
2、ing命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。ping指的是端对端连通,通常用来作为可用性的检查, 但是某些病毒木马会强行大量远程执行ping命令抢占你的网络资源,导致系统变慢,网速变慢。严禁ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择。通常的情况下你如果不用作服务器或者进行网络测试,可以放心的选中它,保护你的电脑 编辑本段二、PING的工作流程我们以下面一个网络为例:有A、B、C
3、、D四台机子,一台路由RA,子网掩码均为255.255.255.0,默认路由为192.168.0.1 11.在同一网段内 在主机A上运行“Ping 192.168.0.5”后,都发生了些什么呢? 首先,Ping命令会构建一个固定格式的ICMP请求数据包,然后由ICMP协议将这个数据包连同地址“192.168.0.5”一起交给IP层协议(和ICMP一样,实际上是一组后台运行的进程),IP层协议将以地址“192.168.0.5”作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构建一个IP数据包,并想办法得到192.168.0.5的MAC地址(物理地址,这是数据链路层协议构建数据链路层
4、的传输单元帧所必需的),以便交给数据链路层构建一个数据帧。关键就在这里,IP层协议通过机器B的IP地址和自己的子网掩码,发现它跟自己属同一网络,就直接在本网络内查找这台机器的MAC,如果以前两机有过通信,在A机的ARP缓存表应该有B机IP与其MAC的映射关系,如果没有,就发一个ARP请求广播,得到B机的MAC,一并交给数据链路层。后者构建一个数据帧,目的地址是IP层传过来的物理地址,源地址则是本机的物理地址,还要附加上一些控制信息,依据以太网的介质访问规则,将它们传送出去。 主机B收到这个数据帧后,先检查它的目的地址,并和本机的物理地址对比,如符合,则接收;否则丢弃。接收后检查该数据帧,将IP
5、数据包从帧中提取出来,交给本机的IP层协议。同样,IP层检查后,将有用的信息提取后交给ICMP协议,后者处理后,马上构建一个ICMP应答包,发送给主机A,其过程和主机A发送ICMP请求包到主机B一模一样。 2.不在同一网段内 在主机A上运行“Ping 192.168.1.4”后,开始跟上面一样,到了怎样得到MAC地址时,IP协议通过计算发现D机与自己不在同一网段内,就直接将交由路由处理,也就是将路由的MAC取过来,至于怎样得到路由的MAC,跟上面一样,先在ARP缓存表找,找不到就广播吧。路由得到这个数据帧后,再跟主机D进行联系,如果找不到,就向主机A返回一个超时的信息。 编辑本段三、PING测
6、试1.Ping本机IP例如本机IP地址为:172.168.200.2。则执行命令Ping 172.168.200.2。如果网卡安装配置没有问题,则应有类似下列显示:Replay from 172.168.200.2 bytes=32 timeping Pinging 66.218.71.81 with 32 bytes of data: Reply from 66.218.71.81: bytes=32 time=160ms TTL=41 Reply from 66.218.71.81: bytes=32 time=150ms TTL=41 Reply from 66.218.71.81:
7、 bytes=32 time=160ms TTL=41 Reply from 66.218.71.81: bytes=32 time=161ms TTL=41 Ping statistics for 66.218.71.81: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds: Minimum = 150ms, Maximum = 161ms, Average = 157ms - Tracerttracert Tracert 该诊断实用程序将包含不同
8、生存时间 (TTL) 值的 Internet 控制消息协议(ICMP) 回显数据包发送到目标,以决定到达目标采用的路由。要在转发数据包上的 TTL 之前至少递减 1,必需路径上的每个路由器,所以 TTL 是有效的跃点计数。数据包上的 TTL 到达 0 时,路由器应该将“ICMP 已超时”的消息发送回源系统。Tracert 先发送 TTL 为 1 的回显数据包,并在随后的每次发送过程将 TTL递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。路由通过检查中级路由器发送回的“ICMP 已超时”的消息来确定路由。不过,有些路由器悄悄地下传包含过期 TTL 值的数据包,而 tracert 看
9、不到。 tracert -d -h maximum_hops -j computer-list -w timeout target_name 参数说明: /d 指定不将地址解析为计算机名。 -h maximum_hops 指定搜索目标的最大跃点数。 -j computer-list 指定沿 computer-list 的稀疏源路由。 -w timeout 每次应答等待 timeout 指定的微秒数。 target_name 目标计算机的名称。 一般操作方法如下: C:tracert Tracing route to 66.218.71.81 over a maximum of 30 hop
10、s: 1 10 ms 10 ms 10 ms 192.168.0.7 2 10 ms 10 ms 10 ms 210.192.97.129 3 10 ms 20 ms 10 ms 192.168.200.21 4 10 ms 10 ms 10 ms 203.212.0.69 5 10 ms 10 ms 10 ms 202.108.252.1 6 10 ms 10 ms 10 ms 202.106.193.201 7 10 ms 20 ms 20 ms 202.106.193.169 8 10 ms 10 ms 10 ms 202.106.192.226 9 ping -a 192.168.1.
11、21 Pinging 192.168.1.21 with 32 bytes of data: Reply from 192.168.1.21: bytes=32 time10ms TTL=254 Reply from 192.168.1.21: bytes=32 time10ms TTL=254 Reply from 192.168.1.21: bytes=32 time10ms TTL=254 Reply from 192.168.1.21: bytes=32 timeping -n 50 202.103.96.68 Pinging 202.103.96.68 with 32 bytes
12、of data: Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Request timed out. Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 Ping st
13、atistics for 202.103.96.68: Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate round trip times in milli-seconds: Minimum = 40ms, Maximum = 51ms, Average = 46ms 从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中,返回了48个,其中有两个由于未知原因丢失,这48个数据包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。 l size Send buffer size.
14、定义echo数据包大小。 在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能挡机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性,仅用于试验,请勿轻易施于别
15、人机器上,否则后果自负) C:ping -l 65500 -t 192.168.1.21 Pinging 192.168.1.21 with 65500 bytes of data: Reply from 192.168.1.21: bytes=65500 time10ms TTL=254 Reply from 192.168.1.21: bytes=65500 time10ms TTL=254 这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,我曾经就做过这样的试验,当我同时使
16、用10台以上计算机ping一台Win2000Pro系统的计算机时,不到5分钟对方的网络就已经完全瘫痪,网络严重堵塞,HTTP和FTP服务完全停止,由此可见威力非同小可。 -f Set Dont Fragment flag in packet. 在数据包中发送“不要分段”标志。 在一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。 -i TTL Time To Live. 指定TTL值在对方的系统里停留的时间。 此参数同样是帮助你检查网络运转情况的。 -v TOS Type Of Service. 将“服务类型”字段设置为 tos 指定的值。 r count
17、Record route for count hops. 在“记录路由”字段中记录传出和返回数据包的路由。 在一般情况下你发送的数据包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数,不过限制在了9个,也就是说你只能跟踪到9个路由,如果想探测更多,可以通过其他命令实现,我将在以后的文章中给大家讲解。以下为示例: C:ping -n 1 -r 9 202.96.105.101 (发送一个数据包,最多记录9个路由) Pinging 202.96.105.101 with 32 bytes of data: Reply from 202.96.10
18、5.101: bytes=32 time=10ms TTL=249 Route: 202.107.208.187 - 202.107.210.214 - 61.153.112.70 - 61.153.112.89 - 202.96.105.149 - 202.96.105.97 - 202.96.105.101 - 202.96.105.150 - 61.153.112.90 Ping statistics for 202.96.105.101: Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), Approximate round tri
19、p times in milli-seconds: Minimum = 10ms, Maximum = 10ms, Average = 10ms 从上面我就可以知道从我的计算机到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这几个路由。 指定 count 指定的跃点数的时间戳。 此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。 -j host-list Loose source
20、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命令的
21、其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现: HKEY_LOCAL_MACHINEsys temCurrentControlSetServicesTcpipParameters DefaultTTL=dword:000000ff 255-FF 128-80
22、 64-40 32-20 Ping是个使用频率极高的网络诊断程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息,你就可以推断TCP/IP参数是否设置得正确以及运行是否正常。需要注意的是:成功地与另一台主机进行一次或两次数据报交换并不表示TCP/IP配置就是正确的,你必须执行大量的本地主机与远程主机的数据报交换,才能确信TCP/IP的正确性。=Ping的返回信息有Request Timed Out、Destination Net Unreachable和Bad IP address还有Source quench received。 Request Timed Out
23、这个信息表示对方主机可以到达到TIME OUT,这种情况通常是为对方拒绝接收你发给它的数据包造成数据包丢失。大多数的原因可能是对方装有防火墙或已下线。 Destination Net Unreachable这个信息表示对方主机不存在或者没有跟对方建立连接。这里要说明一下destination host unreachable和time out的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其它原因不可到达,这时候会出现time out,如果路由表中连到达目标的路由都没有,那就会出现destination host unreachable。 Bad IP address 这个信
24、息表示你可能没有连接到DNS服务器所以无法解析这个IP地址,也可能是IP地址不存在。 Source quench received信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。=怎样使用Ping这命令来测试网络连通呢? 连通问题是由许多原因引起的,如本地配置错误、远程主机协议失效等,当然还包括设备等造成的故障。 首先我们讲一下使用Ping命令的步骤。 使用Ping检查连通性有六个步骤: 1. 使用ipconfig /all观察本地网络设置是否正确; 2. Ping 127.0.0.1,127.0.0.1 回送地址Ping回送地址是为了检查本地的TCP/IP协议有没有设置
25、好; 3. Ping本机IP地址,这样是为了检查本机的IP地址是否设置有误; 4. Ping本网网关或本网IP地址,这样的是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常;(在非局域网中这一步骤可以忽略) 5.Ping本地DNS地址,这样做是为了检查DNS是否能够将IP。6.Ping远程IP地址,这主要是检查本网或本机与外部的连接是否正常。=在检查网络连通的过程中可能出现一些错误,这些错误总的来说分为两种最常见。 1. Request Timed Out request time out这提示除了在PING(一)提到的对方可能装有防火墙或已关机以外,还有就是本机的IP不正确和
26、网关设置错误。 、IP不正确: IP不正确主要是IP地址设置错误或IP地址冲突,这可以利用ipconfig /all这命令来检查。在WIN2000下IP冲突的情况很少发生,因为系统会自动检测在网络中是否有相同的IP地址并提醒你是否设置正确。在NT中不但会出现request time out这提示而且会出现Hardware error这提示信息比较特殊不要给它的提示所迷惑。 、网关设置错误:这个错误可能会在第四个步骤出现。网关设置错误主要是网关地址设置不正确或网关没有帮你转发数据,还有就是可能远程网关失效。这里主要是在你Ping外部网络地址时出错。错误表现为无法Ping外部主机返回信息Reque
27、st timeout。 2. Destination Host Unreachable 当你在开始PING网络计算机时如果网络设备出错它返回信息会提示destination host unreachable。如果局域网中使用DHCP分配IP时,而碰巧DHCP失效,这时使用 PING命令就会产生此错误。因为在DHCP失效时客户机无法分配到IP系统只有自设IP,它往往会设为不同子网的IP。所以会出现Destination Host Unreachable。另外子网掩码设置错误也会出现这错误。 还有一个比较特殊就是路由返回错误信息,它一般都会在Destination Host Unreachable
28、前加上IP地址说明哪个路由不能到达目标主机。这说明你的机器与外部网络连接没有问题,但与某台主机连接存在问题。 编辑本段五、PING的各类反馈信息Request timed out1a.对方已关机,或者网络上根本没有这个地址:比如在上图中主机A中PING 192.168.0.7 ,或者主机B关机了,在主机A中PING 192.168.0.5 都会得到超时的信息。b.对方与自己不在同一网段内,通过路由也无法找到对方,但有时对方确实是存在的,当然不存在也是返回超时的信息。c.对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)怎样知道对方是存在,还是不存在呢,可以用带参数 -a 的Ping命令
29、探测对方,如果能得到对方的NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。d.错误设置IP地址正常情况下,一台主机应该有一个网卡,一个IP地址,或多个网卡,多个IP地址(这些地址一定要处于不同的IP子网)。但如果一台电脑的“拨号网络适配器”(相当于一块软网卡)的TCP/IP设置中,设置了一个与网卡IP地址处于同一子网的IP地址,这样,在IP层协议看来,这台主机就有两个不同的接口处于同一网段内。当从这台主机Ping其他的机器时,会存在这样的问题:A.主机不知道将数据包发到哪个网络接口,因为有两个网络接口都连接在同一网段。B.主机不知道
30、用哪个地址作为数据包的源地址。因此,从这台主机去Ping其他机器,IP层协议会无法处理,超时后,Ping 就会给出一个“超时无应答”的错误信息提示。但从其他主机Ping这台主机时,请求包从特定的网卡来,ICMP只须简单地将目的、源地址互换,并更改一些标志即可,ICMP应答包能顺利发出,其他主机也就能成功Ping通这台机器了。Destination host Unreachable对方与自己不在同一网段内,而自己又未设置默认的路由,比如上例中A机中不设定默认的路由,运行Ping 192.168.0.1.4就会出现“Destination host Unreachable”。网线出了故障这里要说明
31、一下“destination host unreachable”和 “time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。Bad IP address这个信息表示您可能没有连接到DNS服务器,所以无法解析这个IP地址,也可能是IP地址不存在。Source quench received这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。Unknown host不知名主机这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。No answer无响应这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的路由器没有工作;通信线路有故障;中心主机存在路由选择问题。Ping 127.0.0.1:127.0.0.1是本地循环地址如果本地址无法Ping通,则表
链接地址:https://www.31doc.com/p-2510840.html