Skocz do…

ARP ping

Powrót do „Skocz do”

Czas jakiś temu zainstała u mnie potrzeba sprawdzenia, na komputerze bez przydzielonego adresu sieciowego, czy komputer o danym adresie istnieje. Chciałem mianowicie, zależnie od wyników sprawdzenia skonfigurować sieć statycznie lub dynamicznie. Stosunkowo szybko doszedłem do wniosku, iż szczególną uwagę należy zwrócić na protokół ARP.

W protokole Ethernet urządzenia są rozpoznawane za pomocą adresów MAC, a więc, aby móc wysłać pakiet do komputera o danym IP należy najpierw poznać jego adres sprzętowy. Do tego właśnie służy protokół ARP (gwoli ścisłości, może on być wykorzystany również przy innych protokołach warstwy drugiej i trzeciej).

Jak to działa? Pierwsza strona rozsyła do wszystkich (na adres broadcast, tj. FF:FF:FF:FF:FF:FF) zapytanie, wypełniając swój adres IPMAC oraz adres IP, o który chce się zapytać. W odpowiedzi, druga strona wysyła ramkę ze oboma adresami swoimi i komputera wysyłającego pytanie.

Nie każdy zdaje sobie sprawę, iż protokół ten można wykorzystywać nawet jeżeli nie ma się swojego adresu sieciowego–wówczas w odpowiednie pole wpisujemy same zera. W niczym to nie przeszkadza–w żadnym momencie protokół warstwy trzeciej nie jest wszak wykorzystywany.

Warto wspomnieć, iż mechanizm ten jest wykorzystywany przez klientów DHCP, do sprawdzania (na wszelki wypadek), czy adres im nadany jest faktycznie wolny–nazywa się to Adress Conflict Detection.

Dla zainteresowanych aplikacja, która próbuje wykryć adres sprzętowy urządzenia o podanym adresie sieciowym.

W kategoriach:

Słowa kluczowe:

Komentarze (atom) Komentarze

Powrót do „Skocz do”

»» Sad

  • Dodano:2008/06/07, 07:53

Co więcej, komputer zawsze odpowie na arpinga bez względu na to, jak bardzo restrykcyjnego firewalla byśmy nie mieli*. Przydatne jest to do sprawdzania, czy dany komputer „żyje” czy nie.

*) No chyba, że ktoś jest maniakiem i do tego guru.

»» Outlaw

  • Dodano:2008/06/23, 00:21

Sad komputer nie odpowie tylko jego karta sieciowa odpowie :) W szak to tam praktycznie kończy się sieć do której jest wpięty nasz komputer :)

Dodaj komentarz

(markdown)
Jeśli nie widzisz obrazka, to niestety nie skomentujesz...