Перейти к основному контенту

Лабораторная 3. Пакетные анализаторы трафика

Цель:

Приобрести навыки работы с пакетными анализаторами трафика

Задачи:

  1. Подключится к виртуальной машине на облачной платформе СПбГУТ
  2. Установить tcpdump
  3. Получить навыки работы c tcpdump
  4. Получить навыки работы c NetCat
  5. Получить навыки работы с Wireshark
Работа с анализатором пакетов tcpdump

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

Синтаксис tcpdump
tcpdump {опции} -i {название интерфейса} {Фильтры}
опции tcpdump
Ключ опции Что делает
-A Вывод пакетов в кодировке ASCI
-c n перехватить n пакетов
-C n создание дампа трафика определенного при размере, при генерации больше заданного создать новый файл для дампа, где n размер пакета по умолчанию указывается 1000000 байт

Добавив к значению суффикс k/K, m/M или g/G, единицу измерения можно изменить на 1,024 (КиБ), 1,048,576 (МиБ) или 1,073,741,824 (ГиБ) соответственно.
-D вывести список сетевых интерфейсов
-e выводить информацию уровня соединения для каждого пакета, это может быть полезно, например, для отображения MAC адреса
-n не отображать домены
-K не проверять контрольные суммы пакетов
-w {название дампа}.pcap запись вывода в файл
-r {название дампа}.pcap чтение дампа созданного с помощью ключа -w
-v -vv -vvv Более подробный вывод, желательно устанавливать -vvv, для дальнейшей работы
-q выводить минимум информации
Примеры работы с tcpdump

Просмотр всех интерфейсов

sudo tcpdump -D 

Просмотр всего трафика на интерфейсе eno0 с адресом назначения 8.8.8.8

sudo tcpdump -i eno0 ip dst 8.8.8.8

Название интерфейса брать из своей конфигурации

Просмотр всего трафика на интерфейсе eno0 с адресом отправки 8.8.8.8

sudo tcpdump -i eno0 ip src 8.8.8.8

Название интерфейса брать из своей конфигурации

Просмотр всего трафика на интерфейсе eno0 с доменным именем назначения resds.ru

sudo tcpdump -i eno0 dst host  resds.ru

Название интерфейса брать из своей конфигурации

Просмотр всего трафика на интерфейсе eth0 с доменном отправки resds.ru

sudo tcpdump -i eno0 dst host resds.ru

Название интерфейса брать из своей конфигурации

Просмотр трафика на интерфейсу eno0 с использованием 80 порта

sudo tcpdump -i eno0 port 80

Название интерфейса брать из своей конфигурации

Просмотр трафика на интерфейсе eth0 использующих диапазон портов 80-443

sudo tcpdump -i eth0 portrange 80-443

Также для некоторых протоколов существуют готовые фильтры к примеру можно отфильтровать все arp пакеты интерфейса eth0

sudo tcpdump -i eth0 arp

Возможно фильтрация по размеру пакета, так мы можем отфильтровать все пакеты меньше 64 байт

sudo tcpdump -i eth0 less 64

Фильтрация пакетов больше 64

sudo tcpdump -i eth0 greater 64

Сохранить весь udp трафик проходящий интерфейс eth0 в файл dump.pcap

sudo tcpdump -i eth0 udp -w dump.pcap

прочитать дамп dump.pcap

tcpdump -r dump.pcap

Использование NetCat

Netcat (или nc) является мощной сетевой утилитой командной строки, доступной на большинстве операционных систем, включая Linux, macOS и Windows. Netcat может выполнять множество различных сетевых задач, таких как чтение или запись данных через TCP или UDP, создание простых серверов или клиентов, а также выполнение портсканирования. Он иногда называется "свисающим вилкой" для сетевых соединений, потому что он может быть использован для создания различных типов сетевых соединений.

Вот несколько основных способов использования Netcat:

  1. Установка соединения TCP:

    Чтобы установить соединение TCP с удаленным хостом и портом, вы можете использовать следующую команду:

nc <хост> <порт>

Например:

nc resds.ru 80

Это установит соединение с веб-сервером на порту 80.

  1. Слушание порта:

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

nc -l -p <порт>

Например:

nc -l -p 8080

Это создаст сервер, который прослушивает порт 8080 и выводит все полученные данные в стандартный вывод.

  1. Передача файлов:

Вы можете использовать Netcat для передачи файлов между компьютерами:

На одной стороне:

nc -l -p <порт> < файл

На другой стороне

nc <хост> <порт> > файл

Это позволит вам передавать данные через сеть и сохранять их в файле на удаленной стороне.

  1. Сканирование портов:

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

nc -z -v <хост> <начальный порт>-<конечный порт>

Например:

nc -z -v resds.ru 80-100

Это сканирует порты с 80 по 100 на хосте resds.ru.

Заданием NetCat
  1. Создайте текстовый файл с вашими ФИО и группой и переместите его на локальный пк(аудиторный)
    Группа ИКТК-XY
    Иванов Иван Иванович
    Петров Петр Петрович
    

Задание

  1. Открыть консольный мультиплексор
    1. Запустить снятие трафика, с записью трафика в файл http.pcap
    2. Разделить экран вертикально на половину
    3. Загрузить страницу, сделанную в первой лаб. работе
    4. Закончить снятие трафика
  2. Передать файл на локальный(аудиторный пк)
  3. Открыть файл в wireshark, отфильтровать для отображения только задействованных пакетов в передачи html страницы