Какой инструмент я могу использовать для подсчета количества TCP- и UDP-соединений внутри файла pcap?
Wireshark это можно сделать через Статистика → Беседы. TShark могу сделать это через -q -z conv,tcp -r /path/to/capture.pcap
и -q -z conv,udp -r /path/to/capture.pcap
. Ntop должен уметь это делать.
Для 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
Если вы предпочитаете инструмент на основе графического интерфейса, Wireshark может анализировать TCP-соединения. Он присваивает номер каждому TCP-соединению, которое он находит в файле, поэтому вы можете просто прокрутить файл до конца и посмотреть, какой номер был присвоен последнему соединению. (Возможно, вам придется проверить несколько соединений, если они перекрываются и какое-то другое соединение продолжается после последнего пакета из соединения с самым высоким номером.)