Pcap захватить проблему слияния - PullRequest
2 голосов
/ 17 июня 2011

У меня есть два файла 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

или

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? Спасибо.

Ответы [ 2 ]

2 голосов
/ 18 июня 2011

Один способ преобразовать файл 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 просто принудительно устанавливает тип инкапсуляции, указанный в файле;Фактическая инкапсуляция не изменяется (т. Е. Байты не добавляются / не изменяются / не удаляются).]]

0 голосов
/ 14 мая 2018

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

...