На данный момент мой сервер очень сильно тормозит и вылетает. Это выделенный сервер, который последние два дня работал полностью нормально.
Что делает эта команда?
netstat -n|grep :80|cut -c 45-|cut -f 1 -d ':'|sort|uniq -c|sort -nr|more
Вот что я получаю:
154 76.217.x.xx
11 79.51.xx.xxx
10 174.119.xx.xx
9 201.230.xxx.xxx
8 24.184.xx.xxx
8 127.0.0.1
6 50.51.xxx.xxx
6 216.121.xxx.xxx
4 80.203.xx.xxx
4 24.186.xxx.xxx
4 223.25.xx.xxx
4 119.93.xx.xx
Что означает число рядом с IP? Означает ли это связи? Если так ... верхний IP меня дозирует?
netstat
печать сетевых подключений-n
показать числовой адресgrep :80
подключения фильтра подключаются к порту 80cut -c 45-
получить только 4 и 5 столбецcut -d: -f1
отделите первое поле двоеточиемsort | uniq -c
отсортировать по IP-адресу и подсчитать количество уникальных IP-адресовsort -rn
поменять местами числовую сортировкуТы можешь использовать awk
вместо того cut -c 45-
чтобы получить только 5-й столбец:
netstat -n | grep :80 | awk '{ print $5 }' | cut -d: -f1 | sort | uniq -c | sort -rn | head
Про ваш результат вроде нормально, DDoS нет. Взгляни на access_log
Больше подробностей.
Quanta и DTest объяснили, что делает команда. Каждый скажет вам, что несколько сотен подключений не вызывают DoS (поговорите со мной, когда у вас будет хотя бы 5-10 тысяча), и я расширю это, сказав, что для того, чтобы это было DДа, вы бы увидели намного больше записей (возможно, с гораздо большим количеством подключений каждая), чем то, что вы показываете выше.
Когда у вас проблема с сервером НЕ переходите к экзотическим причинам (DDoS, Cosmic Rays, Z0MG H4X0R3D !, и т. д.) - Скорее всего, у вас гораздо более скучная и приземленная проблема.
Вы говорите «происходит сбой» - вы имеете в виду, что весь сервер зависает, паникует или требует жесткой перезагрузки по иным причинам?
Если да, проверьте свою оперативную память (MemTest86 + или аналогичный по классу). Обычно проблема в этом.
Если это не настоящий, тяжелый сбой, начните с обычных повседневных проблем:
top
Число - это количество уникальных записей для каждого ip (сгенерированного uniq -c
)
netstat -n
предоставит вам весь текущий сетевой трафик, который вы затем передадите grep :80
, который только захватывает соединения на вашем веб-сервере. Далее вырезаем ведущую часть лески с помощью cut -c 45-
, а затем все после IP (начиная с двоеточия) с cut -f 1 -d ':'
затем сортируем, получаем уникальные IP-адреса с подсчетом (uniq -c
), а затем отсортируйте его в обратном порядке, чтобы большинство IP-адресов было вверху.
Это не обязательно означает, что вы получаете DDoS-атаки, потому что большая часть трафика идет с одного IP-адреса. Кто-то может сканировать ваш сайт на предмет содержания или по другой причине.