修改系统默认的TTL值-预防被探测操作系统

来源:互联网 发布:人依赖网络例子 编辑:程序博客网 时间:2024/06/05 02:09

在网络攻防课程中,学习到如何探测操作系统,那么我们如何预防探测操作系统呢?其中比较简单实现的方法是修改操作系统的默认TTL值:

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

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

通常情况下,Windows的TTL的值是128,而Linux的TTL大多是64。比如,ping一个Centos linux系统,结果显示如下:

1、修改linux端的TTL值

如果我们想要修改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了,如下图所示:


2、修改Windows端的TTL值

通过人工修改注册的方式来修改操作系统的TTL值,具体方法如下:

(1).点击“运行”


(2).输入“REGEDIT”打开注册表编辑器


(3).进入注册表编辑器


(4).选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters,然后再右侧你就可以看到DefaultTTL,然后你双击或右键点击即可修改。注意:在“基数”哪里选择“十进制”,然后在左边的框内输入“128“,然后点击确定,重启电脑即可。

ttl.jpg

当然,有时候你会发现右侧没有DefaultTTL这个键值,如下图所示,那么这个时候我们就需要点击右键,在右侧新建一个defaultTTL(DWORD类型),修改数值数据,如下图:

 

128.png

点击“确定”,重启系统就可以了。