路由[整理]必须掌握的ping和tracert命令详解

tracert命令详解  时间:2021-01-11  阅读:()

必须掌握的ping和tracert命令详解

2010-7

必须掌握的ping和tracert命令详解

发表于: Linux, Tool s, UNIX, Windows |作者:谋万世全局者标签: Ping,tracert,命令详解

Ping

这个常用命令大家都会用的最主要的就是检测目标主机是不是可连通。 P i ng程序实际就是发送一个I CMP回显请求报文给目的主机并等待回显的I CMP应答。然后输出回显的报文。 P i ng不通一个地址并不一定表示这个IP不存在或者没有连接在网络上 因为对方主机可能做了限制 比如安装了防火墙 因此Ping不通并不表示不能使用FTP或者TELNET连接。

PING得到的结果包括字节数、反应时间、 以及生存时间。 Ping程序通过在I C MP报文数据中存放发送请求的时间来计算返回时间。当应答返回时根据现在时间减去报文中存放的发送时间就得到反应时间了。生存时间TTL 本来就存放在IP数据报的头部直接就能够获取。

Tracert

一个探测路由的程序可以让我们看见IP数据报到达目的地经过的路由。

Tracert利用ICMP数据报和IP数据报头部中的TTL值。TTLTime To Live是一个IP数据报的生存时间当每个IP数据报经过路由器的时候都回把TTL值减去1或者减去在路由器中停留的时间但是大多数数据报在路由器中停留的时间都小于1秒种 因此实际上就是在TTL值减去了1。这样 TTL值就相当于一个路由器的计数器。

当路由器接收到一个TTL为0或者1的I P数据报的时候路由器就不再转发这个数据了而直接丢弃并且发送一个I C MP “超时”信息给源主机。 Tracert程序的关键就是这个回显的ICMP报文的IP报头的信源地址就是这个路由器的IP地址。同时如果到达了目的主机我们并不能知道于是 Tracert还同时发送一个UDP信息给目的主机并且选择一个很大的值作为UDP的端口使主机的任何一个应用程序都不使用这个端口。所以当达到目的主机的时候 UDP模块就产生一个“端口不可到达”的错误这样就能判断是否是到达目的地了。

有说法是利用pi ng得到的TTL值来判断主机类型这种办法可以大概地用来判断有人问为什么一般得到的都不是标准的TTL值。这个就是因为I CMP数据包走的路由器线路的原因所以用p i n g和tracert一起来用更容易判断主机类型不过并不一定两次走的路线都一样所以还是个大概值不过更接近点而且主机的默认TTL 值是可以改变的 。

C:>ping 211.99. 199. 204

Pinging 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 time 〈10ms 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:

M ini mum = 0ms, Max i mum = 20ms, Average = 10ms

C:>tracert 211.99. 199.204

Tracing route to 211.99. 199. 204 over a maximum of 30 hops 1 10 ms 10 ms 20 ms 211.99.57. 121

2 10 ms 10 ms 10 ms 202.96. 13. 1

3 〈10 ms 10 ms 20 ms 202.96. 13.62

4 20 ms 10 ms 10 ms 210.77. 139. 186

5 〈10 ms 10 ms 20 ms 210.77. 139. 170

6 〈10 ms 〈10 ms 10 ms 211.99. 193. 154

7 〈10 ms 10 ms 〈10 ms 211.99. 199.204

Trace complete.

P ing得到的TTL=248经过了7个路由器减少了7所以主机的TTL 值是255。这样来判断吧。

下面是一些主机的默认TTL值。

LINUX Kernel 2.2.x & 2.4.x ICMP回显应答的TTL字段值为64LINUX Kernel 2.6.x ICMP回显应答的TTL字段值为47

FreeBSD 4. 1, 4.0, 3.4;

Sun Solaris 2.5. 1, 2.6, 2.7, 2.8;

OpenBSD 2.6, 2.7,

NetBSD

HP UX 10.20

I CMP回显应答的TTL字段值为255

Windows 95/98/98SE/ME的ICMP回显应答的TTL字段值为32Windows NT/2000/XP/2003/vista/2008/7

I CMP回显应答的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-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 192. 168. 1.21

Pinging iceblood.yofor.com [192. 168. 1.21] with 32 bytes of data:

Reply from 192. 168. 1.21: bytes=32 time<10ms TTL=254

Reply from 192. 168. 1.21: bytes=32 time<10ms TTL=254

Reply from 192. 168. 1.21: bytes=32 time<10ms TTL=254

Reply from 192. 168. 1.21: bytes=32 time<10ms TTL=254

Ping statistics for 192. 168. 1.21:

Packets: Sent =4, Received=4, Lost=0 (0%loss) ,Approximate round trip times in milli-seconds:

M ini mum = 0ms, Maxi mum = 0ms, Average = 0ms

从上面就可以知道IP为192. 168. 1.21的计算机NetBios名为iceblood.yofor.com。

-n count Number of echo requests to send.

发送count指定的Echo数据包数。

在默认情况下一般都只发送四个数据包通过这个命令可以自己定义发送的个数对衡量网络速度很有帮助 比如我想测试发送50个数据包的返回的平均时间为多少最快时间为多少最慢时间为多少就可以通过以下获知

C:>ping -n 50 202. 103.96.68

Pinging 202. 103.96.68 with 32 bytes 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 statistics for 202. 103.96.68:

Packets: Sent = 50, Received = 48, Lost = 2 (4%loss) ,Approximate round trip times in milli-seconds:

M ini mum = 40ms, Max imum= 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.21

Pinging 192. 168. 1.21 with 65500 bytes of data:

Reply from 192. 168. 1.21: bytes=65500 time<10ms TTL=254

Reply from 192. 168. 1.21: bytes=65500 time<10ms TTL=254„„„„„„

这样它就会不停的向192. 168. 1.21计算机发送大小为65500byt的数据包如果你只有一台计算机也许没有什么效果但如果有很多计算机那么就可以使对方完全瘫痪我曾经就做过这样的试验当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时不到5分钟对方的网络就已经完全瘫痪网络严重堵塞 HTTP和FTP服务完全停止 由此可见威力非同小可。

-f Set Don<|>t 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.90

Ping statistics for 202.96. 105. 101 :

Packets: Sent = 1, Received = 1, Lost = 0 (0% loss) ,

Approximate round trip times in milli-seconds:

Mini mum = 10ms, Max imum= 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差不多只是这个参数不记录数据包返回所经过的路由最多也只记录4个。

-j host-list Loose source route along host-list.

利用computer-li st指定的计算机列表路由数据包。连续计算机可以被中间网关分隔路由稀疏源 IP允许的最大数量为9。

-k host-list Strict source route along host-list.

利用computer-li st指定的计算机列表路由数据包。连续计算机不能被中间网关分隔路由严格源 IP允许的最大数量为9。

-w timeout Timeout in milliseconds to wait for each reply.指定超时间隔单位为毫秒。

此参数没有什么其他技巧。ping命令的其他技巧在一般情况下还可以通过ping对方让对方返回给你的TTL值大小粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列一般情况下Windows系列的系统返回的TTL 值在100-130之间而UNI X/L i nux系列的系统返回的TTL值在240-255之间当然TTL的值在对方的主机里是可以修改的Windows 系列的系统可以通过修改注册表以下键值实现

[HKEY_LOCAL_MACHINEsys temCurrentControlSetServi cesTcpi pParameter s]

“DefaultTTL” =dword:000000ff

255—FF

128—80

64—-40

32—-20

在路由器上-c可以指定发送的包数.

例如:ping -c 10000 x.x.x.x

就会ping 10000个数据包.并统计丢包率.

Tracert命令详解

一键去除宝塔面板各种计算题与延时等待

现在宝塔面板真的是越来越过分了,删除文件、删除数据库、删除站点等操作都需要做计算题!我今天升级到7.7版本,发现删除数据库竟然还加了几秒的延时等待,也无法跳过!宝塔的老板该不会是小学数学老师吧,那么喜欢让我们做计算题!因此我写了个js用于去除各种计算题以及延时等待,同时还去除了软件列表页面的bt企业版广告。只需要执行以下命令即可一键完成!复制以下命令在SSH界面执行:Layout_file="/w...

2022年腾讯云新春采购季代金券提前领 领取满减优惠券和域名优惠

2022年春节假期陆续结束,根据惯例在春节之后各大云服务商会继续开始一年的促销活动。今年二月中旬会开启新春采购季的活动,我们已经看到腾讯云商家在春节期间已经有预告活动。当时已经看到有抢先优惠促销活动,目前我们企业和个人可以领取腾讯云代金券满减活动,以及企业用户可以领取域名优惠低至.COM域名1元。 直达链接 - 腾讯云新春采购活动抢先看活动时间:2022年1月20日至2022年2月15日我们可以在...

限时新网有提供5+个免费域名

有在六月份的时候也有分享过新网域名注册商发布的域名促销活动(这里)。这不在九月份发布秋季域名促销活动,有提供年付16元的.COM域名,同时还有5个+的特殊后缀的域名是免费的。对于新网服务商是曾经非常老牌的域名注册商,早年也是有在他们家注册域名的。我们可以看到,如果有针对新用户的可以领到16元的.COM域名。包括还有首年免费的.XYZ、.SHOP、Space等等后缀的域名。除了.COM域名之外的其他...

tracert命令详解为你推荐
独立ip主机独立ip虚拟主机怎么样?是不是真的很好用,和vps有什么区别吗?com域名空间域名和空间是什么意思域名服务什么叫主域名服务器?海外域名外贸网站如何选择合适的海外域名?国外网站空间怎么查看一个网站的空间是在国内还是在国外啊?独立ip虚拟主机独立ip的虚拟主机和vps的区别和优势??山东虚拟主机能否在虚拟机与主机之间建立局域网,让主机与虚拟机同时上网?apache虚拟主机Apache跟虚拟主机有什么关系?深圳虚拟主机需要一个虚拟主机???很急!!厦门虚拟主机我想用我自己的电脑做虚拟主机怎么弄啊
vps优惠码 net主机 t牌 谷歌香港 网站实时监控 老左来了 微软服务器操作系统 爱奇艺会员免费试用 万网空间购买 浙江服务器 godaddy空间 江苏双线 七牛云存储 双十二促销 htaccess godaddy退款 优惠服务器 qq空间打开很慢 服务器操作系统 卡巴斯基免费版 更多