Files
2025-10-01 22:55:09 +03:00

160 lines
6.7 KiB
Typst
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#set text(size: 1.3em)
// title
#align(center)[Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики]
\
\
\
#align(center)[Факультет инфокоммуникационных технологий]
#align(center)[Направление подготовки 11.03.02]
\
\
#align(center)[Практическая работа №5]
#align(center)[TCP-IP]
\
\
\
//#align(center)[Вариант 19]
\
\
\
\
\
\
\
#align(right)[Выполнил:]
#align(right)[Дощенников Никита Андреевич]
#align(right)[Группа: К3121]
#align(right)[Проверил:]
#align(right)[Антон Харитонов]
\
\
#align(center)[Санкт-Петербург]
#align(center)[2025]
#pagebreak()
// page 1
=== Цель.
Изучить принципы работы протоколов стека TCP/IP посредством анализа сетевого трафика в программе Wireshark, научиться собирать, фильтровать и интерпретировать пакеты различных протоколов, а также выявлять характеристики и особенности взаимодействий на разных уровнях модели TCP/IP.
=== Wireshark.
Чтобы остановить захват после 5 мегабайт и записать логи в файл, я выставил соответствующие настройки в разделе Capture -> Options и Capture -> Output.
#align(center)[#image("assets/1.png")]
Чтобы сохранять всю информацию в файл, в разделе Output я прописал соответствующий путь.
#align(center)[#image("assets/2.png")]
Проведем захват.
Чтобы определить узел с максимальной активностью по объему переданных данных, я в Statistics -> Endpoints отсортировал IPv4 по TxBytes.
#align(center)[#image("assets/3.png")]
Получилось 151.236.14.199.
Теперь определим самый активный TCP хост по количеству переданных пакетов. Для этого будем смотреть на те вхождения, которые в адресе отправителя имеют 192.168.1.86. Также отсортируем по Tx Bytes.
#align(center)[#image("assets/4.png")]
Получаем 42994.
Построим граф интенсивности трафика TCP, UDP. Переходим в Statistics -> I/O Graphs.
#align(center)[#image("assets/5.png")]
Построим диаграмму связей пакетов HTTPS. Для этого отфильтруем только порты 443 (`tcp.port == 443`). Затем Statistics -> Flow Graph ограничиваем по фильтру и в выпадающем меню выбираем TCP Flows.
#align(center)[#image("assets/6.png")]
Отфильтруем кадры Ethernet. Для этого применим фильтр `eth.src == 40:c2:ba:e2:91:e5`
#align(center)[#image("assets/7.png")]
Отфильтруем только широковещательные сообщения. (`eth.src == ff:ff:ff:ff:ff:ff`)
#align(center)[#image("assets/8.png")]
Как можно видеть, у меня не было найдено широковещательных сообщений.
=== ICMP.
Настроим брэндмауэр чтобы разрешить icmp запросы под windows. Создадим inbound rule чтобы пропускать пакеты по icmpv4.
#align(center)[#image("assets/9.png")]
#align(center)[#image("assets/10.png")]
#align(center)[#image("assets/11.png")]
Будем отправлять icmp запросы на 192.168.1.100 с 192.168.1.86.
#align(center)[#image("assets/12.png")]
Как видно на скриншоте запросы успешно принимаются.
Проверим MAC-адреса получателя и отправителя.
Для получателя:
#align(center)[#image("assets/13.png")]
#align(center)[#image("assets/15.png")]
#align(center)[#image("assets/16.png")]
Для отправителя:
#align(center)[#image("assets/14.png")]
Посмотрим содержимое пакетов.
#align(center)[#image("assets/17.png")]
Как видно по снимку экрана адреса совпадают с полученными ранее.
Выберем bbc.com, cnn.com, vogue.com в качестве зарубежных сми.
#align(center)[#image("assets/18.png")]
Получились следующие ip:
#align(center)[#table(columns: 2)[сми][ip][bbc.com][151.101.0.81][cnn.com][151.101.131.5][vogue.com][151.101.128.239]]
#align(center)[#image("assets/19.png")]
#align(center)[#image("assets/20.png")]
#align(center)[#image("assets/21.png")]
MAC адрес получателя всегда остается одним и тем же. Все отправляемые пакеты проходят через маршрутизатор, так как все узлы за пределами локальной сети.
=== TCP.
В качестве FTP сервера буду использовать ftp.gnu.org. Получим его адрес.
#align(center)[#image("assets/22.png")]
Включим перехват в Wireshark.
#align(center)[#image("assets/23.png")]
Рассмотрим три пакета:
#align(center)[#image("assets/24.png")]
#align(center)[#image("assets/25.png")]
#align(center)[#image("assets/26.png")]
#align(center)[#table(columns: 4)[поле][1][2][3][ip src][192.168.1.100][209.51.188.20][209.51.188.20][ip dst][209.51.188.20][192.168.1.100][192.168.1.100][src port \#][50659][21][21][dst port \#][21][50659][50659][\#][1][1][1][ackn \#][1][28][28][header len][20][20][20][window size][6780][502][502]]
Если применить фильтр `ftp and ip.addr == 209.51.188.20`, то можно получить только ftp пакеты.
#align(center)[#image("assets/27.png")]
=== Заключение.
В ходе работы я с помощью Wireshark изучил протоколы стека TCP/IP, научился перехватывать и фильтровать трафик, анализировать ICMP- и TCP-пакеты, определять активные узлы и порты. Практика закрепила понимание принципов взаимодействия устройств в сети и работы сетевых протоколов.