Разбивка pcap на сессии с помощью модуля scapy?

Есть большой файл pcap, собранный при помощи Wireshark. Необходимо с помощью модуля scapy выделить из него отдельные сессии TCP и UDP. Понятно, что написать не сложно, выделяя сессии TCP при помощи ip_src:port - ip_dst:port, но может существуют уже готовые решения?
  • Вопрос задан
  • 380 просмотров
Пригласить эксперта
Ответы на вопрос 1
for (packet_data, packet_metadata) in RawPcapReader(infile):   # перебираем все пакеты
    ether_pkt = Ether(packet_data)  # выделяем слой Ethernet
    ip_pkt = ether_pkt[IP] # дальше слой IP
    if ip_pkt.haslayer(TCP): # проверяем есть ли TCP слой ниже
        # раскладываем пакеты по разным спискам
        # чтобы в конце записать их в файл с помощью конструкции 
        # wrpcap("any_file.pcap", list_of_packets)

С UDP аналогично.
Как вариант, все это можно сделать фильтрами в Wireshark
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы