Как восстановить данные из файла pcap?

У меня есть следующий файл: test_network.pcap: tcpdump capture file (little-endian) - version 2.4 (Ethernet, capture length 65535)
Я знаю, что в этом файле мало видеопотоков. Как их извлечь?

[Файл ~180 GB]


person dscTobi    schedule 07.06.2010    source источник


Ответы (3)


  1. Используйте библиотеку Pcap (libpcap, WinPcap, Pcap.Net)
  2. Извлеките TCP через IP через Ethernet.
  3. Восстановите поток TCP (см. Реконструкция данных из анализа PCAP).
  4. Сохраните данные потока TCP в файл.

Попробуйте некоторые инструменты реконструкции Pcap TCP:

http://www.codeproject.com/KB/IP/TcpRecon.aspx

http://code.google.com/p/pcap-reconst/

person brickner    schedule 08.06.2010
comment
Итак, я использовал tshark, чтобы увидеть, сколько потоков в этом файле pcap и адресах src/dst. Затем я использую tshark для захвата пакетов только для определенного адреса src/dst и записи их в другой файл pcap. Наконец, я написал программу, использующую libpcap для извлечения полезной нагрузки из каждого пакета и записи ее в some.mpg. Теперь мне нужно проверить этот mpg файл, чтобы убедиться, что он не поврежден. Но я не знаю, как это сделать. - person dscTobi; 10.06.2010
comment
Если вы извлекаете только полезную нагрузку, этого может быть недостаточно. Вам необходимо восстановить данные в соответствии с порядковыми номерами. Если вы проверите порядковые номера TCP и другие параметры, это должен быть действительный файл (как если бы вы загрузили его с помощью TCP). Я не знаю, как проверить файл mpg, но я уверен, что есть много программ, которые это делают. Любой игрок MPG может дать вам знать ... - person brickner; 10.06.2010

Существуют инструменты, разработанные для достижения вашей цели, некоторые из них с открытым исходным кодом, например:

person Gianluca Costa    schedule 07.05.2012

Вы можете проверить следующую ссылку для понимания спецификации pcap: eспецификация PCAP

Этот веб-сайт может быть вам полезен: tcpdump.org

Также вы можете использовать библиотеку c++: libpcap++

person barroco    schedule 07.06.2010
comment
Файл, который вы указываете как спецификацию PCAP, на самом деле является спецификацией для файлов pcap-ng; речь идет о файле pcap, а не pcap-ng. libpcap может читать файлы pcap; libpcap 1.1.0 и более поздние версии также могут читать некоторые файлы pcap-ng. Программа, использующая libpcap, может с libpcap 1.1.0 и более поздних версий читать файлы pcap и pcap-ng без необходимости изменения для поддержки pcap-ng; использование libpcap означает, что вам не нужно знать, как структурированы файлы pcap или pcap-ng. - person ; 31.12.2012