Информационная безопасность 7х24


Главная
Новости
Статьи
Нормативные документы
Политики
Комментарии
Ссылки

Последние новости:


Последние комментарии:

Работа с файлами сетевых дампов


Введение

Время от времени, при проведении различных работ связанных с сетевым обменом требуется анализ трафика между взаимодействующими системами. В редких случаях он проводится «на лету», однако чаще это делается после сбора данных. При этом анализу могут подвергаться большие объемы данных, файлы содержащие их могут иметь размеры в десятки гигабайт либо наоборот быть большим набором мелких файлов. На сайте уже публиковалась заметка посвященная "Фильтрация трафика BPF фильтром", настоящая статья описывает базовые методы работы с файлами сетевым дампов, в основном в формате PCAP: создание, разбиение, объединение и получение информации. Знание этих способов поможет вам подготовить к эффективной обработке сетевые дампы сохраненные в наборе файлов либо в одном файле большой длинны.

Примечание. Фильтрация сетевых данных не исключает разбиение дампов и наоборот. Оба метода могут использоваться одновременно.

Утилиты

Эта статья ориентирована на 2 самых распространенных снифера, это tcpdump и Wireshark. Последний рассматривается в обоих своих реализациях и как одноименная графическая программа (GUI) и как утилита командной строки tshark. Кроме того, описываются утилиты входящие в пакет Wireshark и имеющие отношение к работе с файлами: dumpcap, capinfos, mergecap и editcap.

Примечание. В настоящей статье приведены только некоторые опции программ и утилит. Для получения полного их списка необходимо пользоваться справочной информацией поставляемой с этими программами или опцией -h.

Создание сетевых дампов

В целом файл сетевого дампа может создаваться несколькими способами, которые можно описать следующим образом:

  • создание одного файла;
  • создание нескольких файлов:
    • с ротацией файлов;
    • с ограничением каждого файла по времени;
    • с ограничением каждого файла по размеру;
  • создание нескольких файлов с обработкой на лету.

Сетевые дампы, в пределах рассмотрения этой статьи, могут собираться программами tcpdump, wireshark, tshark и dumpcap. Выбор конкретной программы обусловлен личными пристрастиями специалиста проводящего анализ, либо их наличием на рабочем месте. Далее приводится краткий перечень их параметров, управляющих созданием файлов.

Программа tcpdump имеет следующие опции:

  • -w <имя файла>: сохраняет перехваченные пакеты в файл с установленным именем;
  • -С <размер>: проверка размера файла дампа перед записью в него очередного пакета. Если файл больше чем установленный размер, то создается следующий файл. К имени новых файлов добавляется порядковый индекс, который начинается с 1. Размер указывается как максимальная длинна файла в миллионах (10 в степени 6) байт;
  • -G <период>: похоже на -C, но периодическая смена файла дампа происходит не из-за его размера, а по прошествии заданного интервала времени, задаваемого аргументом в секундах. При этом к имени файла прибавляется время;

Примечание. Время выводится в формате возвращаемом системной функцией strftime. В случае если ее возвращаемое значение не определено, то файл циклически переписывается (случай на стенде автора).

  • -C и -G: эти параметры могут использоваться одновременно, при этом сначала к имени файла прибавляется индекс, а за тем время;
  • -W <количество>: ограничение количества файлов. Вместе с опцией -C обеспечивает циклическую перезапись файлов (в отличии от чистой -C первый файл также имеет индекс, он равен 0). Вместе с опцией -G ограничивает общее количество файлов. Также может совместно применяться с обоими опциями -G и -C;
  • -z <команда>: вместе с опциями C и G после переключения на новый файл позволяет выполнить команду на лету типа «команда «имя файла»». Командой может выступать скрипт, или простая команда вроде gzip или bzip2. Аргумент — название команды.

Программа tshark имеет следующие опции:

  • -w <имя файла>: аналогично tcpdump;
  • -a: прекращение записи в файл по удовлетворению заданного условия. Условие задается в виде test:value:
    • duration:X — прекращение записи после X секунд;
    • filesize:X — прекращение записи в файл после того как его размер превысит X килобайт.
    • files:X — прекращение записи после достижения количества файлов X. Применяется в комбинации с первыми двумя условиями.

Примечание. В случае если надо задать несколько условий, то опцию -a надо писать перед каждым.

  • -b: аналогично -a но запись не прекращается, а продолжается в новый файл. При этом его имя складывается из имени заданного в -w номера и даты. Если указывается параметр files, то запись производится циклически.
  • -a и -b: эти опции могут применяться вместе, при этом циклическая запись в соответствии с опцией -b будет прекращена по условию заданному в -a.

Примечание. В контексте этой статьи аналогом tshark является другая программа из пакета Wireshark, которая называется dumpcap.

Возможности программы Wireshark аналогичны tshark, с той лишь разницей, что настойка производится с помощью графической формы. Окно настроек показано на следующей картинке, обратите внимание на области «Capture File(s)» и «Stop Capture...».


Рисунок — Настройки снифера Wireshark

Получение информации о файлах дампов

Для получения общей информации о файле сетевого дампа необходимо использовать утилиту capinfos, которая позволяет определить следующие характеристики:

  • тип дампа;
  • тип канала в котором производился перехват;
  • количество сохраненных пакетов;
  • размер файла и данных в нем;
  • время начала и конца перехвата пакетов, а также продолжительность перехвата;
  • скорость информационного потока;
  • средний размер пакета.

Тип дампа определяет способ хранения информации в файле. Надо сказать, что Wireshark и входящие в него утилиты поддерживает достаточно большой перечень типов, который, для версии 1.0.2, включает:

  • libpcap - Wireshark/tcpdump/... - libpcap
  • nseclibpcap - Wireshark - nanosecond libpcap
  • modlibpcap - Modified tcpdump - libpcap
  • nokialibpcap - Nokia tcpdump - libpcap
  • rh6_1libpcap - RedHat 6.1 tcpdump - libpcap
  • suse6_3libpcap - SuSE 6.3 tcpdump - libpcap
  • 5views - Accellent 5Views capture
  • dct2000 - Catapult DCT2000 trace (.out format)
  • nettl - HP-UX nettl trace
  • netmon1 - Microsoft NetMon 1.x
  • netmon2 - Microsoft NetMon 2.x
  • ngsniffer - NA Sniffer (DOS)
  • ngwsniffer_1_1 - NA Sniffer (Windows) 1.1
  • ngwsniffer_2_0 - NA Sniffer (Windows) 2.00x
  • niobserverv9 - Network Instruments Observer (V9)
  • lanalyzer - Novell LANalyzer
  • snoop - Sun snoop
  • rf5 - Tektronix K12xx 32-bit .rf5 format
  • visual - Visual Networks traffic capture
  • k12text - K12 text file
  • commview - TamoSoft CommView
  • pcapng - Wireshark - pcapng (experimental)

Другой интересной характеристикой является количество пакетов и временные параметры дампа. Последние могут иметь роль, если в названиях файлов не отражается время их создания.

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

root@grub-book:/home/grub# capinfos file1
File name: file1
File type: Wireshark/tcpdump/... - libpcap
File encapsulation: Ethernet
Number of packets: 2
File size: 236 bytes
Data size: 196 bytes
Capture duration: 0.000028 seconds
Start time: Thu Jun  3 21:14:38 2010
End time: Thu Jun  3 21:14:38 2010
Data rate: 6966810.03 bytes/s
Data rate: 55734480.27 bits/s
Average packet size: 98.00 bytes
root@grub-book:/home/grub# capinfos file4.ln
File name: file4.ln
File type: Novell LANalyzer
File encapsulation: Ethernet
Number of packets: 2
File size: 3270 bytes
Data size: 196 bytes
Capture duration: 0.000028 seconds
Start time: Thu Jun  3 00:00:00 2010
End time: Thu Jun  3 00:00:00 2010
Data rate: 7026355.42 bytes/s
Data rate: 56210843.35 bits/s
Average packet size: 98.00 bytes

Разбиение сетевых дампов

Для разбиения сетевых дампов необходимо пользоваться программой tcpdump. К сожалению использовать Wireshark или tshark не удастся (поправьте меня если ошибаюсь). Но при этом необходимо использовать не перехват с сетевого интерфейса, а чтение из большого файла. Для этого используется аргумент -r. Важно, что при разбиении больших сетевых дампов, времена их создания и перехвата отдельных пакетов не изменяются.

Например, один файл большого размера bigdump может быть разбит на более мелкие фрагменты размером примерно 1 МБ следующей командой:

tcpdump -r bigdump -w smalldump -C 1

Также для разбиения дампов может использоваться программа editcap, с помощью которой можно выбирать из исходного дампа определенные пакеты или их диапазоны. При этом, зная средний размер пакета и скорость информационного потока (информация полученная с помощью capinfos) можно примерно регулировать размер выходных файлов.

Примечание. Для чтения файлов дампов нет необходимости иметь права супер-пользователя, достаточно обладать правами на чтение файла сетевого дампа.

Объединение сетевых дампов

В противоположность ранее приведенному сценарию может возникнут необходимость в объединении нескольких файлов дампов в один. Поскольку в файлах дампов также содержится служебная информация (сравните вывод «File size» «Data size» утилиты capinfos), то одной программой cat тут не обойдешься. В этом случае необходимо использовать утилиту mergecap, входящую в состав Wireshark.

Для использования с mergecap необходимо знать только один ключ -w в котором указывается имя объединенного файла, исходные файлы указываются обычным списком в конце команды. В следующем примере из файлов file1 и file2 будет сделан файл mergefile, объединяющий их содержимое:

mergecap -w mergefile file1 file2

Аналогично со случаем разбиения дампов, время перехвата отдельных пакетов остается неизменным.

Порядок следования файлов, по умолчанию определяется их временем перехвата. Но он может быть изменен с помощью флага -a. В этом случае пакеты записываются в очередности перечисления исходных файлов.

Преобразование файлов PCAP

В случае если необходимо осуществить преобразование от одного формата дампа к другому необходимо использовать утилиту editcap. Она автоматически определяет формат входного файла (в пределах поддерживаемых типов), а с помощью флага -F можно задать формат выходного файла, в том числе может использоваться и формат источник. По умолчанию формат выходного файла PCAP.

Например, следующая команда принимает на вход файл dump и преобразует его в dump.snoop в формате Sun snoop:

editcap -F snoop dump dump.snoop

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


Грубов Юрий




Перейти к комментариям
Оставить комментарий:
Имя
Комментарий


О проекте - Дерево сайта - Контакты sec7x24.net
Поддержи сайт рублем
ЯндексЯндекс. ДеньгиХочу такую же кнопку
SMS.копилка
Rambler's Top100