Как сделать arp запрос

Протокол 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? Объясняем на пальцах

Powered by модель OSI

ARP-протокол

Многие называют его протоколом «2,5 уровня»: ARP должен работать поверх уровня ethernet (это условие выполняется), но поверх ARP должен работать хотя бы один протокол сетевого уровня. Однако в ARP не инкапсулируется ни один из протоколов третьего уровня модели OSI. Таким образом получается подобие уровня 2.5, что-то среднее между канальным и сетевым.

Что за ARP-таблица?

Как сделать arp запрос. Смотреть фото Как сделать arp запрос. Смотреть картинку Как сделать arp запрос. Картинка про Как сделать arp запрос. Фото Как сделать arp запрос

Здесь можно обратить внимание на широковещательный адрес ( broadcast ). Поле «адрес назначения Ethernet» заполняется единицами ( ff:ff:ff:ff:ff:ff ). Коммутатор, получив такой широковещательный фрейм, отправляет его всем компьютерам сети, как бы обращаясь ко всем с вопросом: «если Вы владелец этого ip адреса (ip адреса назначения), пожалуйста сообщите мне Ваш mac адрес».

Как это работает?

Один из хостов, которые получили этот широковещательный пакет, видит, что IP-адрес принадлежит ему. И в ответ шлет свой MAC-адрес. Соответственно запись связки IP-MAC заносится в ARP-таблицу. В следующий раз, понятное дело, это операция (для конкретного устройства с этим IP) уже не понадобится.

Наглядно:

Итак. у нас есть два ПК1 и ПК2. Придумаем им IP и MAC-адрес

Как сделать arp запрос. Смотреть фото Как сделать arp запрос. Смотреть картинку Как сделать arp запрос. Картинка про Как сделать arp запрос. Фото Как сделать arp запрос

Давайте из ПК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 запрос. Смотреть фото Как сделать arp запрос. Смотреть картинку Как сделать arp запрос. Картинка про Как сделать arp запрос. Фото Как сделать arp запрос

Как сделать arp запрос. Смотреть фото Как сделать arp запрос. Смотреть картинку Как сделать arp запрос. Картинка про Как сделать arp запрос. Фото Как сделать arp запрос

Это очень краткое и поверхностное изложение протокола ARP — далеко не все аспекты работы лежат на поверхности. Дальше — самостоятельная работа. Stay Tuned!

Источник

Как посмотреть ARP-таблицу, ARP-запросы.

Что такое ARP-таблица, ARP-запрос?

Любое сетевое оборудование имеет физический 6 битный адрес уникальный для каждого экземпляра.

Отображение IP-адресов, в аппаратные адреса, выполняется с помощью следующих действий:

– в сеть отправляется широковещательный запрос (ARP-request), принимаемый всеми сетевыми устройствами. Он содержит IP и Ethernet адреса отправителя, а также, целевой IP-адрес, для которого выполняется определение MAC-адреса.

– каждое устройство, принявшее запрос проверяет соответствие целевого IP-адреса, указанного в запросе, своему собственному IP-адресу. При совпадении, отправителю передается ARP-ответ (ARP-Reply), в котором содержатся IP и MAC адреса ответившего узла. Кадр с ARP-ответом содержит IP и MAC адреса как отправителя, так и получателя-составителя запроса.

– информация, полученная в ARP-ответе, заносится в ARP-кэш и может использоваться для обмена данными по IP-протоколу для данного узла. ARP-кэш представляет собой таблицу в оперативной памяти, каждая запись в которой содержит IP, MAC и возраст их действительности (от нескольких секунд, до нескольких часов). Возраст записи учитывается для того, чтобы обеспечить возможность повторного выполнения процедуры ARP при каком либо изменении соответствия адресов.

В IP-сетях существует три способа отправки пакетов от источника к приемнику:

– одноадресная передача (Unicast);
При одноадресной передаче поток данных передается от узла-отправителя на индивидуальный IP-адрес узла-получателя.

– широковещательная передача (Broadcast);
Широковещательная передача предусматривает доставку потока данных от узла-отправителя множеству узлов-получателей, подключенных к данному сегменту локальной сети, с использованием широковещательного IP-адреса.

– многоадресная рассылка (Multicast).
Многоадресная рассылка обеспечивает доставку потока данных группе узлов на IP-адрес группы многоадресной рассылки. Узлы группы могут находиться в данной локальной сети или в любой другой. Узлы для многоадресной рассылки объединяются в группы при помощи протокола IGMP (Internet Group Management Protocol, межсетевой протокол управления группами). Пакеты, содержащие в поле назначения заголовка групповой адрес, будут поступать на узлы групп и обрабатываться. Источник многоадресного трафика направляет пакеты многоадресной рассылки не на индивидуальные IP-адреса каждого из узлов-получателей, а на групповой IP-адрес.

Замечания по практическому использованию команды ARP:
Параметры командной строки ARP:

-v – отображает текущие ARP-записи в режиме подробного протоколирования. Все недопустимые записи и записи в интерфейсе обратной связи будут отображаться.

inet_addr – определяет IP-адрес.

-d – удаляет узел, задаваемый inet_addr. Параметр inet_addr может содержать знак шаблона * для удаления всех узлов.

-s – добавляет узел и связывает адрес в Интернете inet_addr c физическим адресом eth_addr. Физический адрес задается 6 байтами (в шестнадцатеричном виде), разделенными дефисом. Эта связь является постоянной

eth_addr – определяет физический адрес.

if_addr – если параметр задан, он определяет адрес интерфейса в Интернете, чья таблица преобразования адресов должна измениться. Если параметр не задан, будет использован первый доступный интерфейс.

Формат командной строки ARP:
Пример содержимого таблицы ARP:

В данном примере присутствуют записи ARP для петлевого интерфейса 127.0.0.1 и реального 192.168.1.133.
Петлевой интерфейс не используется для реальной передачи данных и не имеет привязки к аппаратному адресу.
Таблица ARP реального интерфейса содержит записи для узлов с адресами 192.168.1.1 и 192.168.1.132, а также записи для широковещательной (MAC-адрес равен ff-ff-ff-ff-ff-ff) и групповых рассылок (MAC-адрес начинается с 01-00-5e ).
МАС-адрес групповой рассылки всегда начинается с префикса, состоящего из 24 битов — 01-00-5Е. Следующий, 25-й бит равен 0. Последние 23 бита МАС-адреса формируются из 23 младших битов группового IP-адреса.

Источник

Для чего нужна команда для командной строки arp

Как сделать arp запрос. Смотреть фото Как сделать arp запрос. Смотреть картинку Как сделать arp запрос. Картинка про Как сделать arp запрос. Фото Как сделать arp запросКоманда arp нужна для того, чтобы управлять таблицами arp. Протокол Arp нужен для преобразования адресов сетевого и маc уровней.

Например, это команда в сети ethernet даёт возможность преобразовать IP адрес станции назначения в её 48 битный ethernet-адрес, или по-другому mac-адрес, для передачи пакета по локальной сети.

Обычно протокол ARP работает автоматически, и обрабатывает адреса, когда в этом есть необходимость.

Для чего нужна команда для командной строки arp

Но бывают случаи, когда нужно в ручном режиме скорректировать таблицы адресов, обычно это нужно администраторам.

Параметры

Параметр view ip показывает таблицу Arp. Ip это адрес, для которого нужна запись.

Add ip — добавление записей в таблицу Arp.

Del ip — удаляет записи из таблицы.

С помощью freeze можно заморозить таблицу Arp. После этого записи не будут вноситься в систему автоматически. Команда зафиксирует те записи, которые были внесены операторам.

Назначение команды ARP

Команда ARP нужна для просмотра и изменения. Она нужна для того, чтобы можно было просматривать изменять записи в кэш ARP.

Как сделать arp запрос. Смотреть фото Как сделать arp запрос. Смотреть картинку Как сделать arp запрос. Картинка про Как сделать arp запрос. Фото Как сделать arp запрос

Это протокол разрешения адресов, пользователь видит её в виде таблицы соответствия IP адресов аппаратным адресом сетевых устройств. Аппаратный адрес представляет собой уникальный 6-битный адрес сетевого устройства. Он присваивается ему при изготовлении, например это касается сетевой карты. По-другому этот адрес ещё называют mac-адресом, то есть управление доступом к среде.

У сетевых устройств есть аппаратный адрес, и он состоит из 2 частей, их значение зависит от производителя этого оборудования, и самого устройства.

Отображение ip-адреса в аппаратные адреса происходит следующим образом. В сеть идёт широковещательный запрос, по-другому ARP request, и он принимается всеми сетевыми устройствами.

В нём содержится IP и ethernet адреса отправителя, целевой ip-адрес, и происходит определение mac-адреса. Все устройства, на котором пришёл запрос, проверяет соответствие целевого ip-адреса из запроса, со своим собственным ip-адресом. Если он совпадает, то передаётся ответ, по-другому arp reply, где указаны и IP и mac-адреса ответного узла.

Возраст записи показывает пользователю то, что может обеспечить возможность повторного выполнения процедуры ARP при изменении соответствия адресов.

В ip-сетях есть несколько способов отправки пакетов от источника к его приемнику. Это одна адресная передача, по-другому unicast, широковещательная передача, broadcast, и многоадресная рассылка, multicast.

Как сделать arp запрос. Смотреть фото Как сделать arp запрос. Смотреть картинку Как сделать arp запрос. Картинка про Как сделать arp запрос. Фото Как сделать arp запрос

Во время одной адресной передача поток данных идёт от узла отправителя на индивидуальный ip-адрес получателя.

При широковещательной передаче есть доставка потока данных от узла отправителя большому количеству узлов получателей, которые подключены к этой локальной сети, где используется широковещательный ip-адрес. Многоадресная рассылка дает возможность провести доставку потока данных большому количеству узлов на ip-адрес группы многоадресной рассылки.

При этом узлы группы могут быть и в этой локальной сети, или же в другой. Объединять узлы в группы для многоадресной рассылки помогает протокол igmp. Это межсетевой протокол управления группами.

Групповые адреса представляет собой произвольную группу пазлов, которые присоединились к этой группе и будут получать адресованный трафик.

Особенность по использованию команды ARP

Записи в таблице ARP живут ограниченное количество времени, и перед просмотром конкретного адреса нужно выполнить пинг на этот адрес. И если ответ на Пинг не приходит, то это может означать блокировку пакетов пингуемоего узла.

Источник

ARP: определение MAC адресов в локальной сети

ARP (англ. Address Resolution Protocol — протокол определения адреса) — протокол в компьютерных сетях, предназначенный для определения MAC-адреса по IP-адресу другого компьютера. Существуют следующие типы сообщений ARP: запрос ARP (ARP request) и ответ ARP (ARP reply). Система-отправитель при помощи запроса ARP запрашивает физический адрес системы-получателя. Ответ (физический адрес узла-получателя) приходит в виде ответа ARP.

Компьютер А (IP-адрес 192.168.1.1) и компьютер Б (IP-адрес 192.168.1.2) соединены сетью Ethernet. Компьютер А желает переслать пакет данных на компьютер Б, IP-адрес компьютера Б ему известен. Компьютеру А для осуществления передачи через Ethernet требуется узнать MAC-адрес компьютера Б в сети Ethernet. Для этой задачи и используется протокол ARP.

Протокол имеет буферную память (ARP-таблицу), в которой хранятся пары адресов (IP-адрес, MAC-адрес) с целью уменьшения количества посылаемых запросов, следовательно, экономии трафика и ресурсов. Записи ARP-таблицы бывают двух вид видов: статические и динамические. Статические добавляются самим пользователем, динамические же — создаются и удаляются автоматически. При этом в ARP-таблице всегда хранится широковещательный физический адрес FF:FF:FF:FF:FF:FF.

Команда arp в Windows

Позволяет просмотреть ARP-таблицу, добавить в нее новую запись или удалить существующую:

Создать запись в ARP-таблице:

Вывести записи ARP-таблицы:

Команда arp в Linux

Позволяет просмотреть ARP-таблицу, добавить в нее новую запись или удалить существующую:

Создать запись в ARP-таблице:

Вывести записи ARP-таблицы:

Альтернативный способ просмотра записей таблицы — команда

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *