Назад | Перейти на главную страницу

Как мне узнать количество (в настоящее время) установленных TCP-соединений для определенного порта?

Как мне узнать количество (в настоящее время) установленных 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-адресов и количество используемых соединений

netstat -natu | awk '{print $ 5}' | вырезать -d: -f1 | сортировать | uniq -c | sort -n

он дает вам список IP и подключений ...

Спасибо