У нас есть сервер, который прослушивает порт X. На сервере большое количество клиентов, время от времени процесс зависает, я вижу сообщения о переполнении SYN в журнале. Я пытался настроить соответствующие параметры конфигурации tcp.
Я хотел бы подсчитать количество входящих подключений к этому конкретному порту с помощью tcpdump или другой команды.
Iptables может регистрировать соединения или, если хотите, вы можете использовать --tcp-flags SYN
возможность сопоставления пакетов синхронизации.
iptables -A INPUT -p tcp -m tcp --dport <listenPort> \
-m state --state NEW -j LOG --log-prefix 'PORTMON'
grep 'PORTMON' /var/log/messages
netstat
может отображать активные соединения (труба к wc -l
по счетам):
netstat -punta | grep <yourPort>
Или просто используйте tcpdump для проверки трафика.
man tcpdump
Вы рассматривали возможность использования решения для мониторинга сети?
Это не просто получение количества подключений к этому порту, это что-то делает, если значение слишком велико: например, установка и правило iptables для запрета IP-адреса или получение предупреждения на ваш мобильный телефон. Как указано в этот вопрос, вы можете использовать плагин IPTraf из Pandora FMS чтобы получить эту метрику, а затем использовать возможности оповещения и отчетности Pandora FMS, чтобы что-то с этим сделать.