Как мне узнать количество (в настоящее время) установленных TCP-соединений для определенного порта?
Мне удалось получить счетчики для трафика, работающего, например, для исходящего RTMP.
iptables -N $CHAIN
iptables -I OUTPUT -j $CHAIN
iptables -A $CHAIN -p tcp --sport 1935
iptables-save
Но теперь мне нужно количество текущих (не счетчиков) подключений для каждого протокола.
Я могу получить общее число с помощью: netstat -ant | grep УСТАНОВЛЕН | wc -l
Кто-нибудь может помочь? Я не гуру iptables.
Вы говорите, что не гуру, но кто из нас им является? Вы сделали большую часть тяжелой работы; Я уверен, что остальное придет в голову через минуту или две.
А пока попробуйте netstat -an|grep ESTABLISHED | grep -w 1935
.
Меня устраивает:
# netstat -ant | grep ESTABLISHED | wc -l
вывод:
total connection 22....
netstat + grep
- хороший и простой вариант для нескольких подключений, но если у вас огромное количество подключений, я бы порекомендовал ss
как рекомендовано в nixCraft.
Например: ss -s
Total: 78 (kernel 79)
TCP: 31 (estab 27, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 16
Transport Total IP IPv6
* 79 - -
RAW 0 0 0
UDP 4 2 2
TCP 31 2 29
INET 35 4 31
FRAG 0 0 0
Есть еще одна команда, если вам нужен список IP-адресов и количество используемых соединений
он дает вам список IP и подключений ...
Спасибо