что такое arp протокол
Что такое ARP? Объясняем на пальцах
Powered by модель OSI
ARP-протокол
Многие называют его протоколом «2,5 уровня»: ARP должен работать поверх уровня ethernet (это условие выполняется), но поверх ARP должен работать хотя бы один протокол сетевого уровня. Однако в ARP не инкапсулируется ни один из протоколов третьего уровня модели OSI. Таким образом получается подобие уровня 2.5, что-то среднее между канальным и сетевым.
Что за ARP-таблица?
Здесь можно обратить внимание на широковещательный адрес ( broadcast ). Поле «адрес назначения Ethernet» заполняется единицами ( ff:ff:ff:ff:ff:ff ). Коммутатор, получив такой широковещательный фрейм, отправляет его всем компьютерам сети, как бы обращаясь ко всем с вопросом: «если Вы владелец этого ip адреса (ip адреса назначения), пожалуйста сообщите мне Ваш mac адрес».
Как это работает?
Один из хостов, которые получили этот широковещательный пакет, видит, что IP-адрес принадлежит ему. И в ответ шлет свой MAC-адрес. Соответственно запись связки IP-MAC заносится в ARP-таблицу. В следующий раз, понятное дело, это операция (для конкретного устройства с этим IP) уже не понадобится.
Наглядно:
Итак. у нас есть два ПК1 и ПК2. Придумаем им IP и MAC-адрес
Давайте из ПК1 запустим команду Ping
ping 192.168.1.2
Pinging 192.168.1.2 with 32 bytes of data:
Reply from 192.168.1.2: bytes=32 time=15ms TTL=57
Reply from 192.168.1.2: bytes=32 time=15ms TTL=57
Reply from 192.168.1.2: bytes=32 time=14ms TTL=57
Reply from 192.168.1.2: bytes=32 time=17ms TTL=57
Ping statistics for 192.168.1.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 14ms, Maximum = 17ms, Average = 15ms
Это очень краткое и поверхностное изложение протокола ARP — далеко не все аспекты работы лежат на поверхности. Дальше — самостоятельная работа. Stay Tuned!
Протокол ARP: как он работает и почему это так важно
Что такое протокол ARP?
Как работает ARP
Так как же именно работает протокол ARP? Какие шаги необходимы? Допустим, мы подключили к сети новый компьютер или любое устройство. Этот компьютер, чтобы подключиться к маршрутизатору, получит уникальный IP-адрес. Это важно для общения и возможности идентифицировать себя.
Освободи Себя пакеты данных будут направлены на конкретный хост. Шлюз или оборудование в сети разрешат поток данных и попросят протокол ARP найти MAC-адрес, соответствующий этому IP-адресу.
Имейте в виду, что эта информация кэшируется, поэтому этот шаг выполняется в первый раз. Оттуда ARP-кеш ведет список с различными IP-адресами и соответствующими MAC-адресами.
В качестве данных для добавления пользователь сам может создать статическая таблица ARP где хранить эти IP- и MAC-адреса. Но динамически этот кеш ARP хранится в операционных системах в сети IPv4 Ethernet. Как только устройство будет запрашивать MAC-адрес для отправки данных на любой другой компьютер, подключенный к этой сети, кеш ARP будет проверен. Если он существует, нет необходимости делать новый запрос.
Следует также отметить, что кеш ARP не бесконечен, как раз наоборот. Он ограничен по размеру, и адреса кэшируются только на короткое время. Это необходимо для освобождения места, а также для предотвращения кибератак, которые могут украсть или подделать адреса.
Как они могут атаковать ARP
ARP-спуфинг
Этот тип атаки позволяет хакеру украсть важные данные у любого отдельного пользователя или компании в случае успешной атаки. Они могут сделать это через устройство, которое они ранее атаковали и контролировали, или даже через свое собственное, если оно подключено к локальной сети.
DoS атаки
Эта проблема приведет к тому, что пользователи не смогут подключиться к сети. Чтобы это произошло, они должны использовать уязвимость в сетевом протоколе. Они могут на время лишить их возможности правильно подключиться. Это похоже на атаки этого типа, которые мы можем наблюдать, например, на веб-сервер, который больше не доступен для посетителей.
Как только злоумышленник успешно использует протокол ARP, он может выполнить DDoS или распределенные атаки отказа в обслуживании. Вы можете засыпать сервер большим количеством запросов и не иметь возможности правильно их обработать.
Короче говоря, протокол ARP используется для преобразования адресов IPv4 в MAC. Для этого он использует таблицы ARP, чтобы найти соответствующие адреса и связать их. Это позволяет переводить адреса и находить устройства. Например, необходимо подключить компьютер к маршрутизатору. Чтобы избежать всего этого, о чем мы говорим, важно, чтобы мы всегда поддерживали безопасность, чтобы у нас были защищенные сети и мы всегда были начеку, чтобы как можно скорее обнаружить любую попытку вторжения.
Протокол ARP
Что такое протокол ARP?
В TCP/IP не рассматриваются технологии канального и физического уровней, при реальной передаче данных все равно приходится отображать IP адрес на адрес канального уровня.
В сети Ethernet для идентификации источника и получателя информации используются IP и MAC адреса. Информация, пересылаемая от одного компьютера другому по сети, содержит в себе физический адрес отправителя, IP-адрес отправителя, физический адрес получателя и IP-адрес получателя. ARP-протокол обеспечивает связь между этими двумя адресами, поскольку эти два адреса никак друг с другом не связаны.
Непосредственно связь между IP адресом и MAC адресом осуществляется с помощью так называемых ARP-таблиц, где в каждой строке указывается соответствие IP адреса MAC адресу.
Пример ARP-таблицы в ОС Windows представлен на рисунке.
В ARP-таблице, помимо IP и MAC адреса, еще указывается тип связи, существует два типа записей:
В IPv6 функциональность ARP обеспечивает протокол NDP (Neighbor Discovery Protocol Протокол Обнаружения Соседей).
Существует четыре типа ARP-сообщений:
Структура заголовка ARP
Рассмотрим структуру заголовка ARP запроса (request) на примере перехваченного пакета с помощью сетевого анализатора Wireshark
Рассмотрим структуру заголовка ARP ответа (reply) на примере перехваченного пакета с помощью сетевого анализатора Wireshark
Протокол ARP и «с чем его едят» (дополнено)
Спасибо хабраюзеру hardex за публикацию первоначальной статьи, а также всем, кто плюсанул в карму для возможности моей собственноручной публикации. Теперь дополненная версия с учетом пожеланий и дополнений. Добро пожаловать под кат.
Доброго времени суток, дорогие хабраюзеры. Этой статьей я хочу начать цикл повествования о протоколах, которые помогают нам прозрачно, быстро и надежно обмениваться информацией. И начать с протокола ARP.
Как известно, адресация в сети Internet представляет собой 32-битовую последовательность 0 и 1, называющихся IP-адресами. Но непосредственно связь между двумя устройствами в сети осуществляется по адресам канального уровня (MAC-адресам).
Так вот, для определения соответствия между логическим адресом сетевого уровня (IP) и физическим адресом устройства (MAC) используется описанный в RFC 826 протокол ARP (Address Resolution Protocol, протокол разрешения адресов).
ARP состоит из двух частей. Первая – определяет физический адрес при посылке пакета, вторая – отвечает на запросы других станций.
Протокол имеет буферную память (ARP-таблицу), в которой хранятся пары адресов (IP-адрес, MAC-адрес) с целью уменьшения количества посылаемых запросов, следовательно, экономии трафика и ресурсов.
Пример ARP-таблицы.
192.168.1.1 08:10:29:00:2F:C3
192.168.1.2 08:30:39:00:2F:C4
Слева – IP-адреса, справа – MAC-адреса.
Прежде, чем подключиться к одному из устройств, IP-протокол проверяет, есть ли в его ARP-таблице запись о соответствующем устройстве. Если такая запись имеется, то происходит непосредственно подключение и передача пакетов. Если же нет, то посылается широковещательный ARP-запрос, который выясняет, какому из устройств принадлежит IP-адрес. Идентифицировав себя, устройство посылает в ответ свой MAC-адрес, а в ARP-таблицу отправителя заносится соответствующая запись.
Записи ARP-таблицы бывают двух вид видов: статические и динамические. Статические добавляются самим пользователем, динамические же – создаются и удаляются автоматически. При этом в ARP-таблице всегда хранится широковещательный физический адрес FF:FF:FF:FF:FF:FF (в Linux и Windows).
Создать запись в ARP-таблице просто (через командную строку):
Вывести записи ARP-таблицы:
После добавления записи в таблицу ей присваивается таймер. При этом, если запись не используется первые 2 минуты, то удаляется, а если используется, то время ее жизни продлевается еще на 2 минуты, при этом максимально – 10 минут для Windows и Linux (FreeBSD – 20 минут, Cisco IOS – 4 часа), после чего производится новый широковещательный ARP-запрос.
Сообщения ARP не имеют фиксированного формата заголовка и при передаче по сети инкапсулируются в поле данных канального уровня
Формат сообщения ARP.
А вот как происходит определение маршрута с участием протокола ARP.
Пусть отправитель A и получатель B имеют свои адреса с указанием маски подсети.
Главным достоинством проткола ARP является его простота, что порождает в себе и главный его недостаток – абсолютную незащищенность, так как протокол не проверяет подлинность пакетов, и, в результате, можно осуществить подмену записей в ARP-таблице (материал для отдельной статьи), вклинившись между отправителем и получателем.
Бороться с этим недостатком можно, вручную вбивая записи в ARP-таблицу, что добавляет много рутинной работы как при формировании таблицы, так и последующем ее сопровождении в ходе модификации сети.
Существуют еще протоколы InARP (Inverse ARP), который выполняет обратную функцую: по заданному физическому адресу ищется логический получателя, и RARP (Reverse ARP), который схож с InARP, только он ищет логический адрес отправителя.
В целом, протокол ARP универсален для любых сетей, но используется только в IP и широковещательных (Ethernet, WiFi, WiMax и т.д.) сетях, как наиболее широко распространенных, что делает его незаменимым при поиске соответствий между логическими и физическими адресами.
Что такое протокол определения адреса (ARP)?
Протокол определения адреса (ARP) — это протокол или процедура, которая соединяет постоянно изменяющийся адрес интернет-протокола (IP) с фиксированным физическим адресом оборудования, также известным как адрес контроля доступа к медиаинформации (MAC), в локальной сети (LAN).
Эта процедура сопоставления важна, потому что длина IP- и MAC-адресов различается, и требуется преобразование, чтобы системы могли распознавать друг друга. Сегодня наиболее часто используемым IP-адресом является IP-версия 4 (IPv4). IP-адрес имеет длину 32 бита. Однако MAC-адреса имеют длину 48 бит. ARP преобразует 32-битный адрес в 48-битный и наоборот.
Существует сетевая модель, известная как сетевая модель стека сетевых протоколов (OSI). Модель OSI, впервые разработанная в конце 70-х годов, использует слои, чтобы дать специалистам ИТ-отделов визуализацию того, что происходит с конкретной сетевой системой. Это может быть полезно при определении того, какой уровень влияет на тип приложения, устройства или программного обеспечения, установленного в сети, а также на то, за управление каким уровнем отвечает ИТ-специалист или инженер.
MAC-адрес также известен как уровень канала передачи данных, который устанавливает и завершает соединение между двумя физически подключенными устройствами для осуществления передачи данных. IP-адрес также называется сетевым уровнем или уровнем, ответственным за пересылку пакетов данных через различные маршрутизаторы. ARP работает между этими уровнями.
Как работает ARP?
Когда новый компьютер подключается к локальной сети, ему назначается уникальный IP-адрес для идентификации и обмена данными.
Пакеты данных поступают на шлюз, предназначенный для конкретного хост-компьютера. Шлюз или аппаратное обеспечение в сети, которое позволяет передавать данные из одной сети в другую, спрашивает программу ARP, чтобы найти MAC-адрес, соответствующий IP-адресу. Кэш ARP ведет запись каждого IP-адреса и его совпадающего MAC-адреса. Кэш ARP является динамическим, но пользователи сети также могут настраивать статическую таблицу ARP, содержащую IP-адреса и MAC-адреса.
Кэш ARP хранится на всех операционных системах в сети Ethernet IPv4. Каждый раз, когда устройство запрашивает MAC-адрес для отправки данных на другое устройство, подключенное к локальной сети, оно проверяет кэш ARP, чтобы узнать, завершилось ли соединение IP-адреса с MAC-адресом. Если оно существует, то новый запрос не требуется. Однако, если преобразование не было выполнено, отправляется запрос на сетевые адреса и выполняется ARP.
Размер кэша ARP специально ограничен, и адреса, как правило, остаются в кэше всего несколько минут. Он регулярно очищается, чтобы освободить пространство. Эта разработка также предназначена для обеспечения конфиденциальности и безопасности, чтобы предотвратить кражу или подделку IP-адресов кибератаки. В то время как MAC-адреса фиксированы, IP-адреса постоянно изменяются.
В процессе очистки неиспользуемые адреса удаляются; также удаляются любые данные, связанные с неудачными попытками связи с компьютерами, не подключенными к сети или даже не включенными.
Какова функциональная разница между ARP, DHCP и DNS?
ARP — это процесс подключения динамического IP-адреса к MAC-адресу физической машины. Поэтому важно ознакомиться с некоторыми технологиями, связанными с IP.
Как упоминалось ранее, IP-адреса, разработанные по проекту, предназначены для постоянного изменения по простой причине, что это обеспечивает безопасность и конфиденциальность пользователей. Однако IP-адреса не должны быть полностью случайными. Должны быть правила, которые выделяют IP-адрес из определенного диапазона номеров, доступных в конкретной сети. Это помогает предотвратить проблемы, такие как два компьютера, получающие один и тот же IP-адрес. Правила известны как DHCP или протокол динамической настройки узла.
IP-адреса важны как идентификационные данные для компьютеров, поскольку они необходимы для поиска в интернете. При поиске доменного имени или унифицированного указателя ресурса (URL) пользователи используют алфавитное имя. Компьютеры, с другой стороны, используют числовой IP-адрес, чтобы связать доменное имя с сервером. Для их подключения сервер системы доменных имен (DNS) используется для преобразования IP-адреса из непонятной цепочки чисел в более читаемое, легко узнаваемое доменное имя и наоборот.
Каковы типы ARP?
Существуют различные версии и примеры использования ARP. Давайте рассмотрим несколько из них.
Proxy ARP
Proxy ARP — это метод, при помощи которого прокси-устройство в данной сети отвечает на запрос ARP для IP-адреса, который отсутствует в этой сети. Прокси-сервер имеет местоположение пункта назначения трафика и предлагает свой собственный MAC-адрес в качестве пункта назначения.
Самообращенные запросы ARP
Самообращенные запросы ARP похожи на административную процедуру, выполняемую хостом в сети для простого объявления или обновления его IP-адреса на MAC-адрес. Самообращенные запросы ARP не вызваны запросом ARP на преобразование IP-адреса в MAC-адрес.
Протокол разрешения обратного адреса (RARP)
ост-компьютеры, которые не знают свой собственный IP-адрес, могут использовать протокол разрешения обратного адреса (RARP) для обнаружения.
Обратный ARP (IARP)
В то время как ARP использует IP-адрес для поиска MAC-адреса, IARP использует MAC-адрес для поиска IP-адреса.
Почему ARP необходим?
ARP необходим, поскольку программный адрес (IP-адрес) хоста или компьютера, подключенного к сети, должен быть переведен на аппаратный адрес (MAC-адрес). Без ARP хост не сможет определить аппаратный адрес другого хоста. В локальной сети хранится таблица или каталог, который сопоставляет IP-адреса с MAC-адресами различных устройств, включая конечные точки и маршрутизаторы в этой сети.
Эта таблица или каталог не поддерживается пользователями или даже системными администраторами. Вместо этого протокол ARP создает записи в процессе. Если устройство пользователя не имеет аппаратный адрес принимающего хоста, оно отправит сообщение на каждый хост сети с запросом этого адреса. Когда соответствующий принимающий хост узнает о запросе, он ответит своим аппаратным адресом, который затем будет сохранен в каталоге или таблице ARP.
Если ARP не поддерживается, можно вводить данные в этот каталог вручную.
Что такое спуфинг ARP/отравление ARP?
Спуфинг ARP также известен как маршрутизация отравлений ARP или отравление кэша ARP. Это вид атаки, при которой киберпреступник отправляет поддельные сообщения ARP в локальную сеть с целью связать MAC-адрес с IP-адресом законного устройства или сервера в сети. Ссылка позволяет отправлять данные с компьютера жертвы на компьютер злоумышленника вместо исходного места назначения.
Атаки спуфинга ARP могут оказаться опасными, поскольку конфиденциальная информация может передаваться между компьютерами без ведома жертвы. Спуфинг ARP также позволяет использовать другие формы кибератак, включая:
Атаки посредника (MITM)
Атака посредника (MITM) — это вид подслушивания, при котором злоумышленник перехватывает, передает и изменяет сообщения между двумя сторонами, которые не знают, что третья сторона вовлечена в кражу информации. Злоумышленник может попытаться контролировать и манипулировать сообщениями одной из сторон или обеих сторон для получения конфиденциальной информации. Поскольку эти типы атак используют сложное программное обеспечение для имитации стиля и тона разговоров, в том числе и те, которые основаны на тексте и голосе, атаку MITM сложно перехватить и предотвратить.
Атака MITM происходит при распространении вредоносного ПО и получении контроля над веб-браузером жертвы. Сам браузер не важен для злоумышленника, но данные, которыми жертва делится, очень важны, потому что они могут включать имена пользователей, пароли, номера учетных записей и другую конфиденциальную информацию, передаваемую в чатах и онлайн-обсуждениях.
После получения контроля злоумышленник создает прокси между жертвой и законным сайтом, обычно с поддельным сайтом, чтобы перехватить любые данные между жертвой и законным сайтом. Злоумышленники используют интернет-банкинг и сайты электронной коммерции для сбора личной информации и финансовых данных.
Атаки типа «отказ в обслуживании»
Атака типа «отказ в обслуживании» (DoS) — это атака, при которой злоумышленник пытается перегружать системы, серверы и сети трафиком, чтобы пользователи не могли получить к ним доступ. Масштабная DoS-атака известна как распределенная атака типа «отказ в обслуживании» (DDoS), при которой для заполнения системы трафиком используется гораздо большее количество источников.
Эти типы атак используют известные уязвимости в сетевых протоколах. Когда большое количество пакетов передается в уязвимую сеть, сервис может легко перегрузиться, а затем стать недоступным.
Перехват сеанса
Перехват сеанса происходит, когда злоумышленник крадет идентификатор сеанса пользователя, берет на себя его веб-сеанс и маскирует его. Имея в своем распоряжении идентификатор сеанса, злоумышленник может выполнять любую задачу или деятельность, которую пользователь имеет право выполнять в этой сети.
Проверка подлинности происходит, когда пользователь пытается получить доступ к системе или войти на сайт или веб-сервис с ограниченным доступом. Идентификатор сеанса хранится в cookie-файле в браузере, злоумышленник перехватывает процесс аутентификации и вмешивается в работу в режиме реального времени.
Как Fortinet может помочь
Управление доступом к сети (NAC) Fortinet обеспечивает улучшенную видимость сети, чтобы предотвращать постоянно меняющиеся угрозы. NAC — это часть модели доступа к сети с нулевым доверием для обеспечения безопасности, в которой доверие не относится к пользователям, приложениям или устройствам, независимо от того, подключены они к сети или нет, но должно быть установлено.
Каждое устройство в сети сохраняет копию кэша ARP, кэш очищается каждые несколько минут. Таким образом, все устройства, подключенные к этой сети, должны быть защищены, чтобы важные данные, включая IP-адреса, не были взломаны. Для дополнительной защиты сетевых устройств и серверов коммутаторы локальной сети Ethernet Fortinet защищают инфраструктуру организации и даже включают в себя инструмент выбора для определения наилучшего коммутатора в соответствии с требованиями сети.