Почему wireshark не видит dns пакеты
Перейти к содержимому

Почему wireshark не видит dns пакеты

  • автор:

Почему DNS пакеты уходят напрямую на DNS сервер? Wireshark

В Wireshark посмотрел структуру DNS пакета. Там в MAC-адресе пункта назначения указан адрес шлюза по умолчанию, но в IP-адресе назначения указан IP DNS сервера. Хотя во многих статьях об устройстве пакетов DNS я встречал, что там указан IP шлюза по умолчанию, а не DNS сервера. От чего это зависит и почему так?

Отслеживать
задан 24 окт 2021 в 18:33
ComeInRage ComeInRage
1,611 7 7 серебряных знаков 15 15 бронзовых знаков
Можно пример такой статьи?
24 окт 2021 в 18:36
24 окт 2021 в 18:37

Статья выглядит безграмотной, скорее всего на маршрутизаторе просто установлен свой маленький DNS-сервер, то есть пакеты точно так же уходят напрямую на DNS-сервер, а автор статьи не смог этого понять

24 окт 2021 в 18:39

@andreymal собственно, если подводить итог. В пакете DNS в поле пункта назначения всегда указан конечная точка всего маршрута — DNS Сервер, а в поле MAC-адреса пункта назначения — следующая точка в пути (в данном случае адрес роутера)? И в статье, получается, DNS Сервером является сам шлюз по умолчанию?

24 окт 2021 в 18:42

Да. Практически все домашние роутеры являются (кэширующими) dns серверами и анонсируют по DHCP себя в качестве DNS сервера. (При дефолтных настройках)

Почему Wireshark не видит пакетов других устройств в сети?

Запускаю, значит, акулу (будем так называть) от имени суперюзера. Интерфейс выбираю wlan0 (им я подключен к точке доступа). Телефон тоже подключен, когда я на нем (телефоне) вводил ifconfig, то узнал, то он имеет IP 192.168.0.17 (в ноута последняя цифра — 16).

Но акула не видит ни одного пакета до/из телефона, в то время, так я с него открываю сайтики всякие. Что сделать, чтобы видеть все пакеты от/до всех устройств в сети?

  • Вопрос задан более трёх лет назад
  • 25236 просмотров

1 комментарий

Оценить 1 комментарий

Diel

Tolik @Diel Автор вопроса

Как вариант — пользоватся монитором. Он то точно всё видит. Но вот проблема в том, что здесь есть какая-то шифровка (не передает же т/д с паролем траффик в «голом» виде). Поэтому юзать монитор это как ловить сейфы, которые никогда не откроешь.

Решения вопроса 2

karabanov

Системный администратор

. я подключен к точке доступа .

Вот если бы снифер был запущен на точке доступа вы бы увидели весь трафик всех устройств, а так вы увидите только трафик того устройства на котором запущен снифер, широковещательный трафик который слышат все устройства в сети и трафик который попал на ваше устройство по ошибке (но чтоб его увидеть надо сделать так как сказал @padla2k).

Сделайте из ноутбука точку доступа, подключите к нему телефон и слушайте трафик.

Ответ написан более трёх лет назад
Нравится 1 6 комментариев

Diel

Tolik @Diel Автор вопроса

Суть не в том, что бы слушать траффик телефона, а в том, что бы его вообще слушать. Пусть даже не свой;)

karabanov

Не свой просто так не послушать. Если только найдёте способ отзеркалить трафик на свой ноутбук и уже его будете слушать.

Diel

Tolik @Diel Автор вопроса

. например с того же телефона? Если на нем отлично работают проги, которые умеють делать MITM-атаки? Цытата (другой мой коммент в этом же вопросе): Как тогда обьяснить работу таких програм, как dSploit, DroidSheep, FaceNiff и др. под Android? Не думаю, что там такой крутой драйвер, то не отбрасывает чужих пакетов

karabanov

Ну да, переводят сетевуху в promiscuous mode и она принимает все пакеты, в том числе и те, что попали на неё по ошибке. Но всё равно это будет не весь трафик. Как послушать весь трафик я рассказал выше.

karabanov

А MITM эт да. Это можно. Но опять же вам придётся прикинуться роутером (ARP спуфинг поможет, да) и только тогда трафик жертвы пойдёт через ваш ноутбук.

Руководство и шпаргалка по Wireshark

Даже поверхностное знание программы Wireshark и её фильтров на порядок сэкономит время при устранении проблем сетевого или прикладного уровня. Wireshark полезен для многих задач в работе сетевого инженера, специалиста по безопасности или системного администратора. Вот несколько примеров использования:

Устранение неполадок сетевого подключения
  • Визуальное отображение потери пакетов
  • Анализ ретрансляции TCP
  • График по пакетам с большой задержкой ответа
Исследование сессий прикладного уровня (даже при шифровании с помощью SSL/TLS, см. ниже)
  • Полный просмотр HTTP-сессий, включая все заголовки и данные для запросов и ответов
  • Просмотр сеансов Telnet, просмотр паролей, введённых команд и ответов
  • Просмотр трафика SMTP и POP3, чтение писем
Устранение неполадок DHCP с данными на уровне пакетов
  • Изучение трансляций широковещательного DHCP
  • Второй шаг обмена DHCP (DHCP Offer) с адресом и параметрами
  • Клиентский запрос по предложенному адресу
  • Ack от сервера, подтверждающего запрос
Извлечение файлов из сессий HTTP
  • Экспорт объектов из HTTP, таких как JavaScript, изображения или даже исполняемые файлы
Извлечение файлов из сессий SMB
  • Аналогично опции экспорта HTTP, но извлечение файлов, передаваемых по SMB, протоколу общего доступа к файлам в Windows
Обнаружение и проверка вредоносных программ
  • Обнаружение аномального поведения, которое может указывать на вредоносное ПО
  • Поиск необычных доменов или конечных IP
  • Графики ввода-вывода для обнаружения постоянных соединений (маячков) с управляющими серверами
  • Отфильтровка «нормальных» данных и выявление необычных
  • Извлечение больших DNS-ответов и прочих аномалий, которые могут указывать на вредоносное ПО
Проверка сканирования портов и других типов сканирования на уязвимости
  • Понимание, какой сетевой трафик поступает от сканеров
  • Анализ процедур по проверке уязвимостей, чтобы различать ложноположительные и ложноотрицательные срабатывания

Установка Wireshark

Wireshark работает на различных операционных системах и его несложно установить. Упомянем только Ubuntu Linux, Centos и Windows.

Установка на Ubuntu или Debian

#apt-get update #apt-get install wireshark tshark

Установка на Fedora или CentOS

#yum install wireshark-gnome

Установка на Windows

На странице загрузки лежит исполняемый файл для установки. Довольно просто ставится и драйвер захвата пакетов, с помощью которого сетевая карта переходит в «неразборчивый» режим (promiscuous mode позволяет принимать все пакеты независимо от того, кому они адресованы).

Начало работы с фильтрами

С первым перехватом вы увидите в интерфейсе Wireshark стандартный шаблон и подробности о пакете.

Как только захватили сессию HTTP, остановите запись и поиграйте с основными фильтрами и настройками Analyze | Follow | HTTP Stream.

Названия фильтров говорят сами за себя. Просто вводите соответствующие выражения в строку фильтра (или в командную строку, если используете tshark). Основное преимущество фильтров — в удалении шума (трафик, который нам не интерестен). Можно фильтровать трафик по MAC-адресу, IP-адресу, подсети или протоколу. Самый простой фильтр — ввести http , так что будет отображаться только трафик HTTP (порт tcp 80).

Примеры фильтров по IP-адресам

ip.addr == 192.168.0.5 !(ip.addr == 192.168.0.0/24)

Примеры фильтров по протоколу

tcp udp tcp.port == 80 || udp.port == 80 http not arp and not (udp.port == 53)

Попробуйте сделать комбинацию фильтров, которая показывает весь исходящий трафик, кроме 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).

ip and not ip.geoip.asnum == 63949

Конечно, тот же фильтр можно применить к отдельным городам и странам. Удалите шум и оставьте только действительно интересный трафик.

Расшифровка сессий SSL/TLS

Один из способов расшифровки сессий SSL/TLS — использовать закрытый ключ с сервера, к которому подключен клиент.

Конечно, у вас не всегда есть доступ к приватному ключу. Но есть другой вариант простого просмотра трафика SSL/TLS на локальной системе. Если Firefox или Chrome загружаются с помощью специальной переменной среды, то симметричные ключи отдельных сеансов SSL/TLS записаны в файл, который Wireshark может прочитать. С помощью этих ключей Wireshark покажет полностью расшифрованную сессию!

1. Настройка переменной среды

export SSLKEYLOGFILE=~/sslkeylogfile.log

На вкладке 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 она выдаёт текст с табуляцией — он подходит для импорта в электронные таблицы или анализа в консоли.

test@ubuntu:~$ capinfos test.pcap File name: test.pcap File type: Wireshark/tcpdump/. - pcap File encapsulation: Ethernet File timestamp precision: microseconds (6) Packet size limit: file hdr: 262144 bytes Number of packets: 341 k File size: 449 MB Data size: 444 MB Capture duration: 3673.413779 seconds First packet time: 2018-12-01 11:26:53.521929 Last packet time: 2018-12-01 12:28:06.935708 Data byte rate: 120 kBps Data bit rate: 967 kbps Average packet size: 1300.72 bytes Average packet rate: 93 packets/s SHA256: 989388128d676c329ccdbdec4ed221ab8ecffad81910a16f473ec2c2f54c5d6e RIPEMD160: 0742b6bbc79735e57904008d6064cce7eb95abc9 SHA1: d725b389bea044d6520470c8dab0de1598b01d89 Strict time order: True Number of interfaces in file: 1

Заключение

Эта статья изначально была опубликована в 2011 году, затем серьёзно обновилась. Если у вас есть какие-либо комментарии, улучшения или советы для шпаргалки, пишите мне. Wireshark — один из тех незаменимых инструментов, который многие используют, но мало кто владеет в совершенстве. Тут можно углубляться всё дальше и дальше.

  • Информационная безопасность
  • Системное администрирование
  • Сетевые технологии
  • Софт

Wireshark для всех. Лайфхаки на каждый день

Пакет с сертификатами от Хабра

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

Wireshark в реальном времени перехватывает сетевые пакеты и сохраняет, например, в файлах pcap (Packet Capture). Их потом используют для изучения трафика, восстановления информации, анализа работы сети, обнаружения атак. Это альтернатива и дополнение к стандартной утилите tcpdump , с графическим интерфейсом, фильтрами и более широкими возможностями.

Практические варианты использования

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

Расшифровка трафика SSL/TLS

Chrome и Firefox могут записывать логи сессионных ключей, которые используются для шифрования трафика SSL/TLS. Наша задача — включить запись этих логов, а потом загрузить их в Wireshark для анализа. Предполагается, что у нас есть физический доступ к компьютеру пользователя, трафик которого мы хотим расшифровать. Или к серверу, который устанавливает зашифрованное соединение с пользователем.

Сначала включаем запись ключей.

Старые билды Windows 10

В старых билдах Windows 10 работает старый метод. Заходим в Панель управленияСистема и безопасностьСистема. На вкладке «Дополнительные параметры системы» нажимаем кнопку «Переменные среды».

Добавляем для пользователя новую переменную SSLKEYLOGFILE и указываем путь до файла.

В результате получаем логи с ключами, начало файла:

# SSL/TLS secrets log file, generated by NSS CLIENT_HANDSHAKE_TRAFFIC_SECRET 2f80c7dfd9f1bd5f4cf0084b9c814006178a06b820c5cab264f3727fac1abb23 dcfc82758fbb587e526daaab9fdc0bcaaab68e5706ba0512292dc55a627b8627 SERVER_HANDSHAKE_TRAFFIC_SECRET 2f80c7dfd9f1bd5f4cf0084b9c814006178a06b820c5cab264f3727fac1abb23 d807f4757db1f9ba8df434d8b0005d07e4987459c1d14c7ea793e4c4f5b240dc CLIENT_TRAFFIC_SECRET_0 2f80c7dfd9f1bd5f4cf0084b9c814006178a06b820c5cab264f3727fac1abb23 40186c6b1c925c63cd57e8fa235ba9d0bf14eb29c21cbb6494ef944e1e7a4cc3 SERVER_TRAFFIC_SECRET_0 2f80c7dfd9f1bd5f4cf0084b9c814006178a06b820c5cab264f3727fac1abb23 a0a377f26a0962eceae55bec94fcd7549d9b1d5d1e9b70c45627299ca2b9b129 EXPORTER_SECRET 2f80c7dfd9f1bd5f4cf0084b9c814006178a06b820c5cab264f3727fac1abb23 .

Новые билды Windows 10

В более новых версиях после установки Windows 10 старый способ добавления переменных окружения может больше не работать. Тогда есть альтернативный вариант с помощью команды в оболочке PowerShell.

[Environment]::SetEnvironmentVariable(«PATH», «C:\TestPath», «User»)

Первый параметр — это имя переменной, второй — значение, третий — для какого уровня переменная (пользовательский или системный).

[Environment]::SetEnvironmentVariable(«SSLKEYLOGFILE», «D:\wireshark», «User»)

Linux и Mac OS X

Под Linux и Mac OS X можно использовать такую команду для изменения переменной окружения и ведения логов — с запуском браузера из того же терминального окна, поскольку переменные окружения всегда работают в пределах одной сессии.

# export SSLKEYLOGFILE=/Users/username/sslkeylogs/output.log # open -a firefox # wireshark

После накопления лога запускаем Wireshark.

Заходим в «Параметры», там на вкладке «Протоколы» (Protocols) находим раздел TLS (раньше он назывался SSL) — и указываем путь к файлу с логами и ключом, который использовался в сессии симметричного шифрования: (Pre)-Master-Secret log filename.

Например, при заходе пользователя на сервер Gmail в окне инспектирования пакетов QUIC мы видим обычные пакеты QUIC, зашифрованные ключом TLS.

Но в нижней части экрана появляется новая вкладка Decrypted QUIC, которая показывает расшифрованное содержимое этих пакетов.

Такой метод расшифровки трафика клиента не требует установки Wireshark на его компьютер, достаточно только скачать дамп с ключами, а потом использовать его вместе с дампом трафика.

По современному российскому законодательству провайдеры обязаны некоторое время хранить трафик пользователей, в том числе зашифрованный трафик TLS/SSL. Теперь понятно, какой примерно механизм может использоваться для его расшифровки и анализа. Злоумышленник должен иметь сессионные ключи для симметричного шифрования. Крупнейшие российские интернет-компании типа «Яндекс» и Mail.ru послушно выполняют требования российского законодательства — и предоставляют эти ключи (см. приказ ФСБ № 432 от 12.08.2016 г. о порядке получения ключей шифрования).

Примечание. Этот способ не ограничен только HTTP. Точно так же можно перехватывать и расшифровывать трафик SSL/TLS в других потоках. Например, зашифрованный трафик от сервера MySQL.

Анализируем трафик с другого компьютера

Если нужно разобраться с сервером в продакшне, то удобно скопировать оттуда файлы pcap — и проанализировать трафик на личном компьютере.

Записываем пакеты на сервере с помощью сниффера пакетов tcpdump, который входит в стандартный комплект *nix:

tcpdump port 443 -w output.pcap

Затем копируем файлы к себе на компьютер:

scp host:~/output.pcap

Здесь уже запускаем Wireshark и открываем полученный файл.

Есть вариант отслеживать серверный трафик в реальном времени со своего домашнего/рабочего компьютера. Например, весь трафик, кроме портов 22 и 53:

ssh root@host tcpdump -U -s0 'not port 22 and not port 53' -w - | wireshark -k -I -

Примерно то же самое с компьютера под Windows:

plink.exe -ssh -pw password root@host "tcpdump -ni eth0 -s 0 -w - not port 22" | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -

Ищем проблемы

Чтобы выделить конкретное TCP-соединение, находим любой интересующий пакет, щёлкаем по нему правой кнопкой мыши — и применяем фильтр диалога.

Теперь из всего записанного трафика остались только пакеты, принадлежащие конкретно этому соединению.

На скриншоте мы видим пакеты с начала установки соединения TLS: пакет с приветствием клиента, ответный пакет с приветствием сервера, предъявленный сертификат, список шифров и так далее. Содержимое каждого пакета можно изучить отдельно. Очень удобно.

Типичный паттерн — использовать Wireshark для диагностики конкретных проблем. Например, в случае разрыва TLS-соединения мы можем зайти и посмотреть, кто его разорвал (клиент или сервер), на каком этапе это произошло и по какой причине.

Содержимое пакетов

Побайтовое содержимое каждого пакета — это настоящая магия. Конкретно эта функциональность Wireshark позволяет выявить самые серьёзные баги. Например, несколько лет назад выяснилось, что гигабитные Ethernet-контроллеры Intel 82574L отключаются, если отправить на них специально сконструированный пакет с определённой последовательностью байтов — так называемый «пакет смерти». Именно благодаря Wireshark выяснилось, какие конкретно байты в пакете приводят к гарантированному отключению сетевой карты.

Вот запись конкретных пакетов: pod-http-post.pcap и pod-icmp-ping.pcap. Можем их скачать, открыть в Wireshark и посмотреть своими глазами.

Отключение сетевого интерфейса Intel происходит, если по адресу 0x47f находится значение 2 или 3, то есть 32 HEX или 33 HEX. Если там 4, то всё нормально.

Для атаки подходил любой пакет: HTTP POST, ICMP echo-request и проч. Например, на веб-сервере можно сконфигурировать ответ 200 таким образом, что «убивает» сетевые интерфейсы на клиентских машинах. Довольно любопытная ситуация.

Поиск пакетов по содержанию

Выше мы применили фильтр диалога, чтобы выдать все пакеты для конкретного TCP-соединения. Однако фильтры можно писать и вручную. Вот некоторые примеры запросов:

  • frame contains «google» — поиск всех пакетов со словом “google” в любом месте пакета
  • tcp.port == 443 — порт 443
  • dns.resp.len > 0 — все DNS-ответы
  • ip.addr == 95.47.236.28 — конкретный IP-адрес для получателя или отправителя

Трафик с мобильного телефона

Аналогичным образом можно проанализировать трафик с фитнес-часов по Bluetooth или трафик любого мобильного приложения под Android. Для этого нужно записать пакеты PCAP на мобильном устройстве — и передать их для анализа в Wireshark на рабочем ПК.

Есть несколько мобильных программ для записи PCAP. Например, приложение
PCAPdroid для Android:

PCAPdroid

В принципе, можно не передавать записанные файлы PCAP, а анализировать их прямо на мобильном устройстве. В некоторых мобильных снифферах есть и зачаточные функции анализатора пакетов, см. Packet Capture и Termux (о нём ниже).

Packet Capture

Wireshark имеет и прямой интерфейс Androiddump, чтобы снимать данные с телефона напрямую через Android SDK.

Трафик с телевизора и других бытовых приборов

Чтобы изучить трафик с телевизора, смартфона жены или других бытовых приборов, которые подключены в домашнюю сеть по Ethernet и WiFi, придётся записывать PCAP на маршрутизаторе. Иногда достаточно встроенных инструментов. Если у вас маршрутизатор с прошивкой DD-WRT, то можно прямо на устройстве запустить tcpdump :

ssh root@192.168.1.1 -c "tcpdump -v -w - -i eth2" > mypackets.pcap

Для прошивки OpenWrt есть вариант зеркалировать трафик с помощью iptables-mod-tee.

Можно зеркалировать и записывать трафик с помощью дополнительного физического хаба или врезки в сеть. Подробнее см. в документации.

Другой способ — перехватить беспроводной трафик WiFi с помощью утилиты Airodump-ng без подключения к маршрутизатору. Но это больше подходит для анализа трафика на чужих хотспотах.

Далее всё по накатанной — загружаем файлы в Wireshark, запускаем фильтры.

Кстати, Wireshark поддерживает также анализ трафика USB: встроенный сниффер USBPcap и импорт пакетов из сторонних снифферов, таких как Npcap и RawCap.

Termshark

Если вы анализируете объёмные логи на удалённом сервере, но не хотите копировать всё на свою машину, может пригодиться Termshark — удобный пользовательский интерфейс в консоли для анализатора TShark, по внешнему виду напоминающий Wireshark.

Функции

  • Чтение файлов pcap и прослушивание трафика с активных интерфейсов в реальном времени (где разрешён tshark)
  • Фильтрация pcap или активных интерфейсов с помощью фильтров отображения Wireshark
  • Повторная сборка и инспектирование потоков TCP и UDP
  • Просмотр сетевых сеансов по каждому протоколу
  • Копирование выделенных пакетов из консоли в буфер обмена
  • Инструмент написан на языке Go, на каждой платформе компилируется в единый исполняемый файл: есть уже собранные версии для Linux, macOS, вариантов BSD, Android (termux) и Windows

Вот как выглядит версия под Android:

Wireshark как веб-приложение

Если по каким-то причинам вы не можете запустить Wireshark на локальной машине, можно воспользоваться облачным сервисом CloudShark, который сделан на удивление качественно.

Основная функция — совместная работа и публикация разборов пакетов по URL. Например, cloudshark.org/captures/05aae7c1b941. Файлы загружаются в облако и анализируются в браузере. Это нужно, если вы хотите спросить совета на форуме, поделиться информацией с коллегами или опубликовать разбор пакетов для широкой аудитории. Кстати, удобно использовать с мобильного телефона, ведь под Android есть приложения для захвата пакетов, а вот хорошего анализатора нет.

Сервис платный, есть 30-дневный пробный период.

В общем, Wireshark — просто фантастическая программа на все случаи жизни.

Кроме реальной практической пользы, анализатор даёт примерное представление о том, как работает фильтрация DPI у российских провайдеров. Там всё устроено примерно так же. Система в реальном времени сканирует трафик, фильтрует конкретно пакеты от Twitter — и замедляет их доставку пользователям на территории России. В частности, этим непотребством занимается Роскомнадзор с 10 марта 2021 года.

На правах рекламы

Если для работы необходим сервер в аренду на Linux или Windows, то вам однозначно к нам — активация услуги через минуту после оплаты!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *