Лабораторная 3. Пакетные анализаторы трафика
Цель:
Приобрести навыки работы с пакетными анализаторами трафика
Задачи:
- Подключится к виртуальной машине на облачной платформе СПбГУТ
- Установить tcpdump
- Получить навыки работы c tcpdump
- Получить навыки работы c NetCat
- Получить навыки работы с 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:
-
Установка соединения TCP:
Чтобы установить соединение TCP с удаленным хостом и портом, вы можете использовать следующую команду:
nc <хост> <порт>
Например:
nc resds.ru 80
Это установит соединение с веб-сервером на порту 80.
- Слушание порта:
Вы можете использовать Netcat для создания простого сервера, который будет слушать определенный порт:
nc -l -p <порт>
Например:
nc -l -p 8080
Это создаст сервер, который прослушивает порт 8080 и выводит все полученные данные в стандартный вывод.
- Передача файлов:
Вы можете использовать Netcat для передачи файлов между компьютерами:
На одной стороне:
nc -l -p <порт> < файл
На другой стороне
nc <хост> <порт> > файл
Это позволит вам передавать данные через сеть и сохранять их в файле на удаленной стороне.
- Сканирование портов:
Netcat также может быть использован для сканирования портов на удаленном хосте, чтобы проверить, открыты ли определенные порты. Пример:
nc -z -v <хост> <начальный порт>-<конечный порт>
Например:
nc -z -v resds.ru 80-100
Это сканирует порты с 80 по 100 на хосте resds.ru.
Заданием NetCat
- Создайте текстовый файл с вашими ФИО и группой и переместите его на локальный пк(аудиторный)
Группа ИКТК-XY Иванов Иван Иванович Петров Петр Петрович
Задание
- Открыть консольный мультиплексор
- Запустить снятие трафика, с записью трафика в файл
http.pcap
- Разделить экран вертикально на половину
- Загрузить страницу, сделанную в первой лаб. работе
- Закончить снятие трафика
- Запустить снятие трафика, с записью трафика в файл
- Передать файл на локальный(аудиторный пк)
- Открыть файл в
wireshark
, отфильтровать для отображения только задействованных пакетов в передачи html страницы