博客园  :: 首页  :: 管理

如何修改Linux系统的TTL值

Posted on 2015-01-09 18:15  520_1351  阅读(6065)  评论(0编辑  收藏  举报

在网络中,黑客如果用ping命令去探测  一个主机,根据TTL基数可以推测操作系统的类型。对于一个没有经过任何网关和路由的网络,

直接ping对方系统得到的TTL值,被叫做"TTL基数"。网络中,数据包每经过一个路由器,TTL就会减1,当TTL为0时,这个数据包就会被丢弃。

通常情况下,Windows的TTL的基数是128,而Centos 6.3(linux系统)的TTL基数是64。比如,ping一个Centos linux系统,结果显示如下:

如果我们想要修改linux端的TTL该怎么办呢?其实只需要在linux系统端执行以下命令即可:

[root@5201351 ~]# echo 128 > /proc/sys/net/ipv4/ip_default_ttl    //将ttl的值修改为128

上面的128其实可以是任何数,但是为了伪装成是windows系统,所以选择这个数字。若想使设置永久生效,可以修改/etc/sysctl.conf配置文件,添加如下一行:

net.ipv4.ip_default_ttl = 128

修改好了,我们可以来检查一下。如下图所示:

如果是只是直接修改的/etc/sysctl.conf配置文件,我们还可以使用下面的命令使其立即生效,其实也就是重新加载增加修改的参数。

[root@5201351 ~]# sysctl -p    //-p从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载

当我们修改了linux系统的TTL参数,接下来我们再到windows系统上使用ping命令检测,我们可以发现TTL值已经变成128了,如下图所示: