×

ttl64 为什么

我的局域网全部都是winxp 可是ping的TTL值全部都是 64 ,但我看64是linux 这是为什么?ttl=64 这64代表什么

admin admin 发表于2022-09-13 17:34:16 浏览429 评论0

抢沙发发表评论

本文目录

我的局域网全部都是winxp 可是ping的TTL值全部都是 64 ,但我看64是linux 这是为什么


呵呵,楼上说的没错,你看不明白也没错。TTL是限制一个范围,但这只是一个建议数值,并不是一定要这样设置,具体还是要参照自己的环境。
它的意义就是::TTL(Time To Live ) 生存时间。TTL64表示这个数据包中经过64跳以后即被丢弃,哪怕目标是在第65跳上。而一跳,一般是指一台路由器,交换机串的再多,也不算跳。所以0只能在本机。出本机即是1跳,所以是同一子网。而出子网,则可能有公司局域网或社区网,所以建议32跳,一般的话32台路由器是肯定用不到的。
后面依次类推,但我们不能排除大型的网络公司,结构非常复杂。或者人们需要,自己搭建的实验环境,那这个TTL这个数值就需要根据实际情况来看

ttl=64 这64代表什么


是一个ip协议的值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。
TTL 的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初的发送者。

为什么我ping谁ttl都是64


Reply from 192.168.0.1代表地址
: bytes=64 代表字节数
time=1 代表返回时间,所谓延时
TTL=253 代表数据存活时间,(这里你问了就 解释下吧:TTL 是Time To Live的缩写,是指数据发送出去的存活时间
TTL(生存时间)
TTL是IP协议包中的一个值,它告诉网络路由器包在网络中的时间是否太长而应被丢弃。有很多原因使包在一定时间内不能被传递到目的地。例如,不正确的路由表可能导致包的无限循环。一个解决方法就是在一段时间后丢弃这个包,然后给发送者一个报文,由发送者决定是否要重发。TTL的初值通常是系统缺省值,是包头中的8位的域。TTL的最初设想是确定一个时间范围,超过此时间就把包丢弃。由于每个路由器都至少要把TTL域减一,TTL通常表示包在被丢弃前最多能经过的路由器个数。当记数到0时,路由器决定丢弃该包,并发送一个ICMP报文给最初
由于不同的操作系统的默认TTL值不同,因此有文章说可以通过返回的TTL值判断目标系统的类型,这是正确的,但不是TTL的功能,只是对TTL理解的一个应用。TTL的值可以修改。有些特殊的、系统(如NIDS)会定义特殊的TTL值,以拒绝非法访问数据进入。我们在执行PING命令时可以用-i参数指定TTL值,大家可以将TTL设置为0,则该包将被立即丢弃。有时我们执行了一个PING 命令,在繁华时却繁华了另一个地址,并带有一个英语的提示(大致意思是TTL无效),则表示该包在到达目标之前(也就是到返回IP位置时),包所带的TTL已经为0了或小于下一网段许可通过的TTL值了,该包已经被路由丢弃了。,)
seq=1 代表第一次ping
-ttl64

我的ttl=64难道不是WINDOWS系统


操作系统 TTL
LINUX 64
WIN2K/NT 128
WINDOWS95/98 系列 32
UNIX 系列 255
你实测的TTL返回值是64,我估计你既然是局域网,那肯定用了路由器,那么你现在返回的TTL实际上是时路由器的微LINUX的TTL值。
-为什么

TTL=128,TTL=64这有什么区别,是什么意思

TTL=128 说明你直接和对方可以进行通信。
TTL=64 跨多个路由器进行通信。
ping 发出的是 hello 报文,基于ICMP 的协议,如果跨的路由器很多那就说明 TTL(time to live) 值就减了多少,每跨一个路由器就减1。-ttl64

在IPv4包头中TTL是一个8 bit字段,如下图所示:

扩展资料:

TTL的作用是限制IP数据包在计算机网络中的存在的时间,避免IP包在网络中的无限循环和收发,节省了网络资源,并能使IP包的发送者能收到告警消息。TTL的最大值是255,TTL的一个推荐值是64。

虽然TTL从字面上翻译,是可以存活的时间,但实际上TTL是IP数据包在计算机网络中可以转发的最大跳数。

TTL字段由IP数据包的发送者设置,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会把该TTL的值减1,然后再将IP包转发出去。如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包并向IP包的发送者发送 ICMP time exceeded消息。-为什么

参考资料:

百度百科-TTL

网卡TTL=64


TTL time to life
ttl每经过一个ip子层就减少1
UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255
Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64
微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128
微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32
使用多路复用的IP协议,TTL值表示一个包被转发的范围。有以下转换:0,限制在同一主机 1, 限制在同一子网 32, 限制在同一节点 64,限制在同一区域(region)128,限制在同一大陆(continent)255,
由于不同的操作系统的默认TTL值不同,因此有文章说可以通过返回的TTL值判断目标系统的类型,这是正确的,但不是TTL的功能,只是对TTL理解的一个应用。TTL的值可以修改。有些特殊的、系统(如NIDS)会定义特殊的TTL值,以拒绝非法访问数据进入。我们在执行PING命令时可以用-i参数指定TTL值,大家可以将TTL设置为0,则该包将被立即丢弃。有时我们执行了一个PING 命令,在缓发时却缓发了另一个地址,并带有一个英语的提示(大致意思是TTL无效),则表示该包在到达目标之前(也就是到返回IP位置时),包所带的TTL已经为0了或小于下一网段许可通过的TTL值了,该包已经被路由丢弃了。
-ttl64

TTL=128和TTL=64的区别是什么

TTL是IP协议包中的一个值,指定数据报被路由器丢弃之前允许通过的网段数量。

区别一:指定数据报被路由器丢弃之前允许通过的网段数量不同,一个是128,一个是126。

区别二:方式不同;TTL=128 说明直接和对方可以进行通信。TTL=64 跨多个路由器进行通信。

区别三:生效时间不同;64的生效时间比128的快。

扩展资料:

TTL用于限制IP数据包在计算机网络中存在的时间,避免网络中的无限循环和发送接收,节省网络资源,并使IP数据包的发送者能够接收到报警消息。最大TTL值为255,推荐的TTL值为64。

虽然TTL字面上翻译为生存时间,但实际上TTL是计算机网络中IP数据包可以转发的最大跳数。TTL字段由数据包的发送方设置。在从源到目的地的整个IP数据包转发路径上,路由器在转发IP数据包之前会将每个路由器的TTL值减少1。-为什么

如果在数据包到达目的地之前,网络时间限制值降低到0,路由器将丢弃接收到的网络时间限制值为0的数据包,并向数据包的发送方发送一条超过 ICMP time exceeded消息。

参考资料:

百度百科-TTL

运行PING+本机IP的时候 显示TTL=64是什么意思啊这个数值好吗


这个数值说明你的机子安装的是LINUX系统。数值本身无所谓好坏。
TTL:生存时间
指定数据报被路由器丢弃之前允许通过的网段数量。
TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。
TTL 字段值可以帮助我们识别操作系统类型(不完全准确,因为 TTL 是可以修改的)。
LINUX 64
WIN2K/NT/xp 128
WINDOWS 98/me 32
UNIX 系列 255
具体ping命令的知识如下:
ping是一个很常用的小工具,它主要用于确定网络的连通性问题。使用ping命令后,常见的出错信息通常分为3种:
1、Unknown host:不知名主机这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。
故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。 飞
2、Noanswer:无响应这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信·
息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确:本地或中心的路由器没有;1::作:
通信线路有故障;中心主机存在路由选择问题。 1
3、Request timbd out:超时工作站与中心主机的连接超时,数据包全部丢失of原因:可能是到路由器的连接出现
问题,或路由器不能通过,也可能是中心主机已经关机或死机。
如何用ping命令查找无法上网的原因?
1.Ping命令的语法格式:
有必要先给不了解Ping命令的人介绍一卜Ping命令的具体语法格式:ping目的地址……
其中目的地址是指被测试计算机的IP地址或域名。主要参数有:
a:解析主机地址。
n:数据:发出的测试包的个数,缺省值为4。
l:数值:所发送缓冲区的大小。
t:继续执行Ping命令,直到用户按Ctrl/C终上。
有关hng的其他参数,可通过在MS-DOS提示符—卜运行Ping或Ping—?命令来查看。
2.hng命令的应用技巧:
用Ping::二作情况时,只要在网络中其他任何一台计算机上Ping
该计算机的IP地址即可。例如要检查网络文件服务器192.192.225.225HPQW上的TCP/IP协议二[:作是否正常,只要在
开始菜单下的“运行”子项中键入Ping 192.192.225.225就可以了。如果HPQW的TCP/IP协议:[:作正常,即会以DOS
屏幕方式显示如下所示的信息:
Pinging 192.192.225.225 with 32 byteS of dara:
Reply from 192.192.225,225:bytes=32 time=lms TTL二128
Reply from 192.192,225.225:bytes=32 time《1mS TTL=128
Reply from 192.192.225.225:byteS’32 timeReply from 192.192.225.225:byteS‘32 timePing StatiStiCe for 192.192.225.225:
PacketS:Sent二4,ReceiVed二4,LOSt二0(0%lOSS)
Approximate round trip timeS in milli-secondS:
Minimum=Oms,Maximum=1mS,Average=OmS
以上返回了4个测试数据包,其中bytes=32表示测试中发送的数据包大小是32个字节,“me《10ms表示与对方主机
往返一次所用的时间小于10毫秒,TTL=128表示当前测试使用的TTL(Time to Live)值为128(系统默认值)。
如果网络有问题,则返回如下所示的响应失败信息:
Pinging 192.192,225.225 with 32 bytes of data
RequeSt timed out.
RequeSt timed out.
RequeSt timed OUt.
RequeSt timed out.
Ping StatiStiCe for 192.192.225,225:
PacketS:Sent=4,ReceiVed二0,LOSt\二4(100%lOSS)
Minimum‘0ms,Maximum=OmS,Average’0mS
网络故障:出现第二种情况时,建议从以上几个方面来着手排查:一是看被测试计算机是否已安装了TCP/IP协议:
二是检查一下被测试计算机的网卡安装是否正确且是否已经连通:三是看被测试计算机的TCP/IP协议是否与网F
有效的绑定(具体方法是通过选择“开始一设置一控制面板一网络”来查看):如果通过以上几个步骤的检查还没有
发现问题的症结,建议重新安装并设置一,‘厂TCP/”协议,如果是TCP/IP协议的问题,这时绝对可以彻底解决。
按照上述方法,我们还可以用Ping命令来检查任意一台客户湍计算机上TCP/IP的工作情况。例如我们要检查网络任
一客户端“机房0厂上的TCP/IP协议的配置和工作情况,可直接在该台机器上Ping本机的IP地址,若返回成功的信
息,说明IP地虹LB己置无误,若失败则应检查IP地址的配置。可通过以下步骤进行:首先先检查一·卜整个网络,重点
看一下该IP地址是否正在被其他用户使用,然后再看一下该工作站是否已正确连入网络(很多情况下用户没有登陆网
络也会出现此种情况,这可是低级错误啊)。最后检查网—E的I/0地址lIRQ值和DMA值,这些值是否与其他设备发生
了冲突。其中最后一项的检查非常重要,也常被许多用户所忽视,即使是Ping成功后也要进行此项的检查。因为当Ping
本机的IP地址成功后,仅表明本机的IP地址配置没有问题,但并不能说明网卡的配置完全正确。这时虽然在本机的
“网上邻居”中能够看到本机的计算机名,可就是无法与其他的用户连通,不知问题出在何处,其实问题往往就出在
网卡上。
简单来说,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 Settingshx》ping 61.152.93.131
Pinging 61.152.93.131 with 32 bytes of data:
Reply from 61.152.93.131: bytes=32 time=21ms TTL=118
Reply from 61.152.93.131: bytes=32 time=19ms TTL=118
Reply from 61.152.93.131: bytes=32 time=18ms TTL=118
Reply from 61.152.93.131: bytes=32 time=22ms TTL=118
Ping statistics for 61.152.93.131:
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 Settingshx》ping 61.152.104.40
Pinging 61.152.104.40 with 32 bytes of data:
Reply from 61.152.104.40: bytes=32 time=28ms TTL=54
Reply from 61.152.104.40: bytes=32 time=18ms TTL=54
Reply from 61.152.104.40: bytes=32 time=18ms TTL=54
Reply from 61.152.104.40: bytes=32 time=13ms TTL=54
Ping statistics for 61.152.104.40:
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 Settingshx》tracert 61.152.104.40
Tracing route to 61.152.104.40 over a maximum of 30 hops
1 13 ms 16 ms 9 ms 10.120.32.1
2 9 ms 9 ms 11 ms 219.233.244.105
3 12 ms 10 ms 10 ms 219.233.238.173
4 15 ms 15 ms 17 ms 219.233.238.13
5 14 ms 19 ms 19 ms 202.96.222.73
6 14 ms 17 ms 13 ms 202.96.222.121
7 14 ms 15 ms 14 ms 61.152.81.86
8 15 ms 14 ms 13 ms 61.152.87.162
9 16 ms 16 ms 28 ms 61.152.99.26
10 12 ms 13 ms 18 ms 61.152.99.94
11 14 ms 18 ms 16 ms 61.152.104.40
Trace complete.
从这个命令的结果能够看到从我的机器到服务器所走的路由,确实是11个节点(上面说10个好像是我犯了忘了算0的错误了,应该是64-54+1,嘿嘿),而不是128的TTL经过了70多个节点。
既然已经说到这里了,不妨顺便说说关于这两个ICMP命令的高级一点的东西。
首先是ping命令,其实ping有这样一个参数,可以无视操作系统默认TTL值而使用自己定义的值来发送ICMP Request包。
例如还是用那台Linux机器,用以下命令:
D:Documents and Settingshx》ping 61.152.104.40 -i 11
Pinging 61.152.104.40 with 32 bytes of data:
Reply from 61.152.104.40: bytes=32 time=10ms TTL=54
Reply from 61.152.104.40: bytes=32 time=13ms TTL=54
Reply from 61.152.104.40: bytes=32 time=10ms TTL=54
Reply from 61.152.104.40: bytes=32 time=13ms TTL=54
Ping statistics for 61.152.104.40:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 10ms, Maximum = 13ms, Average = 11ms
D:Documents and Settingshx》
这个命令我们定义了发包的TTL为11,而前面我们知道,我到这台服务器是要经过11个节点的,所以这个输出和以前没什么不同。现在再用这个试试看:
D:Documents and Settingshx》ping 61.152.104.40 -i 10
Pinging 61.152.104.40 with 32 bytes of data:
Reply from 61.152.99.94: TTL expired in transit.
Reply from 61.152.99.94: TTL expired in transit.
Reply from 61.152.99.94: TTL expired in transit.
Reply from 61.152.99.94: TTL expired in transit.
Ping statistics for 61.152.104.40:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
D:Documents and Settingshx》
可以看到,结果不一样了,我定义了TTL为10来发包,结果是TTL expired in transit.就是说在到达服务器之前这个包的生命周期就结束了。注意看这句话前面的ip,这个ip恰好是我们前面tracert结果到服务器之前的最后1个ip,包的TTL就是在这里减少到0了,根据我们前面的讨论,当TTL减为0时设备会丢弃包并发送一个TTL过期的ICMP反馈给源地址,这里的结果就是最好的证明。
通过这里再次又证明了从我机器到服务器是经过了11个节点而不是70多个,呵呵。
最后再巩固一下知识,有人可能觉得tracer这个命令很神奇,可以发现一个包所经过的路由路径。其实这个命令的原理就在我们上面的讨论中。
想象一下,如果我给目的服务器发送一个TTL为1的包,结果会怎样?
根据前面的讨论,在包港出发的第一个节点,TTL就会减少为0,这时这个节点就会回应TTL失效的反馈,这个回应包含了设备本身的ip地址,这样我们就得到了路由路径的第一个节点的地址。
因此,我们继续发送TTL=2的包,也就受到第二个节点的TTL失效回应
依次类推,我们一个一个的发现,当最终返回的结果不是TTL失效而是ICMP Response的时候,我们的tracert也就结束了,就是这么简单。
顺便补一句ping命令还有个-n的参数指定要发包的数量,指定了这个数字就会按照你的要求来发包了而不是默认的4个包。如果使用-t参数的话,命令会一直发包直到你强行中止它。
-ttl64

ttl=64代表经过几个路由器


1ms ----------------1毫秒
TTL = 64----------(Time To Live存在时间)你可以通过TTL值推算一下数据包已经通过了多少个路由器:源地点TTL起始值(就是比返回TTL略大的一个2的乘方数)-返回时TTL值。例如,返回TTL值为119,那么可以推算数据报离开源地址的TTL起始值为128,而源地点到目标地点要通过9个路由器网段(128-119);如果返回TTL值为246,TTL起始值就是256,源地点到目标地点要通过9个路由器网段。
-为什么