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

1.Windowsの場合

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

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

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

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

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

2.Linuxの場合

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

shell
net.ipv4.ip_default_ttl = <0-255>

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

bash
/sbin/sysctl -p

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

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

3.Mac OS Xの場合

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

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

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

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

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

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