Анализ и экспорт сетевого трафика с помощью Tshark
На этом этапе мы сосредоточимся на том, как экспортировать сетевой трафик в различных форматах и выполнять базовый анализ трафика с использованием tshark. Эти навыки являются важными, так как позволяют вам делиться захваченными данными с коллегами или использовать их в других инструментах. К концу этого раздела вы сможете работать с разными форматами файлов и извлекать ценную информацию из сетевого трафика.
Понимание форматов файлов захвата
Wireshark, хорошо известный анализатор сетевых протоколов, поддерживает несколько форматов файлов захвата. Каждый формат имеет свои уникальные характеристики, которые важно понимать, так как они определяют, как данные можно будет использовать в будущем.
- pcapng: Это формат по умолчанию, используемый Wireshark. Он поддерживает несколько интерфейсов и имеет расширенные функции. Это отличный выбор, когда вам нужно захватывать сложные сетевые сценарии.
- pcap: Классический формат. Он совместим со старыми инструментами, но имеет меньше функций по сравнению с pcapng. Если вам нужно работать с устаревшими системами, этот формат может стать вашим выбором.
- csv: Значения, разделенные запятыми. Этот формат очень полезен, когда вы хотите импортировать данные в электронные таблицы для дальнейшего анализа.
- json: JavaScript Object Notation. Он идеален для программного анализа, так как его легко разобрать с помощью языков программирования.
- text: Простой текстовый формат, который можно прочитать человеком. Он полезен, когда вы хотите быстро просмотреть данные без использования специальных инструментов.
Экспорт в разные форматы файлов
Для изменения формата файла захвата вы можете использовать параметр -F
в tshark. Общая структура команды выглядит следующим образом:
tshark -r <input_file> -F <format> -w <output_file>
Здесь -r
указывает входной файл, -F
задает выходной формат, а -w
определяет выходной файл.
Возьмем пример и экспортируем наш захват в формат pcap:
tshark -r /home/labex/project/capture.pcapng -F pcap -w /home/labex/project/export.pcap
При успешном выполнении этой команды на экране не появится никакого вывода. Чтобы убедиться, что экспорт прошел успешно, вы можете использовать команду ls
для вывода подробностей о экспортированном файле:
ls -l /home/labex/project/export.pcap
Вы должны увидеть вывод, похожий на следующий:
-rw-r--r-- 1 labex labex 22468 Jan 27 12:45 /home/labex/project/export.pcap
Анализ статистики протоколов
Tshark полезен не только для экспорта файлов, но и для генерации различных статистик по захваченному трафику. Исследуем некоторые из этих вариантов статистического анализа.
Статистика иерархии протоколов
Если вы хотите увидеть, как распределены разные протоколы в вашем захвате, вы можете использовать следующую команду:
tshark -r /home/labex/project/capture.pcapng -z io,phs
Параметр -z
используется для указания типа статистики. В этом случае io,phs
означает статистику иерархии протоколов. Вывод будет показывать иерархию протоколов и процент пакетов для каждого протокола.
Protocol Hierarchy Statistics
|
+ Ethernet
+ Internet Protocol Version 4
+ Transmission Control Protocol
+ Transport Layer Security
+ Hypertext Transfer Protocol Secure
+ User Datagram Protocol
+ Domain Name System
Статистика разговоров
Для анализа разговоров между конечными точками в сети вы можете использовать следующую команду:
tshark -r /home/labex/project/capture.pcapng -z conv,tcp
Эта команда сосредотачивается на TCP - разговорах. Она показывает статистику, такую как участвующие конечные точки, количество обмененных пакетов и общее количество переданных байтов.
TCP Conversations
| <- | | -> | | Total | Relative | Duration |
| Frames Bytes | | Frames Bytes | | Frames Bytes | Start | |
192.168.1.100:43210 <-> 93.184.216.34:443 24 18765 18 4532 42 23297 0.000000000 8.2345
Статистика HTTP - запросов
Если ваш захват содержит HTTP - трафик, вы можете проанализировать HTTP - запросы с помощью следующей команды:
tshark -r /home/labex/project/capture.pcapng -z http,tree
Эта команда группирует HTTP - запросы по URI и показывает количество запросов для каждого URI.
HTTP/Requests:
/index.html 1 requests
/images/logo.png 2 requests
Экспорт в разные текстовые форматы
Помимо бинарных форматов, tshark также может экспортировать данные в текстовые форматы, которые часто легче анализировать.
Экспорт в CSV
Для экспорта определенных полей из захвата в файл CSV вы можете использовать следующую команду:
tshark -r /home/labex/project/capture.pcapng -T fields -e frame.number -e ip.src -e ip.dst -e tcp.srcport -e tcp.dstport -E header=y -E separator=, > /home/labex/project/tcp_summary.csv
Здесь -T fields
указывает, что мы хотим экспортировать определенные поля. Параметр -e
используется для определения полей, которые мы хотим экспортировать, таких как номер кадра, исходный и целевой IP - адреса, а также исходный и целевой TCP - порты. -E header=y
добавляет заголовок в файл CSV, а -E separator=,
устанавливает разделитель в виде запятой.
Проверка экспорта в CSV
После экспорта данных в файл CSV вы можете быстро просмотреть первые несколько строк файла с помощью команды head
:
head -5 /home/labex/project/tcp_summary.csv
Вывод может выглядеть так:
frame.number,ip.src,ip.dst,tcp.srcport,tcp.dstport
1,192.168.1.100,93.184.216.34,43210,443
2,93.184.216.34,192.168.1.100,443,43210
3,192.168.1.100,93.184.216.34,43210,443
...