当前位置: 首页 > others > 正文

关于Ping及TTL的一些总结:

TTL: Time to Live,意思就是生存周期

ping命令是使用的网络层协议ICMP

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

TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。

转发 IP 数据包时,要求路由器至少将 TTL 减小 1。

比如:

ping和tracert(tracerouter–linux)都使用TTL值以尝试到达给定的主机或跟踪到目的主机的路由。

每个操作系统对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

有时候为了伪装操作系统类型,人为修改这个值

windows系统可以通过修改注册表的方法:

regedit:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters

SubKey: DefaultTTL

Value: REG_DWORD 1 – 255

Default: 128

改成 0 无法ping 通

改成 63可以伪装成Linux机器

改成 253伪装成类Unix机器

linux下的ttl值

方法1(重启后有效):

#sysctl -w net.ipv4.ip_default_ttl=N

(N=0~255),若N>255,则ttl=0

手动加入/etc/rc.d/rc.local使他永不失效

方法2(重启后无效):

#echo N(N为0~255) > /proc/sys/net/ipv4/ip_default_ttl

本文固定链接: http://2hei.net/%e5%85%b3%e4%ba%8eping%e5%8f%8attl%e7%9a%84%e4%b8%80%e4%ba%9b%e6%80%bb%e7%bb%93%ef%bc%9a.html | 2hei's site

该日志由 2hei 于2007年05月23日发表在 others 分类下,
原创文章转载请注明: 关于Ping及TTL的一些总结: | 2hei's site

报歉!评论已关闭.