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

Wireshark может сделать это через Статистика → Беседы. TShark может сделать это через -q -z conv,tcp -r /path/to/capture.pcap а также -q -z conv,udp -r /path/to/capture.pcap, Ntop должен уметь это делать.

Другие вопросы по тегам