TCPのタイムスタンプを無効化する

alkoshikawa 4,511views 更新:2015年3月17日

RFC 1323 で定義されたものでTCPにタイムスタンプを付与するというものがあります。
主な用途はパケットの送信順序をTCPレベルで判断するためのもののようです。

昔はOS起動時からの経過時間(uptime)がnmapでとれたようなんですが、今はとれなさそうです。

ひとまずTCPのタイムスタンプが表示されるかどうかを確認するには

yum install hping3
hping3 --tcp-timestamp -S localhost -p 80 -c 1

でTCPタイムスタンプの値を見ることができます。

TCPタイムスタンプ自体はデフォルトでONなんですが、 どうも本来の用途以外のところで使われることがあって、 そのせいでいろいろ問題が出てしまっているため無効化するのが推奨されていたり、 環境によってはTCPのTimewaitがスパイクするので無効化を推奨されていたりするようです。

既存の環境で問題なければいじる必要ないと思いますが、無効化する場合は以下

vim /etc/sysctl.conf 
---
net.ipv4.tcp_timestamps = 0
---

sysctl -p

確認
sysctl -a | grep timestamp

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません