У меня есть веб-сервер, мне нужно проверить количество подключений на моем сервере в данный момент времени,
я использовал следующее
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 может привести к ошибочным результатам от pid и других портов, которые случайно имеют символы 80 в своем выводе.
решение2
ss -tn src :80 or src :443
Будут показаны все подключения к локальным портам 80 или 443 (при необходимости добавьте/измените порт(ы)).
Отказ от ответственности: я понимаю, что это старый вопрос, но он по-прежнему является одним из первых результатов в Google, поэтому я думаю, что на него стоит ответить с использованием современных утилит.
решение3
Принимая@d34dh0r53Чтобы сделать шаг «дальше» (к ответу с «более широкой» перспективой), вы также можете проверить все соединения, отсортированные по их состоянию, с помощью следующего:
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
Например, попытка установить все TCP-соединения на порту 8080
ss -tn src :8080 | grep -i "estab" | wc -l