• ベストアンサー
  • すぐに回答を!

netstatで接続中のクライアントの台数カウント

  • 質問No.9658471
  • 閲覧数51
  • ありがとう数4
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 79% (921/1155)

TCPポート7000番で待ち受けているサーバで、この7000番に対して現在接続中のクライアントが何台あるのかをnetstatコマンドで表示するにはどのようにオプションなどを入れればよいかご教示頂きますよう、よろしくお願い致します。

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 48% (4454/9220)

netstat -n を実行して、Local Addressのポートが7000の行のForeign Addressのアドレス部分のユニークな個数を数えればいいです。
お礼コメント
techhouse

お礼率 79% (921/1155)

回答頂きありがとうございます。助かります。
投稿日時:2019/09/26 09:50

その他の回答 (全1件)

  • 回答No.2

ベストアンサー率 66% (392/591)

netstat単独では無理だと思いますが、
netstatの結果を パイプでつなげて
該当行だけを取り出して、その行数をカウントすればいいんじゃないかな。

例えば Linuxなら
netstat -an | gawk '{ if ( $4 ~ /:7000/ && $6 != "LISTEN" ) {print $5}}' | wc -l
みたいな感じ。


ただ、これだと1台から、いくつも接続していると そのぶんだけカウントしますが
もし1台で1カウントとしたいなら 、sedでsrc側のポート番号をカットしてから
uniqで重複を消して、 それを wc -lで行数を数えることになります。。

netstat -an | gawk '{ if ( $4 ~ /:7000/ && $6 != "LISTEN" ) {print $5}}'|
sed 's/:.*//'| uniq | wc -l
(実際には1行)

なお、netstatの出力結果が
4つ目が、Local Address
5つ目が、Foreign Address
6つ目が、State
の場合の話なんで、 もしかしてOSによっては フォーマット違うかもしれなけど
そんときは、それに合わせればよいかと。
お礼コメント
techhouse

お礼率 79% (921/1155)

回答頂きありがとうございます。
netstatでパイプが使えると便利そうですね。
一応、netstat -nao | fine ":12000" というので、サーバポートの12000に現在接続中の端末を抜き取って表示するというのを見つけました。
助かります。
投稿日時:2019/09/26 09:52
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ