Проблема слияния захвата Pcap

У меня есть два файла pcap

$ capinfos cap1_stego0.pcap 
File name:           cap1_stego0.pcap
File type:           Wireshark/tcpdump/... - libpcap
File encapsulation:  Raw IP
Number of packets:   713

а также

$ capinfos cap1_wlan0.pcap 
File name:           cap1_wlan0.pcap
File type:           Wireshark/tcpdump/... - libpcap
File encapsulation:  Ethernet

Я хочу их объединить, но инкапсуляция другая. если я использую

mergecap -v -w asd.pcap cap1_stego0.pcap cap1_wlan0.pcap -T rawip

or

mergecap -v -w asd.pcap cap1_wlan0.pcap cap1_stego0.pcap -T rawip 

Wireshark не распознает второй последний файл и отображает пакеты cap1_wlan0.pcap или пакеты cap1_stego0.pcap как raw packet data соответственно. Также использование «tcpslice» для удаления уровня Ethernet cap1_wlan0.pcap (чтобы иметь оба файла с инкапсуляцией rawip) показывает мне нераспознанные данные пакета.

Как я могу сделать? есть способ объединить pcap с другой инкапсуляцией или преобразовать eth->rawip или rawip->eth? Спасибо.


person Emilio    schedule 17.06.2011    source источник


Ответы (2)


Один из способов преобразования файла RAW_IP в файл, инкапсулированный в Ethernet (который затем можно объединить с другими файлами, инкапсулированными в Ethernet):

  1. Используйте tshark для получения шестнадцатеричного дампа пакетов из файла RAW_IP:

    tshark -nxr pcap-file-name | grep -vP "^ +\d" > foo.txt
    

    ( grep используется для удаления «сводных» строк из вывода tshark).

  2. Используйте text2pcap для преобразования обратно в файл pcap при добавлении фиктивных заголовков Ethernet:

    text2pacp -e 0x0800 foo.txt foo.pcap
    

Если вы хотите сохранить временные метки, вам придется немного поиграть с выводом tshark, чтобы получить текстовый файл, содержащий временные метки в формате, который может принять text2pcap, а также информацию о шестнадцатеричном пакете.

[[ Есть ли у tcpslice возможность удалять заголовки Ethernet? (Глядя на справочную страницу, кажется, что tcpslice используется для извлечения временных диапазонов из файла pcap).

Если у вас есть способ удалить заголовки Ethernet из файла захвата, вы должны убедиться, что результирующий файл pcap имеет тип инкапсуляции RAW_IP, прежде чем пытаться прочитать его с помощью wireshark, mergecap и т. д.).

Также обратите внимание, что ключ -T для mergecap просто принудительно использует тип инкапсуляции, указанный в файле; Фактическая инкапсуляция не изменяется (т. е. байты не добавляются, не изменяются и не удаляются). ]]

person willyo    schedule 18.06.2011

Для слияния файлов pcap попробуйте альтернативную утилиту — tcpmerge пример команды слияния: ./tcpmerge asd.pcap cap1_wlan0.pcap cap1_stego0.pcap OUTFILEMERGED.pcap

person Wladimir Koroy    schedule 14.05.2018