在网络中,黑客如果用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了,如下图所示: