私はWebサーバーを持っています。その時点でサーバーの接続数を確認する必要があります。
私は以下を使用しました
netstat -anp |grep 80 |wc -l
これは
2542
しかし私のグーグルアナリティクスから、同時ユーザーは100人以下であることを知っています。
is this correct ?
if not how to i get the active number of connections ?
is this sign of a victim of DOS attack how do i know that ?
ESTABLISHED接続を数えるだけです。
netstat -anp | grep :80 | grep ESTABLISHED | wc -l
また、port grepステートメントでコロンを使用しないように注意してください。 80を探すだけでは、出力に文字80が含まれているpidやその他のポートから誤った結果が生じる可能性があります。
@ d34dh0r53 1ステップ「さらに」答える(「より広い」視点での答えに向けて)と、すべての接続を次のようにソートして確認することもできます。次の状態:
netstat -ant | grep :<port_num> | awk '{print $6}' | sort | uniq -c | sort -n
例えば:
netstat -ant | grep :8000 | awk '{print $6}' | sort | uniq -c | sort -n
可能な出力は次のとおりです。
1 CLOSING
1 established
1 FIN_WAIT2
1 Foreign
2 CLOSE_WAIT
6 FIN_WAIT1
7 LAST_ACK
7 SYN_RECV
37 ESTABLISHED
44 LISTEN
297 TIME_WAIT
それがお役に立てば幸いです。また、上記の詳細やコメントを盛り上げてください。
乾杯、
男。
複数のgreps、seds、awkをつなぐことを心配する代わりに、IPアドレスをそこに置くだけで済みます。
_netstat -anp | grep -c $(hostname -i):80
_
$(hostname -i)
を使用すると、任意のボックス、静的/動的IPなどでこのコマンドを使用できます。
ss -tn src :80 or src :443
これにより、ローカルポート80または443へのすべての接続が表示されます(必要に応じてポートを追加/変更します)。
免責事項:これは古い質問であることに気づきましたが、それでもGoogleで最高の結果であるため、最新のユーティリティを利用して回答するに値すると思います。