Posted at

TIME WAIT状態のTCP接続の数を集計するコマンド

TIME WAIT状態のTCP接続の数を集計するときに使用するコマンドをメモしておきます。

TIME WAITの数を集計するだけなら次のコマンドを実行します。

$ ss -ta | grep TIME-WAIT | wc -l

ssはソケットの状態を出力するためのコマンドです。詳細はこちら等を参照してください。オプション-tでTCPソケットの表示し、-aでLISTEN状態とLISTENでない状態の両方を表示します。

接続先毎にTIME_WAIT状態を集計して、接続数の降順で表示したい場合は次を実行します。

$ ss -ta | grep TIME-WAIT | sed -e 's/ \+/\t/g' | cut -f5 | sort | uniq -c | sort -nr

sed -e 's/ \+/\t/g'で連続する空白をタブ1個で置換して、cutコマンドで必要な列だけ抽出しています。