以前、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>