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