以前、Pingの応答時のTTLからOSの種類を調べる方法について記述した事があったが、今回はこの応答時のTTL値を変更し、PingによるOSの判別をさせないように設定する方法についてを記述する。

1.Windowsの場合

Windows系OSの場合、レジストリに以下のキーを追加することでTTLの値を変更可能となる。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
キー名:DefaultTTL
タイプ:REG_DWORD
値:1 ~ 255

レジストリエディタで開くのが面倒であれば、以下のようにコマンドで設定すると良いだろう。

reg add HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v DefaultTTL /t REG_DWORD /d 設定したいTTL値

レジストリ変更後、OSの再起動を忘れない事。

2.Linuxの場合

Linuxの場合、「/etc/sysctl.conf」に以下の一行を追記する。

net.ipv4.ip_default_ttl = <0-255>

上記一行を追記したら、以下のコマンドで設定を反映させる。

/sbin/sysctl -p

一時的な設定であれば、以下のコマンドを実行するだけでも可能。

sysctl -w net.ipv4.ip_default_ttl=<0-255>

3.Mac OS Xの場合

Mac OS Xの場合も、Linuxと同様に「/etc/sysctl.conf」に以下の一行を追記する。
デフォルトでは「/etc/sysctl.conf」は存在しないので、新規で作成する。

net.inet.ip.ttl=<0-255>

上記一行を追記したら、以下のコマンド実行後再起動を行う。

sudo chown root:wheel /etc/sysctl.conf
sudo chmod 0644 /etc/sysctl.conf

その場限りで設定するのであれば、以下のコマンドを実行する。

sudo sysctl -w net.inet.ip.ttl=<0-255>