|
Gratuitous ARP (Address Resolution Protocol) jest pakietem generowanym przez urządzenia sieciowe (komputer, router, serwer) w kilku przypadkach:
-
gdy ustawimy adres IP na pracującym interfejsie sieciowym (np. karcie ethernet w PC)
-
gdy interfejs zostanie włączony, a był wyłączony.
Gratuitous ARP Request
Przykład pakietu Gratuitous ARP Request (zapytania) wygenerowanego przez komputer o adresie sieciowym IP 10.0.0.100 i adresie MAC 00:1d:e1:01:01:01, podczas podłączenia kabla sieciowego do karty Ethernet (zrzut z Wireshark'a):
No. Time Source Destination Protocol Info
1 00.005397 00:1d:e1:01:01:01 Broadcast ARP Gratuitous ARP for 10.0.0.100 (Request)
Frame 1
[Protocols in frame: eth:arp]
Ethernet II, Src: 00:1d:e1:01:01:01, Dst: ff:ff:ff:ff:ff:ff (Broadcast)
Type: ARP (0x0806) (protokół ARP)
Address Resolution Protocol (request/gratuitous ARP)
Hardware type: Ethernet (0x0001)
Protocol type: IP (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: request (0x0001) (gratuitous ARP request)
Sender MAC address: 00:1d:e1:01:01:01 (adres MAC tego komputera)
Sender IP address: 10.0.0.100 (adres IP tego komputera)
Target MAC address: 00:00:00_00:00:00 (bez znaczenia)
Target IP address: 10.0.0.100 (adres IP tego komputera)
Konflikt adresów IP i Gratuitous ARP (ARP Probe)
Pakiet Gratuitous ARP służy również do wykrywania konfliktów adresów IP w naszej podsieci (tzw. ARP Probe). Każde urządzenie sieciowe podłączone do sieci generuje pakiet gratuitous ARP, aby w ten sposób poinformować inne urządzenia sieciowe (np. komputery) o swoim adresie IP i adresie MAC oraz by switche mogły zarejestrować dany adres MAC w lokalnej tabeli przekazywania (tablica CAM - Content Addressable Memory - przyporządkowanie adresu MAC do konkretnego portu fizycznego w switchu), a routery mogły zarejestrować dany adres IP i adres MAC w tablicy ARP.
Jeśli dany komputer otrzyma pakiet ARP (odpowiedź na gratuitous ARP) z takim samym adresem źródłowym jaki ma ustawiony w ciągu 3 sekund , to interfejs sieciowy powinien zostać wyłączony, by nie powodować problemów w sieci, a także powinien wygenerować odpowiedni alarm o konflikcie adresów IP.
Przykład pakietu Gratuitous ARP Reply (odpowiedź) otrzymanego od komputera o adresie sieciowym IP 10.0.0.100 i adresie MAC 00:1d:e1:02:02:02, czyli konflikt adresów IP z komputerem o tym samym adresie IP i adresie MAC 00:1d:e1:01:01:01, (zrzut z Wireshark'a):
No. Time Source Destination Protocol Info
1 03.034122 00:1d:e1:02:02:02 Broadcast ARP Gratuitous ARP for 10.0.0.100 (Request)
Frame 1
[Protocols in frame: eth:arp]
Ethernet II, Src: 00:1d:e1:02:02:02, Dst: ff:ff:ff:ff:ff:ff (Broadcast)
Type: ARP (0x0806) (protokół ARP)
Address Resolution Protocol (reply/gratuitous ARP)
Hardware type: Ethernet (0x0001)
Protocol type: IP (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: reply (0x0002) (gratuitous ARP reply)
Sender MAC address: 00:1d:e1:02:02:02 (adres MAC tego komputera)
Sender IP address: 10.0.0.100 (adres IP tego komputera)
Target MAC address: 00:1d:e1:01:01:01 (adres MAC komputera, który wysłał gratuitous ARP request)
Target IP address: 10.0.0.100 (adres IP tego komputera)
|