arp.exe -d *

arp.exe -d *

  • Comments 3
  • Likes

Podstawy zasad działania sieci mówią, że adres IP musi być przed wysłaniem ramek przetłumaczony na adres fizyczny, czyli na przykład w sieciach ethernetopodobnych (ale nie tylko!) na adres sprzętowy (adres MAC). Oczywiste jest, że poszukiwanie właściwego adresu MAC przed każdą wysłaną ramką byłoby bez sensu, bo komputer o poszukiwanym adresie IP nieczęsto zmienia adres MAC. Stąd dość jasne jest, że po znalezieniu adresu sprzętowego, adres ten trafia do pamięci podręcznej i później w razie potrzeby jest gotowy do użycia. Tkwi tam 10 minut od pierwszego użycia, ale przy każdym kolejnym, czas jego życia jest przedłużany o 20 minut.
Do zarządzania tym, co Windows wie o adresach sprzętowych służy polecenie ARP.exe Nazwa w jasny sposób wynika z nazwy protokołu Address Resolution Protocol (RFC 826), czyli właśnie metody określania MAC, gdy znamy tylko adres IP.
Jedną z ważnych funkcjonalności polecenia ARP.exe jest czyszczenie pamięci podręcznej. Wywołuje się je zazwyczaj w postaci arp.exe –d *
Zaskakująco często jednak, w systemach Windows Vista i Windows Server 2008, polecenie to zamiast wykonać się poprawnie, zwraca błąd: "The ARP entry deletion failed: 87"
Pojawia się pytanie, co oznacza błąd numer 87. W zależności od tego, kto będzie błędu szukał, zajrzy w różne miejsca. Programista sięgnie do plików nagłówkowych, laik do wyszukiwarki a administrator do polecenia NET HELPMSG. Tak czy inaczej odpowiedź będzie jedna: "The parameter is incorrect."
Co dzięki temu wiadomo? Właściwie nic, poza tym, że coś nie jest mocno nie tak, jak być powinno. Błąd jest oczywisty, ale na szczęście niezbyt bolesny. Po pierwsze: rzadko w codziennej pracy pojawia się potrzeba czyszczenia pamięci ARP. Po drugie: często arp –d działa poprawnie. Po trzecie: zastosować można netsh interface ip delete arpcache. A to polecenie jest znacznie od arp.exe nowsze i praktycznie zawsze działa bezbłędnie.

Autor: Grzegorz Tworek

Comments
  • Ta... A może zamiast dzielić ludzi na laików i specjalistów i zastanawiać się jak się zachowają wobec niedziałającego polecenia, dać im DZIAŁAJĄCE polecenie?

  • Nikogo nie dzielę, ale tak czy inaczej kogoś, kto komunikatów błędów własnego systemu szuka w Internecie zamiast we własnym systemie, za specjalistę uznać mi trudno ;)

    A działające polecenie...? hmm. chyba właśnie takie dałem w przedostatnim zdaniu.

    Jeżeli masz na myśli poprawienie programu ARP.EXE, to przeceniasz moje możliwości, ale wykorzystam swoje kanały i zrobię co potrafię, żeby poprawka się pojawiła. Przy czym przed SP2 trzeba założyć, że dostępna będzie tylko dla tych, którzy naprawdę wiedzą, że jej potrzebują.

  • Tak, rozumiem, że sam nic nie zmienisz. Ale bez sensu jest używać

    netsh interface ip delete arpcache

    (weź to w ogóle zapamiętaj)

    jeśli wiadomo, że do arp jest polecenie arp i już.

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment