资源预览内容
第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
第9页 / 共11页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
必须掌握的必须掌握的 pingping 和和 tracerttracert 命令详解命令详解2010-7必须掌握的 ping 和 tracert 命令详解发表于: Linux, Tools, UNIX, Windows | 作者: 谋万世全局者标签: Ping,tracert,命令详解Ping这个常用命令大家都会用的,最主要的就是检测目标主机是不是可连通。Ping 程序实际就是发送一个 ICMP 回显请求报文给目的主机,并等待回显的 ICMP 应答。然后输出回显的报文。Ping 不通一个地址,并不一定表示这个 IP 不存在或者没有连接在网络上,因为对方主机可能做了限制,比如安装了防火墙,因此 Ping 不通并不表示不能使用 FTP 或者 TELNET 连接。PING 得到的结果包括字节数、反应时间、以及生存时间。Ping 程序通过在 ICMP 报文数据中存放发送请求的时间来计算返回时间。当应答返回时,根据现在时间减去报文中存放的发送时间就得到反应时间了。生存时间(TTL) ,本来就存放在 IP 数据报的头部,直接就能够获取。Tracert一个探测路由的程序,可以让我们看见 IP 数据报到达目的地经过的路由。Tracert 利用 ICMP 数据报和 IP 数据报头部中的 TTL 值。TTL(Time To Live)是一个 IP 数据报的生存时间,当每个 IP 数据报经过路由器的时候都回把 TTL 值减去 1 或者减去在路由器中停留的时间,但是大多数数据报在路由器中停留的时间都小于 1 秒种,因此实际上就是在 TTL 值减去了 1。这样,TTL 值就相当于一个路由器的计数器。当路由器接收到一个 TTL 为 0 或者 1 的 IP 数据报的时候,路由器就不再转发这个数据了,而直接丢弃,并且发送一个 ICMP“超时”信息给源主机。Tracert 程序的关键就是这个回显的 ICMP 报文的 IP报头的信源地址就是这个路由器的 IP 地址。同时,如果到达了目的主机,我们并不能知道,于是,Tracert 还同时发送一个 UDP 信息给目的主机,并且选择一个很大的值作为 UDP 的端口,使主机的任何一个应用程序都不使用这个端口。所以,当达到目的主机的时候,UDP 模块就产生一个“端口不可到达”的错误,这样就能判断是否是到达目的地了。有说法是利用 ping 得到的 TTL 值来判断主机类型,这种办法可以大概地用来判断,有人问为什么一般得到的都不是标准的 TTL 值。这个就是因为 ICMP 数据包走的路由器线路的原因,所以,用 ping 和 tracert 一起来用更容易判断主机类型(不过并不一定两次走的路线都一样,所以,还是个大概值,不过更接近点,而且主机的默认TTL 值是可以改变的) 。C:ping 211.99.199.204Pinging 211.99.199.204 with 32 bytes of data:Reply from 211.99.199.204: bytes=32 time=20ms TTL=248Reply from 211.99.199.204: bytes=32 time10ms TTL=248Reply from 211.99.199.204: bytes=32 time=10ms TTL=248Reply from 211.99.199.204: bytes=32 time=10ms TTL=248Ping statistics for 211.99.199.204:Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:Minimum = 0ms, Maximum = 20ms, Average = 10msC:tracert 211.99.199.204Tracing route to 211.99.199.204 over a maximum of 30 hops1 10 ms 10 ms 20 ms 211.99.57.1212 10 ms 10 ms 10 ms 202.96.13.13 10 ms 10 ms 20 ms 202.96.13.624 20 ms 10 ms 10 ms 210.77.139.1865 10 ms 10 ms 20 ms 210.77.139.1706 10 ms 10 ms 10 ms 211.99.193.1547 10 ms 10 ms 10 ms 211.99.199.204Trace complete.Ping 得到的 TTL=248,经过了 7 个路由器,减少了 7,所以主机的TTL 值是 255。这样来判断吧。下面是一些主机的默认 TTL 值。LINUX Kernel 2.2.x Sun Solaris 2.5.1, 2.6, 2.7, 2.8;OpenBSD 2.6, 2.7,NetBSDHP UX 10.20ICMP 回显应答的 TTL 字段值为 255Windows 95/98/98SE/ME 的 ICMP 回显应答的 TTL 字段值为 32Windows NT/2000/XP/2003/vista/2008/7ICMP 回显应答的 TTL 字段值为 128ping 和 tracert 命令详解ping 只有在安装了 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-listOptions:-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 192.168.1.21Pinging iceblood.yofor.com 192.168.1.21 with 32 bytes of data:Reply from 192.168.1.21: bytes=32 timeping -n 50 202.103.96.68Pinging 202.103.96.68 with 32 bytes of data:Reply from 202.103.96.68: bytes=32 time=50ms TTL=241Reply from 202.103.96.68: bytes=32 time=50ms TTL=241Reply from 202.103.96.68: bytes=32 time=50ms TTL=241Request timed out.Reply from 202.103.96.68: bytes=32 time=50ms TTL=241Reply from 202.103.96.68: bytes=32 time=50ms TTL=241Ping statistics 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.定义 echo 数据包大小。在默认的情况下 windows 的 ping 发送的数据包大小为 32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送 65500byt,也许有人会问为什么要限制到 65500byt,因为Windows 系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于 65532 时,对方就很有可能挡机,所以微软公司为了解决这一安全漏洞于是限制了 ping 的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t 参数来实现一个带有攻击性的命令:(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负)C:ping -l 65500 -t 192.168.1.21Pinging 192.168.1.21 with 65500 bytes of data:Reply from 192.168.1.21: bytes=65500 timet Fragment flag in packet.在数据包中发送“不要分段”标志。在一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。-i TTL Time To Live.指定 TTL 值在对方的系统里停留的时间。此参数同样是帮助你检查网络运转情况的。-v TOS Type Of Service.将“服务类型”字段设置为 tos 指定的值。-r count 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.105.101: bytes=32 time=10ms TTL=249Route: 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.90Ping statistics for 202.96.105.101:Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),Approximate round trip 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 这几个路由。-s count Timestamp for count hops.指定 count 指定的跃点数的时间戳。此参数和-r 差不多,只是这个参数不记录数据
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号