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