mk44机炮:ping 命令中的TTL 问题,愿意追加+50

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/29 01:24:52
我自己查看自己的机器是TTL = 128
而看别人的是 TTL=62
还有人是TTL=65
每个都不一样,请问是怎么回事?

Pinging 192.168.0.1 with 32 bytes of data:

Reply from 192.168.0.1: bytes=32 time<10ms TTL=128
Reply from 192.168.0.1: bytes=32 time<10ms TTL=128
Reply from 192.168.0.1: bytes=32 time<10ms TTL=128
Reply from 192.168.0.1: bytes=32 time<10ms TTL=128

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

TTL:生存时间

指定数据报被路由器丢弃之前允许通过的网段数量。

TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。

使用PING时涉及到的 ICMP 报文类型

一个为ICMP请求回显(ICMP Echo Request)

一个为ICMP回显应答(ICMP Echo Reply)

TTL 字段值可以帮助我们识别操作系统类型。

UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255
Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64
微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128
微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32
当然,返回的TTL值是相同的

但有些情况下有所特殊

LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64
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
ICMP 回显应答的 TTL 字段值为 255
Windows 95/98/98SE
Windows ME
ICMP 回显应答的 TTL 字段值为 32
Windows NT4 WRKS
Windows NT4 Server
Windows 2000
ICMP 回显应答的 TTL 字段值为 128
这样,我们就可以通过这种方法来辨别操作系统

TTL

LINUX 64
WIN2K/NT 128
WINDOWS 系列 32
UNIX 系列 255

操作系统不一样,返回值就不一样,例如Win2000默认为128,通过注册表也可以修改。而Linux大多定义为64。

Linux系统的TTL值为64或255,
Windows NT/2000/XP系统的TTL值为128,
Windows 98系统的TTL值为32,
UNIX主机的TTL值为255。

简单来说,TTL全程Time to Live,意思就是生存周期。
首先要说明ping命令是使用的网络层协议ICMP,所以TTL指的是一个网络层的网络数据包(package)的生存周期

更详细的在 http://www.mwjx.com/bbs/html/20000/18918.html