Astra linux wireshark установка

Администрирование систем Linux. Перехват сетевого трафика

Глава 23. Перехват сетевого трафика

Администратор сети должен уметь работать со сниффером, таким, как wireshark или tcpdump , для диагностирования проблем сети.

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

23.1. Приложение wireshark

23.1.1. Установка wireshark

В данном примере приведена команда для установки приложения wireshark в дистрибутивах, использующих пакеты программного обеспечения с расширением .deb (включая Debian, Mint, Xubuntu и другие дистрибутивы).

В дистрибутивах, использующих пакеты программного обеспечения с расширением .rpm , таких, как CentOS, RHEL и Fedora, для установки приложения wireshark может использоваться утилита yum .

23.1.2. Выбор сетевого интерфейса

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

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

Или же вы можете последовать общим рекомендациям и использовать утилиту tcpdump или какой-либо другой инструмент для перехвата трафика и записи данных в файл. Любые перехваченные данные могут быть проанализированы позднее с помощью приложения wireshark .

23.1.3. Минимизация трафика

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

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

И все же более важным инструментом для минимизации трафика являются фильтры , которые будут обсуждаться в следующем разделе.

23.1.4. Перехват трафика, генерируемого утилитой ping

Я запустил сниффер и захватил все пакеты, переданные по сети в результате исполнения трех команд ping (не имеет смысла выполнять эти команды от лица пользователя root):

В общей сложности из сети было захвачено более чем 200 пакетов. Все станет гораздо очевиднее в том случае, если введете строку icmp в поле фильтра и нажмете кнопку «Применить» («Apply»).

23.1.5. Перехват трафика, генерируемого утилитой ping и клиентом dns

Работая с той же сессией захвата данных, применим отличный фильтр . Мы хотим отслеживать трафик, относящийся как к протоколу dns , так и к протоколу icmp , поэтому нам придется ввести названия двух упомянутых протоколов в поле фильтра.

Для захвата данных, относящихся к двум рассматриваемым протоколам, в поле фильтра должна быть введена строка «dns or icmp» . В случае ввода строки «dns and icmp» не будет выведено информации о каких-либо пакетах, так как не существует пакетов, относящихся к обоим упомянутыми протоколам.

При рассмотрении приведенной выше иллюстрации можно заметить, что пакеты 25 и 26 имеют исходные и целевые IP-адреса 10.104.33.30. Это объясняется тем, что клиент DNS работает на том же компьютере, что и сервер DNS.

Читайте также:  Как проверить характеристики линукс

Аналогичная ситуация наблюдается и в случае пакетов 31 и 32, ведь с помощью утилиты ping осуществляется отправка пакетов рабочей системе, на которой запущена данная утилита.

23.1.6. Определенный IP-адрес

В данном случае осуществляется фильтрация пакетов, относящихся к протоколу DNS и содержащих определенный IP-адрес . В качестве фильтра используется строка «ip.addr==10.104.33.30 and dns» . Директива and сообщает приложению о том, что следует выводить информацию о каждом пакете, соответствующем двум условиям.

Пакет 93 содержит запрос DNS , направленный на получение записи типа A домена linux-training.be. Пакет 98 содержит ответ от сервера DNS . Как вы думаете, что происходило после отправки пакета 93 и до приема пакета 98? Попытайтесь ответить на этот вопрос перед чтением следующего раздела (при работе с различными системами всегда полезно пытаться предсказывать наступающие события и проверять корректность своих предсказаний).

23.1.7. Фильтрация на основе фреймов

Корректным термином, используемым для обозначения перехваченного пакета , является термин фрейм (из-за того, что мы осуществляем перехват пакетов на уровне 2 сетевой модели OSI). Таким образом, для вывода информации о пакетах с определенными номерами, следует использовать директиву frame.number в поле фильтра.

23.1.8. Исследование содержимого пакетов

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

На иллюстрации ниже показана средняя панель окна сниффера с выбранным адресом моего ноутбука.

Учтите, что описанная выше техника отлично работает при перехвате трафика, передаваемого через один сетевой интерфейс. Если же вы перехватываете трафик, к примеру, с помощью команды tcpdump -i any , вы столкнетесь с методом перехвата пакетов «Linux cooked capture» .

23.1.9. Другие примеры фильтров

Вы можете комбинировать два описания протоколов с помощью директивы логической операции or («ИЛИ»), расположенной между ними. На иллюстрации ниже показан способ захвата исключительно пакетов, относящихся к протоколам ARP и BOOTP (или DHCP ).

А на следующей иллюстрации показан способ перехвата пакетов, относящихся к протоколу DNS и содержащих определенный IP-адрес .

23.2. Утилита tcpdump

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

При использовании команды tcpdump host $ip будет выводиться информация обо всем трафике, относящимся к определенному узлу (в данном случае с IP-адресом 192.168.1.38).

Перехват трафика, относящегося исключительно к протоколу ssh (протокол TCP, порт 22), может осуществляться с помощью команды tcpdump tcp port $порт . Длина строк вывода урезана до 76 символов для более удобного чтения.

Та же операция, но с записью захваченных данных в файл, может осуществляться с помощью команды tcpdump -w $имя_файла .

С помощью команды tcpdump -r $имя_файла может быть выведено содержимое файла, созданного в предыдущем примере.

Множество других примеров использования рассматриваемой утилиты может быть найдено на странице руководства man tcpdump .

23.3. Практическое задание: перехват сетевого трафика

1. Установите приложение wireshark в вашу систему (работающую не в виртуальной машине).

2. Используйте утилиту ping генерации трафика между вашим и каким-либо другим компьютером.

3. Начните перехват сетевого трафика.

4. С помощью фильтра осуществите вывод информации исключительно о тех пакетах, которые содержат ответы на запросы от утилиты ping.

5. Теперь передайте утилите ping имя домена (такое, как www.linux-training.be) и попытайтесь перехватить пакеты с запросом и ответом DNS. Какой DNS-сервер был использован? Был ли использован протокол TCP или UDP для передачи запроса и ответа?

6. Найдите закрытый вебсайт, имеющий форму запроса пароля. Попытайтесь войти на него, использовав имя пользователя ‘paul’ и пароль ‘hunter2’ в процессе работы сниффера. Теперь попытайтесь найти введенные имя пользователя и пароль в захваченных с помощью сниффера данных.

Читайте также:  Что случилось с обновлениями windows

23.4. Корректная процедура выполнения практического задания: перехват сетевого трафика

1. Установите приложение wireshark в вашу систему (работающую не в виртуальной машине).

В дистрибутивах Debain/Ubuntu: aptitude install wireshark

В дистрибутивах Red Hat/Mandriva/Fedora: yum install wireshark

2. Используйте утилиту ping генерации трафика между вашим и каким-либо другим компьютером.

3. Начните перехват сетевого трафика.

Выберите сетевой интерфейс (вероятно, eth0)

4. С помощью фильтра осуществите вывод информации исключительно о тех пакетах, которые содержат ответы на запросы от утилиты ping.

Введите ‘icmp’ (без кавычек) в поле фильтра и нажмите кнопку «Применить» («Apply»).

5. Теперь передайте утилите ping имя домена (такое, как www.linux-training.be) и попытайтесь перехватить пакеты с запросом и ответом DNS. Какой DNS-сервер был использован? Был ли использован протокол TCP или UDP для передачи запроса и ответа?

В первую очередь запустите сниффер.

Введите ‘dns’ в поле фильтра и нажмите кнопку «Применить» («Apply»).

Окно приложения wireshark должно выглядеть аналогичным образом.

На основе информация из окна приложения wireshark можно сделать вывод о том, что запрос DNS передавался с помощью пакета UDP, после чего несложно дать ответы на поставленные вопросы.

6. Найдите закрытый вебсайт, имеющий форму запроса пароля. Попытайтесь войти на него, использовав имя пользователя ‘paul’ и пароль ‘hunter2’ в процессе работы сниффера. Теперь попытайтесь найти введенные имя пользователя и пароль в захваченных с помощью сниффера данных.

Источник

Установите и используйте Wireshark в Ubuntu Linux

Wireshark — это бесплатный анализатор сетевых протоколов с открытым исходным кодом, широко используемый во всем мире.

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

Он доступен во всех основных настольных операционных системах, таких как Windows, Linux, macOS, BSD и других.

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

Установка Wireshark в дистрибутивах Linux на основе Ubuntu

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

Wireshark доступен в репозитории «Universe» Ubuntu. Вы можете подключить этот репозиторий и затем установить его с помощью этих команд:

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

Например, в Ubuntu 18.04, если вы используете команду apt для проверки доступной версии Wireshark, это будет версия 2.6.

Тогда как стабильная версия Wireshark 3.2 была выпущена несколько месяцев назад. А новый релиз, конечно, приносит новые возможности.

Итак, что вы делаете в таком случае? К счастью, разработчики Wiresshark предоставляют официальный PPA, который вы можете использовать для установки последней стабильной версии Wireshark в Ubuntu и других дистрибутивах на основе Ubuntu.

Я надеюсь, что вы знакомы с PPA. Если нет, пожалуйста, прочитайте наше превосходное руководство по PPA, чтобы разобраться в этом вопросе до конца.

Откройте терминал и используйте следующие команды одну за другой:

Даже если у вас установлена ​​достаточно старая версия Wireshark, она будет обновлена ​​до более новой версии.

Во время установки вам будет предложено разрешить не-суперпользователям перехватывать пакеты. Выберите «Да», чтобы разрешить, или «Нет», чтобы запретить не-суперпользователям захватывать пакеты, после этого завершите установку.

Читайте также:  List local user windows

Запуск Wireshark без sudo

Если вы выбрали «Нет» в предыдущей установке, выполните следующую команду от имени пользователя root:

И выберите «Да», используя клавишу табуляции и затем клавишу ввода:

Поскольку вы разрешили не-суперпользователю перехватывать пакеты, вы должны добавить пользователя в группу wireshark. Используйте команду usermod, чтобы добавить себя в группу wireshark.

Наконец, перезапустите систему Ubuntu, чтобы внесенные изменения вступили в силу.

Забавный факт:

Впервые выпущенный в 1998 году, Wireshark изначально был известен как Ethereal. Разработчикам пришлось изменить его название на Wireshark в 2006 году из-за проблем с товарными знаками.

Запуск Wireshark

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

Чтобы начать с CLI, просто введите wireshark в вашей консоли:

В графическом интерфейсе, напишите Wireshark в строке поиска и нажмите Enter.

Теперь давайте поиграем с Wireshark.

Захват пакетов с помощью Wireshark

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

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

Например, я перечислил только проводные сетевые интерфейсы.

Затем, чтобы начать захват пакетов, вы должны выбрать интерфейс (в моем случае это ens33) и щелкнуть значок «Начать захват пакетов», как показано на рисунке ниже.

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

Затем я попытался использовать команду ping google.com в терминале, и, как вы можете видеть, захватил много пакетов.

Теперь вы можете выбрать любой пакет для проверки. После нажатия на конкретный пакет вы можете увидеть информацию о различных уровнях протокола TCP / IP, связанных с ним.

Вы также можете увидеть RAW-данные этого конкретного пакета внизу, как показано на рисунке ниже.

Вот почему так важно сквозное шифрование

Представьте, что вы заходите на сайт, который не использует HTTPS. Любой в той же сети, что и вы, может перехватывать ваши пакеты, видеть имя пользователя и пароль в данных RAW.

Вот почему большинство приложений для чатов используют сквозное шифрование, и большинство веб-сайтов в наши дни используют https (вместо http).

Остановка захвата пакета в Wireshark

Вы можете нажать на красный значок, как отмечено на данном изображении, чтобы прекратить захват пакетов Wireshark.

Сохранить захваченные пакеты в файл

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

Примечание: вывод можно экспортировать в XML, PostScript®, CSV или обычный текст.

Затем выберите папку назначения, введите имя файла и нажмите «Сохранить».

Потом выберите файл и нажмите «Открыть».

Теперь вы можете открывать и анализировать сохраненные пакеты в любое время. Чтобы открыть файл, нажмите \ + o или перейдите в File > Open из интерфейса Wireshark.

Захваченные пакеты будут загружены из файла.

Заключение.

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

Я надеюсь, что это руководство помогло вам установить Wireshark в Ubuntu. Пожалуйста, дайте мне знать, если у вас остались вопросы или появились предложения.

Источник

Оцените статью