- Wireshark в Linux. Консольный анализатор сетевого трафика Tshark
- Установка Tshark
- Перехват, чтение и сохранение пакетов
- Фильтры
- Фильтры перехвата
- Фильтры отображения
- Форматирование
- Вывод статистических данных
- Список IP-соединений
- Защищённые соединения
- Заключение
- How to Install Wireshark on Linux
- Installing on Ubuntu 16.04
- Installing on CentOS 7
- Installing on Arch Linux
- Installing from Source
- Tshark
- Using Tshark
- Conclusion
- Руководство и шпаргалка по Wireshark
- Устранение неполадок сетевого подключения
- Исследование сессий прикладного уровня (даже при шифровании с помощью SSL/TLS, см. ниже)
- Устранение неполадок DHCP с данными на уровне пакетов
- Извлечение файлов из сессий HTTP
- Извлечение файлов из сессий SMB
- Обнаружение и проверка вредоносных программ
- Проверка сканирования портов и других типов сканирования на уязвимости
- Установка Wireshark
- Установка на Ubuntu или Debian
- Установка на Fedora или CentOS
- Установка на Windows
- Начало работы с фильтрами
- Примеры фильтров по IP-адресам
- Примеры фильтров по протоколу
- Следуйте за потоком
- Резолвинг DNS в Wireshark
- Tshark для командной строки
- Составление правил для файрвола
- Работа с географической базой GeoIP
- Расшифровка сессий SSL/TLS
- 1. Настройка переменной среды
- 2. Настройка Wireshark
- 3. Перезапуск Firefox или Chrome
- Извлечение файлов из пакетов с помощью функции экспорта (HTTP или SMB)
- Строка состояния
- Образец PCAP
- Настройка окружения
- capinfos
Wireshark в Linux. Консольный анализатор сетевого трафика Tshark
Tshark — мощный анализатор трафика для интерфейса командной строки, который входит в состав известной утилиты Wireshark. Он работает аналогично Tcpdump, но благодаря большому количеству декодеров и фильтров позволяет анализировать информацию протоколов различного уровня и отображать ее в разнообразных видах и форматах.
Tshark может использоваться для анализа трафика в реальном времени или из файлов pcap/pcapng и позволяет своевременно устранять и предупреждать возможные проблемы и угрозы безопасности.
Tshark — приложение командной строки, обладающее всеми возможностями Wireshark, но без графического интерфейса. Это очень удобно, когда требуется автоматизированное выполнение задач, например, запланированный в cron перехват пакетов, отправка данных в sed, awk, perl, базу данных или по электронной почте.
Установка Tshark
Как уже отмечалось, утилита входит в пакет Wireshark. Установить его можно с помощью менеджера пакетов apt-get или yum.
Перехват, чтение и сохранение пакетов
При запуске без параметров Tshark, как и tcpdump начнёт перехватывать весь сетевой трафик на всех интерфейсах.
Если на вашей машине несколько интерфейсов, вам может потребоваться указать, какой именно должен использоваться. Для получения списка доступных интерфейсов укажите опцию -D:
Выбрав нужный интерфейс, укажите его имя или номер при помощи опции -i, например:
Теперь, когда мы научились перехватывать пакеты, нам может потребоваться сохранить их для дальнейшего изучения. Для этого используется опция -w. Следующая команда будет перехватывать пакеты с интерфейса eth0 и сохранять их в файл /tmp/traffic.pcap:
Для анализа пакетов из ранее сохранённого файла вместо их перехвата с интерфейса укажите имя файла с опцией -r. Для чтения из файлов не требуется привилегий суперпользователя.
Надо отметить, что утилита также читает и анализирует файлы снятые tcpdump.
По умолчанию Tshark выполняет разрешение имён. Для лучшего понимания откуда пакет пришел и куда отправлен можно отключить его при помощи опции -n. Тогда вместо доменных имен, в дампе трафика будут ip адреса.
Фильтры
При работе Tshark в сильно загруженной сети результаты могут выводиться слишком быстро и переполнять экран, существенно затрудняя чтение. Для решения этой проблемы в Tshark есть два вида фильтров.
Фильтры перехвата
Это традиционные pcap/bpf фильтры, определяющие, какие пакеты будут перехватываться на интерфейсе. Фильтры аналогичны фильтрам tcpdump, поэтому подробно мы их в этой статье рассматривать не будем. Желающие могут прочитать о них в статье про tcpdump
Перехват пакетов, связанных с узлом 192.168.1.100, на портах 80 или 53.
Игнорировать групповые и широковещательные пакеты:
Фильтры отображения
Фильтры отображения задаются опцией -Y. Их синтаксис такой же как и в графической программе wireshark. Рассмотрим наиболее популярные
Просмотр всех соединений с адреса 192.168.1.1
Отображение HTTP-запросов на TCP-порт 8800
Исключить отображение пакетов ICMP и ARP:
Повторная передача пакетов(retransmision)
Более подробно о фильтрах можно прочитать на официальном сайте https://www.wireshark.org/
Форматирование
Иногда требуется отображение более или менее подробной информации о пакетах. Tshark позволяет определить, где и как выводить эту информацию. Для этого используются следующие опции.
Опция -V используется для подробного режима Tshark и отображения такой информации, как номер кадра, поле протокола, данные или флаги пакета.
Опция -O аналогична -V, но выводит информацию о конкретном протоколе.
Для вывода данных в различном формате применяется опция -T, это может быть полезно, если вам требуется строго определенная информация, например, при выводе данных Tshark в базу данных.
При выборе полей для опции -T нужно как минимум один раз указать опцию -e, которая задаёт поля для вывода. Для отображения нескольких полей ее можно использовать несколько раз.
Полный список возможных полей для отображения с флагом -e можно получить при помощи опции -G:
При помощи флага -E осуществляется дополнительное форматирование. Можно отображать/скрывать заголовки,устанавливать символ кавычек и т.д. Например, следующая команда устанавливает эти опции и помещает результат в файл формата CSV:
Вывод статистических данных
Для создания статистических отчетов используется опция -z, после которой указывается тип отчета.
Отчёт по протоколам SMB, DNS и IP:
Список IP-соединений
Полный список доступных отчетов можно получить, указав опцию -z help:
Защищённые соединения
Tshark позволяет анализировать и зашифрованные соединения, например, SSL. В следующем примере показано HTTP-соединение через SSL.
Мы отображаем пакеты с TCP-порта 443, указывая Tshark выводить подробную информацию о протоколе HTTP, выполнять сегментацию для SSL, осуществлять поиск приватного ключа в файле server-x.key формата PEM и сохранять информацию для отладки в файле debug-ssl.log.
Заключение
Мы рассмотрели использование Tshark для перехвата пакетов в сети. Эта утилита очень полезна для выяснения источников проблем, отладки сетевых служб, анализа безопасности и общего состояния сети. Tshark обладает очень широкими возможностями, но мы рассмотрели наиболее важные и характерные примеры. Для дальнейшего изучения и получения максимально подробной информации об этой утилите можно обратиться к официальной документации.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
How to Install Wireshark on Linux
Wireshark is one of the best open source network GUI packet analyzer available today. It is used to capture network packets and display the details of the packet data. Wireshark and tcpdump use libpcap to get live network data. It’s often more easy to capture packets using tcpdump command and view using Wireshark. This is useful for troubleshooting the network or network security issues and to debug protocol implementations.
In this tutorial, we will go through the installation of Wireshark on Ubuntu 16.04, CentOS 7, and Arch Linux.
Installing on Ubuntu 16.04
Before we begin installation, let’s meet the dependencies:
Once all the dependencies have been installed, we run the following in the terminal.
During the installation, if you’re asked if non-superusers be able to capture packets. Press the left arrow key on your keyboard to select and hit Enter.
You can launch it from dash or type the command:
Installing on CentOS 7
We will install Wireshark on CentOS 7 using yum. In the terminal, type the following commands:
Launch it from the launcher or type the following command in the command line:
Installing on Arch Linux
In the terminal, type the following commands:
or if you prefer the GTK+ interface, use this command:
Installing from Source
Installing from source will require you to compile the source code. Once the requirements are met, run the following commands in the terminal to install the source code.
Tshark
TShark is a command line tool that comes along with Wireshark to capture live traffic as well as read and parse capture files. Without any options set, TShark will work much like tcpdump. It will use the pcap library to capture traffic from the first available network interface and displays a summary line on stdout for each received packet.
Tshark is automatically on CentOS 7 when you install wireshark. On Ubuntu, you can install it with the command:
Using Tshark
If you want to capture the packets coming from/going to UDP port 1812 on eth0, you can use tshark command as follows:
The -f flag is used to specify a network capture filter (more on filters later). Packets that do not verify the condition following the -f flag will not be captured. In this example, only IP packets that are coming from or going to UDP port 1812 are captured.
The -i flag is used to specify the interface from which we expect to see the RADIUS packets. Change ‘eth0’ to whatever your interface name is.
The -w flag is used to specify a file where the captured traffic will be saved for later processing.
If you are getting a ‘Permission Denied’ error when running wireshark as local user, you can start the it with root privileges or add the user account to wireshark group using the following command:
Conclusion
In this article, we learned to install wireshark on Ubuntu, CentOS and Arch Linux. We also learned how to compile from source for any Linux distro. Let us know if you faced any challenges during installation and we’ll help you fix them.
Источник
Руководство и шпаргалка по Wireshark
Даже поверхностное знание программы Wireshark и её фильтров на порядок сэкономит время при устранении проблем сетевого или прикладного уровня. Wireshark полезен для многих задач в работе сетевого инженера, специалиста по безопасности или системного администратора. Вот несколько примеров использования:
Устранение неполадок сетевого подключения
Исследование сессий прикладного уровня (даже при шифровании с помощью SSL/TLS, см. ниже)
Устранение неполадок DHCP с данными на уровне пакетов
Извлечение файлов из сессий HTTP
Извлечение файлов из сессий SMB
Обнаружение и проверка вредоносных программ
Проверка сканирования портов и других типов сканирования на уязвимости
- Понимание, какой сетевой трафик поступает от сканеров
- Анализ процедур по проверке уязвимостей, чтобы различать ложноположительные и ложноотрицательные срабатывания
Эти примеры — только вершина айсберга. В руководстве мы расскажем, как использовать столь мощный инструмент.
Установка Wireshark
Wireshark работает на различных операционных системах и его несложно установить. Упомянем только Ubuntu Linux, Centos и Windows.
Установка на Ubuntu или Debian
Установка на Fedora или CentOS
Установка на Windows
На странице загрузки лежит исполняемый файл для установки. Довольно просто ставится и драйвер захвата пакетов, с помощью которого сетевая карта переходит в «неразборчивый» режим (promiscuous mode позволяет принимать все пакеты независимо от того, кому они адресованы).
Начало работы с фильтрами
С первым перехватом вы увидите в интерфейсе Wireshark стандартный шаблон и подробности о пакете.
Как только захватили сессию HTTP, остановите запись и поиграйте с основными фильтрами и настройками Analyze | Follow | HTTP Stream.
Названия фильтров говорят сами за себя. Просто вводите соответствующие выражения в строку фильтра (или в командную строку, если используете tshark). Основное преимущество фильтров — в удалении шума (трафик, который нам не интерестен). Можно фильтровать трафик по MAC-адресу, IP-адресу, подсети или протоколу. Самый простой фильтр — ввести http , так что будет отображаться только трафик HTTP (порт tcp 80).
Примеры фильтров по IP-адресам
Примеры фильтров по протоколу
Попробуйте сделать комбинацию фильтров, которая показывает весь исходящий трафик, кроме HTTP и HTTPS, который направляется за пределы локальной сети. Это хороший способ обнаружить программное обеспечение (даже вредоносное), которое взаимодействует с интернетом по необычным протоколам.
Следуйте за потоком
Как только вы захватили несколько HTTP-пакетов, можно применить на одном из них пункт меню Analyze | Follow | HTTP Stream. Он покажет целиком сессию HTTP. В этом новом окне вы увидите HTTP-запрос от браузера и HTTP-ответ от сервера.
Резолвинг DNS в Wireshark
По умолчанию Wireshark не резолвит сетевые адреса в консоли. Это можно изменить в настройках.
Edit | Preferences | Name Resolution | Enable Network Name Resolution
Как и в случае tcpdump , процедура резолвинга замедлит отображение пакетов. Также важно понимать, что при оперативном захвате пакетов DNS-запросы с вашего хоста станут дополнительным трафиком, который могут перехватить.
Tshark для командной строки
Если вы ещё не баловались с tshark , взгляните на наше руководство с примерами фильтров. Эту программу часто игнорируют, хотя она отлично подходит для захвата сессий на удалённой системе. В отличие от tcpdump , она позволяет на лету захватывать и просматривать сессии прикладного уровня: декодеры протоколов Wireshark также доступны для tshark.
Составление правил для файрвола
Вот быстрый способ создания правил из командной строки, чтобы не искать в интернете конкретный синтаксис. Выберите подходящее правило — и перейдите в Tools | Firewall ACL Rules. Поддерживаются различные файрволы, такие как Cisco IOS, ipfilter , ipfw , iptables , pf и даже файрвол Windows через netsh .
Работа с географической базой GeoIP
Если Wireshark скомпилирован с поддержкой GeoIP и у вас есть бесплатные базы Maxmind, то программа может определять местоположение компьютеров по их IP-адресам. Проверьте в About | Wireshark, что программа скомпилирована с той версией, какая у вас в наличии. Если GeoIP присутствует в списке, то проверьте наличие на диске баз GeoLite City, Country и ASNum. Укажите расположение баз в меню Edit | Preferences | Name Resolution.
Проверьте систему на дампе трафика, выбрав опцию Statistics | Endpoints | IPv4. В колонках справа должна появиться информация о местоположении и ASN для IP-адреса.
Другая функция GeoIP — фильтрация трафика по местоположению с помощью фильтра ip.geoip . Например, так можно исключить трафик из конкретной ASN. Нижеуказанная команда исключает пакеты от сетевого блока ASN 63949 (Linode).
Конечно, тот же фильтр можно применить к отдельным городам и странам. Удалите шум и оставьте только действительно интересный трафик.
Расшифровка сессий SSL/TLS
Один из способов расшифровки сессий SSL/TLS — использовать закрытый ключ с сервера, к которому подключен клиент.
Конечно, у вас не всегда есть доступ к приватному ключу. Но есть другой вариант простого просмотра трафика SSL/TLS на локальной системе. Если Firefox или Chrome загружаются с помощью специальной переменной среды, то симметричные ключи отдельных сеансов SSL/TLS записаны в файл, который Wireshark может прочитать. С помощью этих ключей Wireshark покажет полностью расшифрованную сессию!
1. Настройка переменной среды
На вкладке System Properties | Advanced нажмите кнопку Environment Variables и добавьте имя переменной (SSLKEYLOGFILE), а в качестве значения — путь к файлу.
2. Настройка Wireshark
Из выпадающего меню выберите Edit | Preferences | Protocols | SSL | (Pre)-Master-Secret Log Filename — Browse, указав файл, который вы указали в переменную среды.
Начинайте захват трафика в локальной системе.
3. Перезапуск Firefox или Chrome
После перехода на сайт HTTPS лог-файл начнёт увеличиваться в размере, поскольку записывает симметричные ключи сессии.
Взгляните на ранее запущенную сессию Wireshark. Вы должны увидеть что-то похожее на скриншот внизу с расшифрованными сессиями. Расшифрованные пакеты — на вкладке в нижней панели.
Другой способ просмотра сеанса — через выпадающее меню Analysis | Follow | Stream | SSL. Если сеанс успешно расшифрован, вы увидите опцию для SSL.
Разумеется, будьте осторожны при записи этих ключей и пакетов. Если посторонний получит доступ к лог-файлу, то легко найдёт там ваши пароли и куки аутентификации.
Ещё один вариант выхода на базовый HTTP-трафика — использовать инструмент Burp Suite с загруженным сертификатом CA в браузере. В этом случае прокси расшифровывает соединение на стороне клиента, а затем устанавливает новый сеанс SSL/TLS на сервере. Есть много способов проведения такой MiTM-атаки на себя, это два самых простых.
Извлечение файлов из пакетов с помощью функции экспорта (HTTP или SMB)
Файлы легко извлекаются через меню экспорта.
File | Export Objects | HTTP
Все найденные файлы отобразятся в новом окне. Отсюда же можно сохранить отдельные файлы или сразу все. Аналогичный метод применяется для извлечения файлов из сессий SMB. Как мы уже упоминали, это протокол Microsoft Server Message Block, который используется для общего доступа к файлам под Windows.
Строка состояния
Строка состояния в правой части окна позволяет быстро перейти в нужное место сетевого дампа, щёлкнув по цветовому индикатору. Например, красным цветом в строке состояния помечены пакеты с ошибками.
Образец PCAP
Когда только начинаете работу с Wireshark, хочется посмотреть на какие-нибудь интересные дампы с пакетами. Их можно найти на странице Wireshark Samples. Примеров с разными протоколами там хватит вам на несколько месяцев анализа, есть даже образцы трафика червей и эксплоитов.
Настройка окружения
Внешний вид консоли по умолчанию всячески настраивается. Можно добавлять или удалять столбцы, добавляя даже такие простые вещи как столбец времени UTC, что сразу повышает информативность логов, если анализировать историю пакетов.
Столбцы настраиваются в меню Edit | Preferences | Appearance | Columns. Там же изменяется общий шаблон, шрифт и цвета.
На видео — полезные советы по настройке окружения, в том числе выявление неполадок по порядковым номерам последовательности TCP.
capinfos
В комплекте с Wireshark поставляется удобный инструмент командной строки capinfos . Эта утилита генерирует статистику пакетного дампа, с временем начала/окончания записи и другими подробностями. С опцией -T она выдаёт текст с табуляцией — он подходит для импорта в электронные таблицы или анализа в консоли.
Источник