This commit is contained in:
nik
2025-10-01 22:55:09 +03:00
parent 4d0ece634b
commit 74e98c37c4
591 changed files with 20286 additions and 0 deletions

View File

@@ -0,0 +1,159 @@
#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-пакеты, определять активные узлы и порты. Практика закрепила понимание принципов взаимодействия устройств в сети и работы сетевых протоколов.