
# **Цель практической работы**
Целью данной практической работы является получение навыков базовой настройки сети с помощью IPv6, получение опыта работы с MAC-адресами, а также преобретение навыков установки Tor-browser.
Для достижения поставленной цели необходимо было ответить на следующие вопросы:
1. Объяснить структуру IPv6;
2. Что такое зарезервированные IPv6 адреса;
3. Что такое глобальные IPv6 адреса;
4. Как узнать IPv6 адрес сайта;
5. Как открыть IPv6 в веб-браузере;
6. Как в IPv6 посмотреть ARP таблицу;
7. Как настроить свою систему на работу с DNS по IPv6;
8. Как посчитать сколько IPv6 адресов в подсети;
9. Показать IPv6 маршрутов в локальной системе;
10. Как отключить и включить IPv6;
11. Как посмотреть настройки IPv6;
12. Ping между двумя linux машинками по ipv6;
13. Как настроить SSH для работы только с IPv6;
14. Что такое mac-адрес (продемонстрировать и пояснить);
15. Как в Windows по MAC-адресу определить производителя (продемонстрировать);
16. Как в Linux по MAC-адресу определить производителя устройства (продемонстрировать);
17. Как узнать свой MAC-адрес в Windows (продемонстрировать);
18. Как узнать свой MAC-адрес в Linux (продемонстрировать);
19. Как в Linux сделать так, чтобы MAC подменялся при каждом подключении (продемонстрировать);
- при соединении с одной и той же сетью использовался одинаковый MAC;
- каждый раз разные MAC даже для одних и тех же сетей;
20. Как установить определённый MAC (продемонстрировать);
21. Измените MAC-адрес с помощью iproute2 (продемонстрировать);
22. Как установить Tor-browser на Windows и Linux.
Для достижения максимального удобства в навигации было принято решение разбить отчёт по этой работе на три раздела, упомянутых в цели работы.
# **1 Настройка сети с IPv6**
IPv6 (Internet Protocol version 6) - это последняя версия Интернет-протокола, используемая для передачи данных в Интернете между устройствами.
Для того, чтобы научится основам работы с IPv6 дадим ответы на следующие вопросы (подпункты 1.1-1.13).
## **1.1 Объяснить структуру IPv6**
Адрес IPv6 состоит из 128 бит, которые разделены на восемь блоков (хекстетов) по 16 бит. Каждый блок преобразуется в четырёхзначные шестнадцатеричные числа. Блоки адреса разделены двоеточиями. Приведём пример адреса IPv6 (см. рис. 1.1), на котором помимо полного IPv6 адреса представлена его укороченная версия и преобразование в двоичную систему счисления.

Рисунок 1.1 - Пример адреса IPv6
## **1.2 Что такое зарезервированные IPv6 адреса?**
В архитектуре адресации были зарезервированы различные IP-адреса для различных специальных целей. Приведём таблицу с примерами зарезервированных IPv6 адресов (см. рис. 1.2).

Рисунок 1.2 - Таблица с зарезервированными IPv6 адресами
## **1.3 Что такое глобальные IPv6 адреса?**
Глобальные IPv6 адреса соответствуют публичным IPv4-адресам. Они могут находиться в любом не занятом диапазоне. В настоящее время региональные интернет-регистраторы распределяют блок адресов 2000::/3 (с 2000:: по 3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF). Это означает, что глобальными сейчас являются только IPv6 адреса, которые начинаются на «2» или на «3».
## **1.4 Как узнать IPv6 адрес сайта?**
Для того, чтобы узнать IPv6 адрес сайта, необходимо выполнить любое действие, представленное на рис. 1.3-1.8.

Рисунок 1.3 - Узнаём IPv6 сайта через команду nslookup на ОС Winsows

Рисунок 1.4 - Узнаём IPv6 сайта через команду nslookup на ОС Linux

Рисунок 1.5 - Узнаём IPv6 сайта через команду host на ОС Linux

Рисунок 1.6 - Узнаём IPv6 сайта через команду dig на ОС Linux (указываем запись АААА явно)

Рисунок 1.7 - Узнаём IPv6 сайта через команду dig на ОС Linux (вывод всех DNS записей домена)

Рисунок 1.8 - Узнаём IPv6 сайта через сайт https://suip.biz/ru/?act=dig
## **1.5 Как открыть IPv6 в веб-браузере?**
Для использования IPv6 адреса в URL его достаточно поместить в квадратные скобки. Запустим на Kali Linux веб-сервер apache2 и выполним к нему запрос через localhost IPv6 (см. рис. 1.9).

Рисунок 1.9 - Получаем доступ к веб-сервер apache2 с помощью IPv6 localhost
## **1.6 Как в IPv6 посмотреть ARP таблицу?**
Для вывода ARP таблицы IPv6 воспользуемся командами, представленной на рис. 1.10-1.11.

Рисунок 1.10 - Вывод ARP таблицы IPv6

Рисунок 1.11 - Вывод всей ARP таблицы (IPv6 и IPv4)
## **1.7 Как настроить свою систему на работу с DNS по IPv6?**
Чтобы настроить свою систему на работу с DNS по IPv6, необходимо открыть файл "/etc/resolv.conf" и добавить туда соответствующие записи (см. рис. 1.12).

Рисунок 1.12 - Настройка своей системы на работу с DNS по IPv6 (для google)
## **1.8 Как посчитать сколько IPv6 адресов в подсети?**
Для подсчета количества адресов в подсети можно воспользоваться формулой $2^{(128-X)}$. Здесь X - это длина маски.
Допустим, что у нас есть сеть 2604:A880::/32/32. Посчитаем количество адресов в этой сети.
Количество адресов в сети: $2^{128-32}=7,922816251*10^{28}$
## **1.9 Показать IPv6 маршрутов в локальной системе**
Чтобы вывести список всех IPv6 маршрутов в локальной системе, необходимо выполнить команду, представленную на рис. 1.13 или её сокращённый вариант "ip -6 ro". Если нужен только маршрут по умолчанию, то необходимо выполнить команду, представленную на рис. 1.14.

Рисунок 1.13 - Вывод списка IPv6 маршрутов

Рисунок 1.14 - Вывод маршрута по умолчанию для IPv6
## **1.10 Как отключить и включить IPv6?**
Для того, чтобы отключить IPv6 в Linux, необходимо ввести две команды, представленные на рис. 1.15. Данные настройки действуют до следующей перезагрузки компьютера. Чтобы сделать настройки постоянными, необходимо отредактировать файл "/etc/sysctl.d/sysctl.conf" (см. рис. 1.16).

Рисунок 1.15 - Отключение IPv6

Рисунок 1.16 - Делаем настройки постоянными
Чтобы сделанные изменения вступили в силу, необходимо ввести следующие команду "sysctl –p". Если нужно проверить, отключён ли IPv6 на уровне операционной системы или нет, то нужно воспользоваться следующими командами (см. рис. 1.17).

Рисунок 17 - Проверка, отключён ли IPv6 на уровне операционной системы (видно, что отключён, т.к. в выводе единица)
Для включение IPv6 нужно выполнить теже действия, только вместо единици необходимо прописывать ноль.
## **1.11 Как посмотреть настройки IPv6?**
Для просмотра текущих настроек IPv6 в Linux необходимо выполнить команду, указанную на рис. 1.18.

Рисунок 1.18 - Просмотра текущих настроек IPv6
## **1.12 Ping между двумя Linux машинками по IPv6**
Выволним ping между двумя Linux машинами. Для этого узнаем их ip-адреса (см. рис. 1.19-1.20) и проведём ping (см. рис. 1.21).

Рисунок 1.19 - Вывод ip-адреса машины №1

Рисунок 1.20 - Вывод ip-адреса машины №2

Рисунок 1.21 - Ping со второй машины на первую
## **1.13 Как настроить SSH для работы только с IPv6?**
Настройка SSH сервера выполняется в файле "/etc/ssh/sshd_config".
В системе может быть несколько сетевых интерфейсов с несколькими IP адресами, по умолчанию sshd прослушивает их все, в том числе IPv6 адреса (об этом нам сообщают следующие записи: ListenAddress 0.0.0.0 и ListenAddress ::). Если убрать запись ListenAddress 0.0.0.0, то будут прослушиваться только IPv6. Директивой ListenAddress также можено указать конкретный IP, который будет прослушиваться в ожидании подключений.
Опцией AddressFamily можно выбрать для прослушивания все адреса, только IPv4 или только IPv6 (any — любые адреса, inet - использовать только IPv4, inet6 - использовать только IPv6).
Выполним настройку конфигурационного файл, чтобы SSH-сервер работал по IPv6(см. рис. 1.22), перезапустим ssh демон и убедимся, что SSH-сервер функционирует (см. рис. 1.23). Далее выполним подключение (см. рис. 1.24).

Рисунок 1.22 - Содержимое файла "/etc/ssh/sshd_config" на SSH-сервере

Рисунок 1.23 - Проверка работоспособности SSH-сервера

Рисунок 1.24 - Подключение к SSH-серверу
# **2 MAC-адресация в Linux**
Чтобы понять, что такое MAC-адреса и научится работать с ними, ответим на следующие вопросы (см. подпункты 2.1-2.8).
## **2.1 Что такое mac-адрес (продемонстрировать и пояснить)?**
MAC-адрес (ещё называют физический адрес) – это уникальный идентификатор сетевого интерфейса в локальной сети. Одно устройство (компьютер, роутер) может иметь несколько сетевых интерфейсов (проводных и беспроводных) и, следовательно, иметь несколько MAC-адресов.
Пример MAC-адреса 50:46:5D:6E:8C:20, также распространены такие варианты записи как 50-46-5D-6E-8C-20 и 50465D6E8C20. Т.е. MAC-адрес состоит из шести пар символов (их называют октетами). В эти символы входят все цифры и буквы от A до F (набор символов шестнадцатеричной записи). Иными словами MAC-адрес состоит из 48 бит, которые объединяются в шесть октетов по 8 бит.
Первые три октета (бита) содержат уникальный идентификатор организации (OUI) или код MFG (Manufacturing, производителя), который производитель получает в IEEE. Т.е. они уникальны для каждого производителя сетевых устройств и каждый производитель, присваивая MAC-адрес своему сетевому устройству, начинает его со своих трёх октетов. Именно по ним, зная MAC-адрес, можно определить производителя. Последние три октета производитель присваивает произвольно и, в отличии от первых трёх, они должны быть уникальны для каждого сетевого интерфейса.
Необходимо также отметить, что в первом октете используется только 6 старших разрядов. Два младших разряда имеют специальное значение:
- нулевой бит - используется multicast или unicast;
- первый бит - говорит о том, глобальный ли MAC-адрес, или локальный.
Приведём наглядное описание структуры MAC-адреса (см. рис. 2.1).

Рисунок 2.1 - Структура MAC-адреса
## **2.2 Как в Windows по MAC-адресу определить производителя (продемонстрировать)?**
В Windows для определения вендора (производителя) устройства по MAC-адресу есть бесплатная программа MACAddressView. Для её скачивания нужно перейти по следующей ссылке https://www.nirsoft.net/utils/mac_address_lookup_find.html. После запуска программы, был вписан MAC-адрес сетевого интерфейса Kali Linux, который установлен на VirtualBox (см. рис. 2.2). По окончании работы, программа выдала следующий результат (см. рис. 2.3).

Рисунок 2.2 - Узнаём MAC-адрес интерфейса

Рисунок 2.3 - Определение производителя сетевого интерфейса по MAC-адресу с помощью программы MACAddressView на OC Windows
## **2.3 Как в Linux по MAC-адресу определить производителя устройства (продемонстрировать)?**
Для определения производителя по MAC-адресу в Linux необходима база с уникальными идентификаторами организаций (OUI). Она обычно уже присутствует в системах Linux, поскольку её используют различные программы. Проверим её наличие (см. рис. 2.4). Увидим, что база отсутствует, скачаем её (см. рис. 2.5) и посмотрим, что находится внутри скаченного файла (см. рис. 2.6).

Рисунок 2.4 - Проверка наличия базы с уникальными идентификаторами организаций (OUI)

Рисунок 2.5 - Скачиваем базу с уникальными идентификаторами организаций (OUI)

Рисунок 2.6 - Содержимое базы
Теперь подготовим файл, в который поместим скрипт (см. рис. 2.7). Скрипт будет искать совпадения в скаченной базе и выведет результат в консоль.

Рисунок 3.7 - Подготовка файла со скриптом
Запустим скрипт и передадим туда, в качестве аргумента, MAC-адрес. Результат работы скрипта представлен на рис. 2.8.

Рисунок 2.8 - Отображение информации о производители сетевого интерфейса
## **2.4 Как узнать свой MAC-адрес в Windows (продемонстрировать)?**
Чтобы узнать свой MAC-адрес в Windows, можно воспользоватся двумя командами (см. рис. 2.9-2.12). Команда "getmac" показывает краткую информацию о всех MAC-адресах системы, при этом не всегда просто сориентироваться, какому именно интерфейсу соответствует конкретный MAC-адрес. А команда "ipconfig /all" выводит более расширенную информацию о подключении, по ней можно сориентироваться, какой физический адрес (MAC) какому именно интерфейсу принадлежит.

Рисунок 2.9 - Вывод информации о MAC-адресах с помощью команды "getmac"

Рисунок 2.10 - Вывод информации о MAC-адресах с помощью команды "ipconfig /all" (часть 1)

Рисунок 2.11 - Вывод информации о MAC-адресах с помощью команды "ipconfig /all" (часть 2)

Рисунок 2.12 - Вывод информации о MAC-адресах с помощью команды "ipconfig /all" (часть 3)
## **2.5 Как узнать свой MAC-адрес в Linux (продемонстрировать)?**
В Linux есть несколько способов узнать свой MAC-адрес.
Если интересен только список адресов без дополнительных подробностей, то можно выполнить следующую команду (см. рис. 2.13).

Рисунок 2.13 - Вывод информации о MAC-адресах с помощью команды "cat /sys/class/net/*/address"
Чтобы вывести информацию о текущем значении MAC и постоянном MAC-адресе устройства, необходимо выполнить следующую команду (см. рис. 2.14). MAC-адрес располагается в строках, перед которыми стоит «link/ether». Если MAC-адрес был изменён, то текущее значение показывается после «link/ether», а постоянное значение после «permaddr».

Рисунок 2.14 - Вывод информации о MAC-адресах с помощью команды "ip link"
Чтобы вывести информацию о статусе соединений, в том числе MAC-адрес, необходимо выполнить следующую команду (см. рис. 2.15).

Рисунок 2.15 - Вывод информации о MAC-адресах с помощью команды "ip a"
Для того, чтобы узнать MAC-адрес беспроводных интерфейсов, требуется ввести команду, представленную на рис. 2.16.

Рисунок 2.16 - Вывод информации о MAC-адресах с помощью команды "iw dev"
Кроме то, можно узнать MAC-адрес с помощью утилиты nmap, которая просканирует одно устройство или сразу сеть и покажет параметры, в том числе и MAC-адрес. Пример показан на рис. 2.17.

Рисунок 2.17 - Вывод информации о MAC-адресах с помощью утилиты nmap
Следующие способ – это утилита arp-scan (см. рис. 2.18).

Рисунок 2.18 - Вывод информации о MAC-адресах с помощью утилиты arp-scan
## **2.6 Как в Linux сделать так, чтобы MAC подменялся при каждом подключении (продемонстрировать)?**
### **2.6.1 При соединении с одной и той же сетью используются одинаковые MAC-адреса**
Если мы хотим, чтобы при каждом подключении подменялся MAC-адрес, но при этом при соединении с одной и той же сетью использовался одинаковый MAC, то в файл "/etc/NetworkManager/conf.d/mac.conf" необходимо добавить следующие строки (см. рис. 2.19).

Рисунок 2.19 - Редактирование файла "/etc/NetworkManager/conf.d/mac.conf" для случая, когда необходимы одинакове MAC-адреса
Узнаем MAC-адрес интерфейса, переподключимся к то же сети и заметим, что MAC-адрес остался таким же. Если бы мы подключились к другой сети, то MAC-адрес поменялся.

Рисунок 2.20 - Демонстрация несменяемости MAC-адреса при переподключении к той же сети
### **2.6.2 При соединении с одной и той же сетью используются разные MAC-адреса**
Если мы хотим каждый раз разные MAC-адреса, то строки должны выглядеть так (см. рис. 2.21).

Рисунок 2.21 - Редактирование файла "/etc/NetworkManager/conf.d/mac.conf" для случая, когда необходимы разные MAC-адреса
Узнаем MAC-адрес интерфейса, переподключимся к то же сети и заметим, что MAC-адрес изменился.

Рисунок 2.22 - Демонстрация сменяемости MAC-адреса при переподключении к той же сети
## **2.7 Как установить определённый MAC (продемонстрировать)?**
Для того, чтобы установить определённый MAC-адрес необходимо выполнить команды, продемонстрированные на рис. 2.23.
Особенностью данного метода является то, что MAC меняется только после подключения к сети. До подключения к сетям у интерфейсов будут их исходные MAC-адреса. Кроме, возможно, Wi-Fi интерфейса, поскольку, как это уже описано ранее, для него по умолчанию установлен спуфинг MAC. Для отмены спуфинга, как сказано ранее, необходимо добавить 2 дополнительные строки.
Чтобы изменения вступили в силу перезапустим службу.

Рисунок 2.23 - Изменение MAC-адрес на конкретный
## **2.8 Измените MAC-адрес с помощью iproute2 (продемонстрировать)**
Для того, чтобы изменить MAC-адрес будет использована утилита ip, которая включена в пакет iproute2.
Начнём с проверки текущего MAC-адреса командой, представленной на рис. 2.24. В данный момент нас интересует часть, которая следует после «link/ether» и представляет 6-байтовый номер.

Рисунок 2.24 - Проверка текущего MAC-адреса (интерфейс включён)
Первый шаг для спуфинга MAC адреса – это перевести интерфейс в состояние down. Это выполняется командой, представленной на рис. 2.25.

Рисунок 2.25 - Выключение интерфейса
Далее мы переходим непосредственно к спуфингу MAC. Можно использовать любое шестнадцатеричное значение, но некоторые сети могут быть настроены не назначать IP адреса клиентам, чей MAC-адрес не соответствует какому-либо известному вендору (производителю). В этих случаях, чтобы мы могли успешно подключиться к сети, необходимо использовать префикс MAC любого реального вендора (первые три байта) и использовать произвольные значения для последующих трёх байт. Для изменения MAC нам нужно запустить слудующую команду (см. рис. 2.26).

Рисунок 2.26 - Изменение MAC-адреса
Последним шагом мы возвращаем интерфейс в состояние up. Это можно выполнить командой, представленной на рис. 2.27.

Рисунок 2.27 - Включение интерфейса
# **3 Tor**
Tor Browser (сокр. от англ. The Onion Router) — свободное и открытое программное обеспечение для реализации второго (V2) и третьего (V3) поколения так называемой луковой маршрутизации. Это система прокси-серверов, позволяющая устанавливать анонимное сетевое соединение, защищённое от прослушивания. Установим Tor-browser на Windows и Linux (см. подпункты 3.1-3.2).
## **3.1 Установка и запуск Tor-browser на Windows**
Первым делом необходимо установить VPN подключение и скачать установщик Tor-browser для Windows с официального сайта https://www.torproject.org/ru/download/ (см. рис. 3.1).

Рисунок 3.1 - Веб-страничка упомянутой выше ссылки
Далее запустим установщик через PowerShell, установим браузер и запустим его (см. рис. 3.2-3.6).

Рисунок 3.2 - Запуск установщика через PowerShell

Рисунок 3.3 - Выбор места установки браузера

Рисунок 3.4 - Процесс установки

Рисунок 3.5 - Окончание установки

Рисунок 3.6 - Автоматически запущеный Tor-browser, после окончания установки
Теперь закроем браузер и запустим его через PowerShell (см. рис. 3.7).

Рисунок 3.7 - Запуск Tor-browser через PowerShell
## **3.2 Установка и запуск Tor-browser на Linux**
Для того, чтобы установить и запуск Tor-browser на виртуальной машине Linux, необходимо выполнить следующие действия:
- удостовериться, что на хостовой системе работает vpn;
- установить следующий тип подключения сети на виртуальной машине Linux: NAT;
- открыть браузер на виртуальной машине Linux и перейти по ссылке из предыдущего пункта (см. рис. 3.8);
- скачать Tor-browser для Linux (см. рис. 3.9);
- разархивировать материалы из скаченного архива (см. рис. 3.10-3.11);
- запустить Tor-browser (см. рис. 3.12-3.13).

Рисунок 3.8 - Веб-страничка с ссылкой на скачивание Tor-browser

Рисунок 3.9 - Процесс загрузки Tor-browser для Linux

Рисунок 3.10 - Нажимаем кнопку "Extact Here"

Рисунок 3.11 - Процесс разархивации

Рисунок 3.12 - Запуск Tor-browser

Рисунок 3.13 - Запущеный Tor-browser
# **Заключение**
Таким образом, в результате выполнения практической работы были даны ответы на все упомянутые, в цели работы, вопросы.
Были полученены навыки базовой настройки сети с помощью IPv6, получен опыт работы с MAC-адресами, а также преобретены навыки установки Tor-browser на Windows и Linux.
Приобретённые знания по IPv6 и MAC-адресам помогут в дальнейшем выполнять серьёзные кейсы по настройке сети, а с помощью Tor-браузера можно будет устанавливать анонимное сетевое соединение, защищённое от прослушивания.