When I enter the command line arp -d *
at an instance of cmd.exe, I get
The ARP entry deletion failed: The parameter is incorrect
I can delete individual entries fine, e.g. arp -d 192.168.1.1
I also have Cygwin and Git Bash installed, so I thought maybe the *
was getting expanded like in a Unix shell, but it doesn’t appear so, as echo *
from cmd.exe results in a simple *
output. I have also tried escaping the asterisk and enclosing it in quotes with arp -d "*"
and arp -d ^*
. Both result in the same error.
I do have two NICs on this machine, an internal and a USB, but I get the same error when I unplug the USB NIC.
The account I am running from is an administrator, and I have also tried right-clicking cmd.exe and selecting «Run as Administrator.»
Кэш или таблица (Address Resolution Protocol, протокол определения адреса) хранит соответствия IP-адресов и аппаратных MAC-адресов устройств в локальной сети для быстрой установки соединения без повторного опроса компьютеров в сети.
Обычно, данные, хранящиеся в кэше, проблем не вызывают, но при возникновении ошибок при подключениях в локальной сети можно попробовать выполнить очистку кэша ARP на случай, если в нём хранятся неактуальные данные. Об очистке кэша ARP и пойдет речь далее в инструкции.
Очистка кэша ARP в командной строке
Базовый способ очистки таблицы ARP — использование командной строки. Используйте следующие шаги:
- Запустите командную строку от имени Администратора. В Windows 10 и Windows 11 для этого можно начать набирать «Командная строка» в поиске на панели задач, затем нажать правой кнопкой мыши по найденному результату и выбрать соответствующий пункт контекстного меню.
- Используйте одну из следующих команд для очистки кэша ARP:
netsh interface IP delete arpcache
или
arp -d
- Перезагрузите компьютер.
Кэш ARP очищен.
Просмотреть содержимое кэша ARP можно с помощью команды
arp -a
Учитывайте, что сразу после очистки в нем начнут появляться новые записи — пустой кэш вы, вероятнее всего, не увидите.
Существует возможность настроить время жизни кэша ARP, изменив значения параметров DWORD (по умолчанию могут отсутствовать):
- ArpCacheLife (120 секунд по умолчанию)
- ArpCacheMinReferencedLife (600 секунд по умолчанию)
в разделе реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Время задается в секундах в десятичной системе счисления.
Неправильно настроенные или просроченные записи ARP-кэша в системе могут быть одной из причин проблем с подключением к сети.
Знаете ли вы, что очистка кэша ARP в вашей системе может устранить проблемы загрузки и ошибки подключения?
В этой статье мы рассмотрим, как проверить и очистить кэш ARP в различных операционных системах.
Содержание
- Что такое кэш ARP?
- Когда надо очищать кэш ARP?
- Как очистить кэш ARP?
- Windows
- Linux
- Mac
- Заключение
Что такое кэш ARP?
ARP расшифровывается как Address Resolution Protocol, который отвечает за обнаружение MAC-адресов и сопоставление их с IP-адресами для успешного взаимодействия с другими системами в локальной сети.
Этот протокол работает между канальным и сетевым уровнями.
Вместо того чтобы каждый раз спрашивать у маршрутизатора, где находится конкретное устройство и каков его mac-адрес, наша система будет просто подключаться, используя ранее разрешенный IP-адрес.
Когда наши системы находят MAC-адреса для конкретного IP-адреса с помощью протокола ARP, они сохраняются в таблице для дальнейшего использования.
Эта таблица называется ARP-кэш.
Она содержит список известных IP-адресов и их MAC-адресов.
ARP-запрос является широковещательным, а ARP-ответ – одноадресным.
Когда надо очищать кэш ARP?
Если IP-адреса связанных с сетью устройств меняются, записи ARP могут быть повреждены или просрочены, а новые записи не всегда отменяют просроченные записи в базе данных.
В результате это может повлиять на производительность сети и вызвать проблемы с загрузкой или подключением.
В этом случае вы можете просто очистить кэш ARP, чтобы решить проблему, поскольку очистка кэша ARP приведет к тому, что все ваши запросы снова пройдут через весь процесс ARP.
Во время этого процесса новые записи будут сохранены в таблице ARP.
Во время восстановления таблицы ARP-кэша могут возникнуть некоторые ошибки, поэтому не рекомендуется постоянно удалять ARP-кэш.
Вместо этого вы можете перезагрузить маршрутизатор или систему, чтобы решить проблемы с подключением.
Как очистить кэш ARP?
Мы можем легко очистить кэш ARP в любой операционной системе с помощью командной строки.
Давайте начнем.
Windows
Шаг 1: Откройте командную строку и запустите ее от имени администратора.
Шаг 2: Чтобы просмотреть таблицу ARP-кэша, просто введите следующую команду.
Пример вывода:
C:\WINDOWS\system32>arp -a
Interface: 192.168.29.64 --- 0xd
Internet Address Physical Address Type
192.168.29.1 a8-da-0c-e8-0e-e6 dynamic
224.0.0.22 01-00-5e-00-00-16 static
224.0.0.251 01-00-5e-00-00-fb static
224.0.0.252 01-00-5e-00-00-fc static
Interface: 192.168.56.1 --- 0x14
Internet Address Physical Address Type
224.0.0.22 01-00-5e-00-00-16 static
224.0.0.251 01-00-5e-00-00-fb static
239.255.255.250 01-00-5e-7f-ff-fa static
C:\WINDOWS\system32>netsh interface IP delete arpcache
Ok.
Вы получите ответ ‘OK’, если воспользуетесь утилитой netsh для очистки таблицы кэша.
Linux
Шаг 1: Откройте терминал и используйте следующую команду утилиты IP для очистки всей таблицы ARP.
ip -s -s neigh flush all
Шаг 2: Если вы хотите удалить запись ARP для определенного адреса, используйте утилиту arp.
arp -d <ip-address>
Шаг 3: После удаления записей вы можете просто использовать следующую команду для просмотра таблицы ARP в Linux.
arp -n
Эта команда выводит всю таблицу arp.
Пример вывода:
arp -d 10.0.2.1
# arp -n
Address HWtype HWaddress Flags Mask Interface
10.0.2.1 (incomplete)
10.0.2.2 ether 01:00:5e:00:00:fc C eth0
10.0.2.3 ether a8:da:0c:e8:0e:e6 C eth0
Здесь можно увидеть, что запись в кэше для конкретного адреса очищена.
Mac
Шаг 1: Откройте терминал на вашем mac и используйте следующие команды.
Шаг 2: Чтобы просмотреть существующие записи ARP.
- Шаг 4: Очистить всю таблицу кэша
$ sudo arp -a ? (192.168.29.1) at 01:00:5e:00:00:fc on en0 ifscope [ethernet] ? (192.168.2.13) at a8:da:0c:e8:0e:e6 on en0 ifscope [ethernet] ? (192.168.1.21) at 01:00:5e:00:0e:16 on en0 ifscope permanent [ethernet] $ sudo arp -a -d 192.168.29.1 (192.168.29.1) deleted 192.168.2.13 (192.168.2.13) deleted 192.168.1.21 (192.168.1.21) deleted
Заключение
Если вы не можете пинговать определенный IP-адрес в той же сети, даже если они работают правильно, это признак того, что что-то не так.
Возможно, ваша таблица ARP-кэша нуждается в повторном восстановлении.
Надеюсь, эта статья была полезна для вас, чтобы узнать, как очистить ARP-кэш в различных операционных системах.
Возможно, вам также будет интересно узнать
- 🐧 Как использовать команду arping на Linux
- Используйте arp-scan для поиска скрытых устройств в вашей сети
- Как реализовать ARP спуффинг атаку
- Атака ICMP, ARP или DNS-кэша, обнаруженная ESET | Корреляция False Positive
Протокол разрешения адресов — важный компонент, необходимый для работы с IP-адресами в любой операционной системе. Он связывает адресацию Ethernet (IP-адреса) с аппаратной адресацией (MAC-адресами). Без этого протокола компьютер не удалось бы подключить к внешней сети, поскольку одна система адресации не могла бы взаимодействовать с другой.
ARP-кэш — это сборник записей ARP (преимущественно динамических), которые создаются при сопоставлении имени хоста с IP-адресом и IP-адреса с MAC-адресом, что необходимо для эффективного взаимодействия компьютера с этим IP.
Карта адресов, полученная в процессе сопоставления, сохраняется на компьютере в ARP-кэше и остается там до истечения срока ее действия. Как правило, никаких проблем это не создает, но в некоторых случаях поврежденная запись ARP может препятствовать нормальному подключению к Интернету и загрузке веб-страниц. В такой ситуации можно попытаться очистить ARP-кэш, чтобы решить проблему. Правда, тогда компьютеру придется создавать кэш заново, но это происходит довольно быстро.
Очистка ARP-кэша выполняется исключительно из командной строки, так что разомните пальчики и приготовьтесь печатать. Показав, как очистить ARP-кэш, я объясню, как им можно управлять с помощью определенных командных переключателей.
Очистка кэша
Шаг первый: вызов командной строки
Откройте меню «Пуск» (Start) и введите в строке поиска «cmd» (без кавычек), но [Enter] не нажимайте. Вместо этого нажмите на ссылке «cmd.exe» правой кнопкой мыши и выберите опцию «Запуск от имени администратора» (Run as Administrator, рис. A). Подтвердите выполнение операции в окне контроля учетных записей (UAC) и увидите окно командной строки.
Рисунок A. Если значок командной строки уже закреплен в меню «Пуск», пользоваться поиском не придется.
Шаг второй: выполнение команды
Для начала выполните команду arp -a. Она выведет список всех хранящихся на компьютере записей ARP (рис. B). Естественно, -a — далеко не единственная доступная опция. Команда arp также поддерживает следующие переключатели:
• -d — удаление IP-адреса (например, arp -d 192.168.100.10);
• -d -a — удаление всех записей в таблице ARP;
• -s — добавление записи в таблицу ARP (команда arp -s АДРЕС MAC-АДРЕС, где АДРЕС — это адрес, который нужно добавить, а MAC-АДРЕС — MAC-адрес компьютера).
Рисунок B. На снимке показан ARP-кэш для двух разных интерфейсов на одном компьютере. Нажмите, чтобы увеличить.
Чтобы полностью очистить кэш, выполните команду netsh interface ip delete arpcache. Она удалит весь ARP-кэш, и при следующем подключении к сети он начнет заполняться заново.
Как проверить, удалась ли очистка
Очистив ARP-кэш, обязательно проверьте, удалась ли операция, выполнив команду arp -a. Если кэш не был очищен, вполне вероятно, что в этом виноват баг Windows, который проявляется при включении службы «Маршрутизация и удаленный доступ» (Routing and Remote Services). Решить проблему очень легко:
1. Откройте меню «Пуск | Панель управления» (Start | Control Panel).
2. Выберите пункт «Администрирование» (Administrative Tools) в разделе «Система и безопасность» (System And Security).
3. Запустите средство «Управление компьютером» (Computer Management).
4. Разверните раздел «Службы и приложения» (Services and Applications) двойным щелчком.
5. Выделите раздел «Службы» (Services).
6. Найдите в списке пункт «Маршрутизация и удаленный доступ» и дважды щелкните на нем.
7. Выберите опцию «Отключена» (Disable) в выпадающем меню «Тип запуска» (Startup Type).
8. Остановите службу.
Теперь снова попытайтесь очистить ARP-кэш. На этот раз должно получиться.
Диагностика
ARP-кэш также можно использовать для диагностики проблем, связанных с сетевым подключением. В частности, стоит проверить, нет ли в списке недействительных записей ARP с MAC-адресом 00-00-00-00-00-00. Если такие записи имеются, их нужно удалить с помощью переключателя -d. Допустим, в кэше имеется запись вида:
224.0.0.24 00-00-00-00-00-00 static
Чтобы ее удалить, выполните команду arp -d 224.0.0.24 — и проблема будет решена.
В заключение
Существует множество способов диагностики и устранения проблем, связанных с сетевыми подключениями. Очистка ARP-кэша — лишь один из таких способов, но прибегают к ней довольно редко. Тем не менее, в ситуации, когда все остальные методы не дают результата, очистка кэша может немало пригодиться.
Автор: Jack Wallen
Перевод
SVET
Оцените статью: Голосов
Два компа с win xp не видят друг друга в локалке на рабочей группе. Адреса 192.168.0.1 и 192.168.0.2. Чувтсвуется проблема в первом компе, при попытке Испавить в соединении на нем выдается ошибка — «Невозможно завершить исправление. Выполнятся очистка ARP-кэша». Компы не пингуются, однако со второго компа в Сетевом окружении виден первый, но доступа нет — не найден сетевой путь.
Попытка работы с arp из командной строки ничего не дает. Записывал статически соответсвие ip и mac как на первом, так и на втором — ничего. Распечатка таблицы arp, до составления руками — пуста. Лишь изредка на втором виден mac первого как положено динамический. arp -d * не нужна, таблица и так пуста. А исправление все равно не работает, зависая на этой очистке arp. В чем порблема, из-за чего ошибка?
p.s. Да, вот еще странность — на первом компе в состоянии подключения с самого начала значится Отправлено пакетов 34 123 456 789 (такого порядка).
Не обращай особого внимания на этот «Исправить». У меня он тоже не прохдит, хотя всё работает нормально.
Сам себя пингуешь? (ping localhost)
Отключал ли ты виндовые фаерволлы?
Что выдаёт ipconfig /all
Нет ли лишнего в C:\WINDOWS\system32\drivers\etc\hosts
Не мутил ли ты что-то с route? Выведи листинг route print
Сначала надо разобраться с «пингами», а потом уже и с остальным. Как только всё запингуется, так и появятся в арп-таблице соответствующие записи.
А вот на счёт пакетов — действительно странно, очень уж их много. Может вирь сидит?
Изменено пользователем Kobi