ポート 80 のアクティブな接続の数を確認しますか?

ポート 80 のアクティブな接続の数を確認しますか?

私はウェブサーバーを持っており、特定の時間にサーバー内の接続数を確認する必要があります。

私は以下を使用しました

netstat -anp |grep 80 |wc -l

これは

2542

しかし、Google Analytics から、同時ユーザー数は 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 ?

答え1

確立された接続だけを数えてみましょう:

netstat -anp | grep :80 | grep ESTABLISHED | wc -l

また、ポートの grep ステートメントでコロンを使用しないように注意してください。単に 80 を検索すると、出力に文字 80 が含まれる pid やその他のポートから誤った結果が返される可能性があります。

答え2

ss -tn src :80 or src :443

これにより、ローカル ポート 80 または 443 へのすべての接続が表示されます (必要に応じてポートを追加/変更します)。

免責事項: これは古い質問であることは承知していますが、Google ではまだトップの結果になっているため、最新のユーティリティを使用して回答する価値があると思います。

答え3

撮影翻訳者一歩「さらに」答えるには(「より広い」視点での答えに向かって)、次のようにして、状態に応じてソートされたすべての接続を確認することもできます。

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

これがお役に立てば幸いです。また、上記についての詳細やコメントがあればぜひお寄せください。

乾杯、

男。

答え4

これは、次のような最新のユーティリティでも実行できます。ss

たとえば、ポート8080で確立されたすべてのTCP接続を取得しようとすると、

ss -tn src :8080 | grep -i "estab" | wc -l

関連情報