Загрузить команду Windows
Обновлено: 21.11.2024
ARP (протокол разрешения адресов) — это коммуникационный протокол, который работает на «физическом (канале передачи данных)» уровне стека TCP/IP и используется для обнаружения MAC-адреса устройства в локальной сети (локальная сеть). локальной сети) на основе его IP-адреса.
Таблица ARP используется для хранения обнаруженных пар MAC- и IP-адресов.
В этой заметке я покажу, как отобразить таблицу ARP и как очистить кэш ARP с помощью команды Windows arp.
Полезный совет: как отобразить таблицу маршрутизации в Windows! Читать далее →
Команда Windows ARP
Показать таблицу ARP
Чтобы отобразить текущую таблицу ARP в Windows, используйте команду arp с параметром -a:
Показать таблицу ARP в подробном режиме:
Чтобы записать IP- и MAC-адрес устройства в локальной сети в таблицу ARP, просто пропингуйте его:
Чтобы обнаружить все устройства в локальной сети, вы можете пропинговать их все с помощью этой однострочной команды (настройте IP-адрес вашей сети):
Очистить кэш ARP
Чтобы очистить кэш ARP, необходимо открыть командную строку с повышенными правами, в противном случае вы можете получить следующее сообщение об ошибке: "Не удалось удалить запись ARP: для запрошенной операции требуется повышение прав". р>
Чтобы запустить командную строку с повышенными привилегиями, нажмите кнопку ⊞ Win, чтобы открыть меню «Пуск», введите cmd для поиска командной строки и нажмите Ctrl + Shift + Enter, чтобы запустить командную строку от имени администратора.
Чтобы очистить кэш ARP в Windows, используйте команду arp с параметром -d:
Как работает ARP — объяснение
Когда один компьютер хочет связаться с другим компьютером в той же локальной сети, он создает IP-пакет с IP-адресами источника и получателя, содержащий данные из приложения, и инкапсулирует его в кадр Ethernet с MAC-адресами источника и получателя.
Протокол разрешения адресов: компьютер-отправитель, очевидно, знает свой исходный MAC-адрес, но как он узнает MAC-адрес получателя? Вот где в игру вступает ARP!
Чтобы узнать MAC-адрес компьютера назначения (если его еще нет в ARP-кэше), он отправляет ARP-запрос на широковещательный MAC-адрес ff:ff:ff:ff: ff:ff (на все устройства в локальной сети) и в основном спрашивает:
У кого IP-адрес 192.168.1.95 и какой у вас MAC-адрес?
Компьютер назначения получает сообщение и отвечает ответом ARP:
Это я! И мой MAC-адрес xx:xx:xx:xx:xx:xx
Исходный компьютер добавляет MAC- и IP-адреса конечного компьютера в свою таблицу ARP и начинает отправлять данные.
Полезный совет: проверьте, открыт ли TCP-порт в PowerShell! Читать далее →
Применимо к: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
Отображает и изменяет записи в кэше протокола разрешения адресов (ARP). Кэш ARP содержит одну или несколько таблиц, которые используются для хранения IP-адресов и их разрешенных физических адресов Ethernet или Token Ring. Для каждого сетевого адаптера Ethernet или Token Ring, установленного на вашем компьютере, существует отдельная таблица. При использовании без параметров arp отображает справочную информацию.
Синтаксис
Параметры
Параметр | Описание |
---|---|
[/a [ ] [/n ] td> | Отображает текущие таблицы кэша ARP для всех интерфейсов. Параметр /n чувствителен к регистру. Чтобы отобразить запись кэша arp для определенного IP-адреса, используйте arp /a с параметром inetaddr, где inetaddr — это IP-адрес. Если inetaddr не указан, используется первый подходящий интерфейс. Чтобы отобразить таблицу кэша arp для определенного интерфейса, используйте параметр /n ifaceaddr в сочетании с параметром /a, где inetaddr — это IP-адрес, назначенный интерфейсу. |
[ /g [ ] [/n ] | Идентичен /a. |
[/d [ ] | Удаляет запись с конкретный IP-адрес, где inetaddr — это IP-адрес. Чтобы удалить запись в таблице для определенного интерфейса, используйте параметр ifaceaddr, где ifaceaddr — это IP-адрес, назначенный интерфейсу. Чтобы удалить все записи, используйте подстановочный знак звездочка (*) вместо inetaddr. |
[/s [ ] | Добавляет статическую запись в Кэш arp, который преобразует IP-адрес inetaddr в физический адрес etheraddr. Чтобы добавить в таблицу запись статического кэша ARP для определенного интерфейса, используйте параметр ifaceaddr, где ifaceaddr — это IP-адрес, назначенный интерфейсу. |
/? | Отображает справку в командной строке. |
Примечания
IP-адреса для inetaddr и ifaceaddr выражаются в десятичном формате с точками.
Физический адрес для etheraddr состоит из шести байтов, выраженных в шестнадцатеричной системе счисления и разделенных дефисами (например, 00-AA-00-4F-2A-9C).
Записи, добавленные с помощью параметра /s, являются статическими и не удаляются из кэша arp по времени. Записи удаляются, если протокол TCP/IP останавливается и запускается. Чтобы создать постоянные записи статического кэша arp, поместите соответствующие команды arp в пакетный файл и используйте запланированные задачи для запуска пакетного файла при запуске.
Примеры
Чтобы отобразить таблицы кеша arp для всех интерфейсов, введите:
Чтобы отобразить таблицу кэша ARP для интерфейса, которому назначен IP-адрес 10.0.0.99, введите:
Чтобы добавить запись статического кэша ARP, которая преобразует IP-адрес 10.0.0.80 в физический адрес 00-AA-00-4F-2A-9C, введите:
Команда arp отображает, добавляет и удаляет информацию arp с сетевых устройств.
Доступность
Arp — это внешняя команда, доступ к которой осуществляется через каталог C:\Windows или C:\Winnt\System32. Она доступна для следующих операционных систем Microsoft как arp.exe.
Синтаксис Arp
-a | Отображает текущие записи ARP путем опроса текущих данных протокола. Если указан inet_addr, отображаются IP и физические адреса только указанного компьютера. Если несколько сетевых интерфейсов используют ARP, отображаются записи для каждой таблицы ARP. |
-g | То же, что и -a | tr>
inet_addr | Указывает интернет-адрес. |
-N, если адрес | Отображает записи ARP для сетевого интерфейса, указанного в if_addr. |
-d | Удаляет хост, указанный в inet_addr. |
Добавляет хост и связывает интернет-адрес inet_addr с физическим адресом eth_addr. Физический адрес задается в виде 6 шестнадцатеричных байтов, разделенных дефисами. Следует отметить, что запись является постоянной. | |
eth_addr | Указывает физический адрес. |
if_addr | Если присутствует, эта команда указывает Интернет-адрес интерфейса, чья таблица преобразования адресов должна быть изменена. Если его нет, будет использован первый подходящий интерфейс. |
Примеры Arp
Физический адрес или MAC-адрес, показанный выше в формате aa-bb-cc-dd-ee-ff, является уникальным идентификационным номером производителя. Этот номер всегда должен быть уникальным адресом.
Выше приведен пример изменения вышеуказанного IP-адреса 220.0.0.160 на 220.0.0.161.
Если IP-адрес уже был назначен конкретному сетевому адаптеру, изменить назначенный IP-адрес на новый адрес невозможно. Сети DHCP, BOOTP или RARP автоматически назначают карте IP-адрес. Поэтому эта команда не будет использоваться.
Что такое команда 'arp' и как ее использовать?
Ознакомьтесь с дополнительными ресурсами ARP:
Хорошо – приступим к ответу.
ARP означает протокол разрешения адресов. Этот протокол используется сетевыми узлами для сопоставления IP-адресов с MAC-адресами. Исходной спецификацией был RFC 826. С тех пор она была обновлена RFC 5227 и RFC 5494.
Основной протокол функционально разделен на две части:
- Одна часть определяет физический адрес при отправке пакета
- Другая часть отвечает на запросы других компьютеров
- Если сопоставление известно, физический адрес помещается во фрейм и отправляется
- Если сопоставление неизвестно, отправляется широковещательное сообщение и ожидается ответ.
- Целевая машина, распознавшая совпадение IP-адреса со своим, возвращает ответ
ARP находится на уровне 2 многоуровневой модели OSI и работает с Ethernet и IPv4, как показано на схеме:
ARP не обслуживает IPv6. В сетях IPv6 функциональность ARP заменена обнаружением соседей (ND), которая была добавлена в протокол ICMPv6. Подробнее о ND здесь.
ARP прозрачен для мостов/коммутаторов — мосты/коммутаторы на уровне 2 будут отправлять широковещательные сообщения ARP. Маршрутизаторы — это уровень 3, и они не распространяют широковещательные сообщения Ethernet — маршрутизатор — это устройство сетевого уровня.
Формат протокола ARP выглядит следующим образом:
Работа протокола ARP выглядит следующим образом:
- Процесс начинается с пустых кешей
- Хост 2 знает, что он хочет отправить пакет узлу 1 (например, GW по умолчанию)
- Хост 2 должен отправить широковещательное сообщение ARP (адресат FF:FF:FF:FF:FF:FF) с запросом ответа для 192.168.1.1.
- Хост 1 отвечает своим MAC-адресом напрямую (одноадресная рассылка) узлу 2.
- Хост 1 и 2 вставляют эту полученную информацию в свои кэши ARP для будущего использования.
Объявления ARP
Объявления ARP — это способ официально «заявить» IP-адрес в сети. Объявление ARP очень похоже на Gratuitous ARP, за одним заметным исключением: код операции в объявлении ARP установлен на 1, что указывает на запрос. В типичных сообщениях Gratuitous ARP код операции имеет значение 2. И MAC-адрес отправителя, и IP-адрес отправителя создают полное сопоставление ARP, и хосты в сети могут использовать эту пару адресов в своей таблице ARP
Как и в случае с Gratuitous ARP, целевой MAC-адрес игнорируется, в этом примере он установлен на 0000.0000.0000, некоторые реализации объявления ARP вместо этого используют ffff.ffff.ffff. Наконец, целевой IP-адрес подтверждает предмет сообщения: IP-адрес, уникальность которого теперь подтверждена.
Пример объявления ARP в Wireshark:
Пользователи Wireshark могут попробовать следующий фильтр отображения для отображения объявлений ARP:
ARP-зонды
Проверка ARP служит для опроса сети, чтобы убедиться, что IP-адрес еще не используется. Идея заключается в том, что если рассматриваемый IP-адрес уже используется, инициатор ARP-зонда будет ожидать ответа от первоначального владельца. Таким образом, этот ARP-зонд представляет собой запрос, который может вызвать ответ:
- В поле "Код операции" установлено значение 1, что указывает на запрос ARP.
- MAC-адрес отправителя устанавливается равным MAC-адресу инициатора.
- IP-адрес отправителя установлен на 0.0.0.0
- Целевой MAC-адрес установлен на 0000.0000.0000
- Целевой IP-адрес устанавливается на проверяемый IP-адрес
Основное различие между зондом и запросом заключается в том, что IP-адрес отправителя равен 0. Это сделано намеренно, поскольку отправка ARP Probe предназначена для предотвращения конфликта IP-адресов. Если целевой IP-адрес уже используется, было бы очень нежелательно, чтобы другие узлы в сети непреднамеренно обновляли свой кэш ARP на основе содержимого зонда ARP. Это также основное различие между ARP Probe и Gratuitous ARP. Gratuitous ARP предназначен для обновления всех кешей ARP в сети, в то время как ARP Probe преднамеренно предотвращает обновление кешей ARP для дальнейшей защиты от конфликтов IP-адресов.
Команда "arp"
arp отображает и изменяет записи в кэше протокола разрешения адресов (ARP), который содержит одну или несколько таблиц, используемых для хранения IP-адресов и их разрешенных физических адресов Ethernet или Token Ring. Для каждого сетевого адаптера Ethernet или Token Ring, установленного на вашем компьютере, существует отдельная таблица. Используется без параметров, arp отображает справку.
Вы можете использовать команду arp для просмотра и изменения записей таблицы ARP на локальном компьютере. Это может отображать все известные подключения в вашем сегменте локальной сети (если они были активны и находятся в кеше). Команда arp полезна для просмотра кэша ARP и решения проблем с разрешением адресов.
Синтаксис (Inet означает интернет-адрес)
arp [-a [InetAddr] [-N IfaceAddr]] [-g [InetAddr] [-N IfaceAddr ]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr] ]
Вот определения переключателя:
-a [InetAddr] [-NIfaceAddr] : отображает текущие таблицы кэша ARP для всех интерфейсов. Чтобы отобразить запись кэша ARP для определенного IP-адреса, используйте arp -a с параметром InetAddr, где InetAddr — это IP-адрес. Чтобы отобразить таблицу кэша ARP для определенного интерфейса, используйте параметр -N IfaceAddr, где IfaceAddr — это IP-адрес, назначенный интерфейсу. Параметр -N чувствителен к регистру.
-g [InetAddr] [-NIfaceAddr] : идентично -a.
-dInetAddr [IfaceAddr] : удаляет запись с определенным IP-адресом, где InetAddr — это IP-адрес. Чтобы удалить запись в таблице для определенного интерфейса, используйте параметр IfaceAddr, где IfaceAddr — это IP-адрес, назначенный интерфейсу. Чтобы удалить все записи, используйте подстановочный знак звездочки (*) вместо InetAddr. Таким образом, "arp -d *" очистит ваш кеш ARP.
-sInetAddr EtherAddr [IfaceAddr]: добавляет статическую запись в кэш ARP, которая преобразует IP-адрес InetAddr в физический адрес. EtherAddr. Чтобы добавить в таблицу запись статического кэша ARP для определенного интерфейса, используйте параметр IfaceAddr, где IfaceAddr — это IP-адрес, назначенный интерфейсу.
/?: Отображает справку в командной строке.
Использование arp в Windows
Чтобы запустить команду arp в Windows, нажмите ПУСК> ВЫПОЛНИТЬ> CMD. Теперь введите 'arp -a' в командной строке >:
Использование arp в системе MAC или Linux
Существует два типа записей ARP: статические и динамические. Большую часть времени компьютер будет использовать динамические записи ARP. Это означает, что запись ARP (связь MAC-адреса Ethernet с IP-адресом) была получена (обычно от шлюза по умолчанию) и хранится на устройстве в течение некоторого периода времени, пока оно используется. Статическая запись ARP является противоположностью динамической записи ARP. При статической записи ARP компьютер вручную вводит связь между MAC-адресом Ethernet и IP-адресом. Программное обеспечение на вашем компьютере предопределит эти статические записи, такие как многоадресные и широковещательные адреса. Из-за головной боли управления и отсутствия существенных недостатков использования динамических записей ARP, динамические записи ARP используются большую часть времени.
Обнаружение повторяющихся IP-адресов с помощью ARP
При запуске некоторые операционные системы, такие как Windows, выполняют необоснованный ARP для обнаружения любого дублирования с собственным IP-адресом. Хотя эта функция обнаруживает большинство случаев дублирования IP-адресов, в некоторых случаях два хоста TCP/IP в одной сети могут быть настроены на один и тот же IP-адрес. Поскольку сопоставление MAC- и IP-адресов выполняется модулем ARP, который использует первый полученный ответ ARP, ответ компьютера-самозванца иногда возвращается раньше, чем ответ предполагаемого компьютера.
Эти проблемы трудно изолировать и отследить. Используйте команду arp -a для отображения отображений в кэше ARP. Если вы знаете адрес Ethernet удаленного компьютера, который хотите использовать, вы можете легко определить, совпадают ли они. Если нет, используйте команду arp -d, чтобы удалить запись, затем используйте Ping с тем же адресом (принудительно ARP) и снова проверьте адрес Ethernet в кэше, используя arp -a . Если оба компьютера находятся в одной сети, вы в конечном итоге получите ответ от компьютера-самозванца. В противном случае вам, возможно, придется перехватить трафик с хоста-самозванца с помощью сетевого монитора, чтобы определить владельца или местоположение системы.
Обнаружение недопустимых записей в кэше ARP
Устранение неполадок с кэшем ARP может быть затруднено, поскольку проблемы, связанные с ним, часто возникают периодически. Исключением является случай, когда вы обнаружите, что не тот хост отвечает на команду, возможно, когда вы используете команду Netuse или Telnet. Признаки недействительных записей в кэше ARP воспроизвести труднее, и они связаны с периодически возникающими проблемами, затрагивающими лишь несколько хостов. Основная проблема заключается в том, что два компьютера используют один и тот же IP-адрес в сети. Вы видите проблемы лишь время от времени, потому что самая последняя запись в таблице ARP всегда относится к хосту, который быстрее ответил на любой конкретный запрос ARP.
Чтобы решить эту проблему, отобразите таблицу ARP с помощью команды arp -a. Поскольку адреса, назначенные DHCP, не вызывают конфликты адресов, подобные описанным здесь, основным источником этих конфликтов, вероятно, являются статические IP-адреса. Ведение списка статических адресов (и соответствующих MAC-адресов) по мере их назначения может помочь вам отследить любой конфликт адресов, просто изучив пары IP-адресов и MAC-адресов из таблицы ARP и сравнив их с записанными значениями.
Протокол обратного разрешения адресов (Inverse ARP или InARP)
Используется для получения адресов сетевого уровня (например, IP-адресов) других узлов из адресов канального уровня (уровень 2). Поскольку ARP транслирует адреса уровня 3 в адреса уровня 2, InARP можно описать как его противоположность. InARP реализован как расширение протокола для ARP: он использует тот же формат пакета, что и ARP, но другие коды операций. В основном он используется в сетях Frame Relay и ATM, в которых адреса виртуальных каналов уровня 2 иногда получаются из сигнализации уровня 2, а соответствующие адреса уровня 3 должны быть доступны, прежде чем эти виртуальные каналы можно будет использовать.
Протокол обратного разрешения адресов (Reverse ARP или RARP)
Как и InARP, преобразует адреса уровня 2 в адреса уровня 3. RARP используется для получения адреса уровня 3 самой запрашивающей станции в целях настройки адреса. RARP по существу устарел; он был заменен протоколом BOOTP, который был заменен протоколом динамической конфигурации хоста (DHCP)
Устранение неполадок в сетях с помощью ARP
Если у вас нет записи всех пар IP-адресов и MAC-адресов в вашей сети, вы можете проверить байты производителя MAC-адресов на наличие несоответствий. Эти трехбайтовые числа называются уникальными идентификаторами организации (OUI) и присваиваются Институтом инженеров по электротехнике и электронике (IEEE); первые три байта каждого MAC-адреса идентифицируют производителя карты.Зная, какое оборудование вы установили, и сравнивая его со значениями, возвращаемыми командой arp -a, вы можете определить, какой статический адрес был введен по ошибке.
Еще одна возможная проблема заключается в том, что DHCP мог обнаружить дубликат MAC/карты, уже находящейся в сети, и, таким образом, отклонить запрос компьютера на присоединение. Другие сообщения DHCP и связанные с ними сообщения часто могут быстро изолировать и решить проблему.
Надеюсь, эта статья и ее содержание будут вам полезны. Комментарии приветствуются ниже. Если вы хотите видеть больше подобных статей, поддержите нас, нажав на ссылку покровителя, где вы получите бесплатный бонусный доступ к курсам и многому другому, или просто купите нам чашку кофе !, и все комментарии приветствуются!
Читайте также: