netstat -pant 2> /dev/null | grep SYN_ | awk '{print $5;}' | cut -d: -f1 | sort | uniq -c | sort -n | tail -20
Эта команда выводит список 20 IP-адресов, с которых установлено TCP-соединение в состоянии SYN_RECV. Она выполняется следующим образом:
1. netstat -pant 2> /dev/null: Эта часть команды использует netstat для вывода информации о сетевых соединениях, -pant показывает подробную информацию о TCP-соединениях. 2> /dev/null перенаправляет сообщения об ошибках в «null» (игнорирует ошибки).
2. grep SYN_: Этот фильтр находит строки, содержащие «SYN_» (состояние SYN_RECV) в выводе netstat.
3. awk '{print $5;}': Извлекает пятое поле (IP-адрес) из каждой строки.
4. cut -d: -f1: Разбивает IP-адрес по двоеточию и выводит только часть до двоеточия, что убирает порт.
5. sort: Сортирует IP-адреса.
6. uniq -c: Удаляет дубликаты и считает, сколько раз встречается каждый IP-адрес.
7. sort -n: Сортирует IP-адреса по количеству соединений (число), в числовом порядке.
8. tail -20: Выводит последние 20 строк (IP-адресов) списка, которые имеют наибольшее количество соединений в состоянии SYN_RECV.
Альтернативы: Другие команды, такие как ss или lsof, могут использоваться для получения похожей информации о сетевых соединениях.
