屋里进黄鼠狼是好是坏:ping中ttl=56是什么系统?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 05:08:11

PING作为因特网包探索器,是通过TCP/IP协议用于测试网络连接量的程序。
  TTL则是你用ping命令时发送的数据包在网络中存在的时间,它后面的数值就是以毫秒为单位时间。TTL=56表示机器发送数据包到对方IP并获得确认,总共需要56毫秒。
  一般情况下,通过ping对方,从对方返回的TTL值大小,一些ping者以此作为判断目标主机的系统类型,比如,一般情况下Windows系列系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间。虽然TTL值在对方的主机里是可以通过注册表修改的,不能绝对相信,但是很少有人会刻意去修改机器这个值,因此这也成为ping者据此判断对方系统的依据。
  那么,TTL=56,它能代表的是什么系统呢?从大多数ping者总结的数据来看,都认为是linux系统。

是个防火墙。

看看下面的文章,TTL是可以判断系统,但有的系统会改,我在网上找了很长时间没有找到TTL=56这个值是什么系统,估计是改了吧。
我ping www.163.com它每次返回的值都不同
看看下面的文章对你有所帮助
很多人问起如何在Windows 2000中关闭ICMP的回应,以前我采取的办法是使用IPSec来对ICMP进行验证,今天偶尔作了一个试验,与大家share一下!

Client:192.168.7.89
Server:192.168.7.40

修改前:
C:\scripts>ping 192.168.7.40
Pinging 192.168.7.40 with 32 bytes of data:
Reply from 192.168.7.40: bytes=32 time<10ms TTL=128
Reply from 192.168.7.40: bytes=32 time<10ms TTL=128
Reply from 192.168.7.40: bytes=32 time<10ms TTL=128
Reply from 192.168.7.40: bytes=32 time<10ms TTL=128

修改注册表,把DefaultTTL改成63,ping的结果
C:\scripts>ping 192.168.7.40
Pinging 192.168.7.40 with 32 bytes of data:
Reply from 192.168.7.40: bytes=32 time<10ms TTL=63
Reply from 192.168.7.40: bytes=32 time<10ms TTL=63
Reply from 192.168.7.40: bytes=32 time<10ms TTL=63
Reply from 192.168.7.40: bytes=32 time<10ms TTL=63

修改注册表,把DefaultTTL改成0,ping的结果
C:\scripts>ping 192.168.7.40
Pinging 192.168.7.40 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 192.168.7.40:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

而在192.168.7.40上,ping外面没有问题,但是不能对外提供服务了,同时,自己干什么也都不行了,就只能Ping了,嘿嘿,自己玩玩吧~(建议改成255,Linux,Solaris的好像大多是这个值,记得有人写过通过TTL来判断操作系统的,呵呵,骗骗人玩:)

Hive: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
SubKey: DefaultTTL
Value: REG_DWORD 1 - 255
Default: 128

改了以后要Reboot才会生效哦~

TTL是生存时间(Time To Live) 简单点说就是数据包的生命周期

TTL=56,就是该数据只能在通讯线路里存活56秒

这个TTL是很又有用的,它能把无主数据包自动消灭。
如果无主数据包不会自动消灭,那么大量的无主数据包就会堵在通讯线路上,导致网络堵塞

这样是最简单的说法,希望你能明白

TTL值全称是“生存时间(Time To Live)”,简单的说它表示DNS记录在DNS服务器上缓存时间。要理解TTL值,请先看下面的一个例子: 假设,有这样一个域名myhost.abc.com(其实,这就是一条DNS记录,通常表示在abc.com域中有一台名为myhost的主机)对应IP地址为1.1.1.1,它的TTL为10分钟。这个域名或称这条记录存储在一台名为dns.abc.com的DNS服务器上。

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

Windows 95/98中TTL的缺省值为32。有人建议当到达一个节点比较困难时,把此值设为128。ping和tracerouter都使用TTL值以尝试到达给定的主机或跟踪到那个主机的路由。traceroute把包的TTL值设得较小,使它在到达目的的路上被各个路由器连续的丢弃。发出包到受到返回的ICMP报文之间的时间用来计算从一个路由器到另一个路由器的时间。

使用多路复用的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值了,该包已经被路由丢弃了。