arp.exe -d *


Podstawy zasad dzialania sieci mówia, ze adres IP musi byc przed wyslaniem ramek przetlumaczony na adres fizyczny, czyli na przyklad w sieciach ethernetopodobnych (ale nie tylko!) na adres sprzetowy (adres MAC). Oczywiste jest, ze poszukiwanie wlasciwego adresu MAC przed kazda wyslana ramka byloby bez sensu, bo komputer o poszukiwanym adresie IP nieczesto zmienia adres MAC. Stad dosc jasne jest, ze po znalezieniu adresu sprzetowego, adres ten trafia do pamieci podrecznej i pózniej w razie potrzeby jest gotowy do uzycia. Tkwi tam 10 minut od pierwszego uzycia, ale przy kazdym kolejnym, czas jego zycia jest przedluzany o 20 minut.
Do zarzadzania tym, co Windows wie o adresach sprzetowych sluzy polecenie ARP.exe Nazwa w jasny sposób wynika z nazwy protokolu Address Resolution Protocol (RFC 826), czyli wlasnie metody okreslania MAC, gdy znamy tylko adres IP.
Jedna z waznych funkcjonalnosci polecenia ARP.exe jest czyszczenie pamieci podrecznej. Wywoluje sie je zazwyczaj w postaci arp.exe –d *
Zaskakujaco czesto jednak, w systemach Windows Vista i Windows Server 2008, polecenie to zamiast wykonac sie poprawnie, zwraca blad: "The ARP entry deletion failed: 87"
Pojawia sie pytanie, co oznacza blad numer 87. W zaleznosci od tego, kto bedzie bledu szukal, zajrzy w rózne miejsca. Programista siegnie do plików naglówkowych, laik do wyszukiwarki a administrator do polecenia NET HELPMSG. Tak czy inaczej odpowiedz bedzie jedna: "The parameter is incorrect."
Co dzieki temu wiadomo? Wlasciwie nic, poza tym, ze cos nie jest mocno nie tak, jak byc powinno. Blad jest oczywisty, ale na szczescie niezbyt bolesny. Po pierwsze: rzadko w codziennej pracy pojawia sie potrzeba czyszczenia pamieci ARP. Po drugie: czesto arp –d dziala poprawnie. Po trzecie: zastosowac mozna netsh interface ip delete arpcache. A to polecenie jest znacznie od arp.exe nowsze i praktycznie zawsze dziala bezblednie.

Autor: Grzegorz Tworek

Comments (3)

  1. Anonymous says:

    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ą.

  2. Jakub Anderwald says:

    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?

  3. Jakub Anderwald says:

    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ż.

Skip to main content