Для TCP-соединений можно получить довольно хорошее приближение, считая пакеты SYN-ACK
.
tcpdump -nr trace.pcap 'tcp[tcpflags] & (tcp-syn|tcp-ack) = (tcp-syn|tcp-ack)' | wc -l
Для UDP нет такого понятия, как соединение, поэтому сначала нужно определить, что считать. Вы можете посчитать, сколько различных пар исходников и получателей присутствует в файле. Эта команда будет считать пакеты в каждом направлении отдельно, так что если каждое "соединение" посылает пакеты в обоих направлениях, вам придется разделить на два.
tcpdump -nr trace.pcap 'udp' | cut -f2-5 -d' ' | sort -u | wc -l
Если вы предпочитаете инструмент, основанный на GUI, Wireshark может анализировать TCP соединения. Он присваивает номер каждому TCP-соединению, которое находит в файле, так что вы можете просто прокрутить его в нижнюю часть файла и посмотреть, какой номер был присвоен последнему соединению. (Возможно, вам придется проверить несколько соединений, если они накладываются друг на друга и какое-то другое соединение продолжается после последнего пакета с самым высоким номером)
.