Подсчет количества соединений в файле pcap
Какой инструмент можно использовать для подсчета количества соединений TCP и UDP внутри файла pcap?
2 ответа
Для соединений 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-соединению, которое он находит в файле, поэтому вы можете просто прокрутить до конца файла и посмотреть, какой номер был назначен последнему соединению. (Возможно, вам придется проверить несколько соединений, если они перекрываются, и какое-то другое соединение продолжается после последнего пакета от соединения с наибольшим номером.)