くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

【運用小ネタ】Webサーバに接続している数を確認する(netstat -an | grep ...)

よくやるけど、毎回調べるやつ。。netstatの結果をポートでgrepするだけ。

$ netstat -an | grep -E ':(80|443)' | grep -v "CLOSE_WAIT"
  • ESTABLISHED
    • TCPでの接続が確立されて、現在通信が行われている状態を指す
  • TIME_WAIT
    • 接続終了待ちの状態を指す。しばらくすると、CLOSEDへ移行する
  • LISTENING
    • 利用可能なポートの待ち受け状態を指す。「-a」オプションを付加させた場合に表示される
  • SYN_SENT
    • サーバに接続要求(SYNchronize)を送信したが、応答(ACKnowledgement)を受けていない状態。ACKを受け取るとESTABLIHSEDへ移行する
  • SYN_RECEIVED
    • クライアントからSYN要求を受け取った直後の状態を指す
  • FIN_WAIT_1
    • サーバからFINが送信された状態。この状態では、ACKを受信するとFIN_WAIT_2へ移行し、その前にFINを受けるとCLOSINGへ移る
  • FIN_WAIT_2
    • ACK受信状態を指す。次はTIME_WAITへ移る
  • CLOSE_WAIT
    • サーバからFINを受信した状態を指す。次はLAST_ACKへ移る
  • CLOSING
    • FIN_WAIT_1項目のようにFINを受け取ってコネクションが閉じられる状態を指す
  • LAST_ACK
    • FINに対するACK待ちの状態を指す。ACKを受信するとCLOSEDへ移行して終了する
  • CLOSED
    • 未使用状態のTCPポート

参考にしたサイト様