|
Protokół ARP (Address Resolution Protocol) transluje adresy IP na adresy MAC. Służy do uzyskiwania/poszukiwania informacji o adresie fizycznym MAC komputera znajdującego sie w tej samej podsieci, pod warunkiem, że znamy jego adres sieciowy IP. ARP wykorzystujemy również w celu poszukiwania adresu MAC routera domyślnego (Default Gateway), jeśli komputer chce się skontaktować z komputerem znajdującym się poza naszą podsiecią. Protokół ARP został zdefiniowany w RFC826 "An Ethernet Address Resolution Protocol --or-- Converting Network Protocol Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware "
Pakiet ARP Request
Przykład pakietu ARP Request (zapytanie ARP) wygenerowanego przez komputer o adresie sieciowym IP 10.0.0.138 i adresie MAC 00:1d:e1:03:03:03, który poszukuje adresu MAC komputera o adresie IP 10.0.0.100 (zrzut z Wireshark'a):
No. Time Source Destination Protocol Info
1 3.627816 00:1d:e1:03:03:03 ff:ff:ff:ff:ff:ff ARP Who has 10.0.0.100? Tell 10.0.0.138
Frame 1
[Protocols in frame: eth:arp]
Ethernet II, Src: 00:1d:e1:03:03:03, Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Type: ARP (0x0806)
Address Resolution Protocol (request)
Hardware type: Ethernet (0x0001)
Protocol type: IP (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: request (0x0001) (ARP request)
Sender MAC address: 00:1d:e1:03:03:03 (adres MAC tego komputera)
Sender IP address: 10.0.0.138 (adres IP tego komputera)
Target MAC address: 00:00:00_00:00:00
Target IP address: 10.0.0.100 (adres IP komputera, którego szukamy adres MAC)
Pakiet ARP Reply
Przykład pakietu ARP Reply (odpowiedź ARP) otrzymana od komputera o adresie sieciowym IP 10.0.0.100 i adresie MAC 00:1d:e1:01:01:01. Jest to odpowiedź na ARP request od komputera o adresie sieciowym IP 10.0.0.138 i adresie MAC 00:1d:e1:03:03:03. W polu "Sender MAC address: 00:1d:e1:01:01:01", PC o adresie 10.0.0.138 dostaje informacje o poszukiwanym adresie MAC (zrzut z Wireshark'a):
No. Time Source Destination Protocol Info
2 3.627877 00:1d:e1:01:01:01 00:1d:e1:03:03:03 ARP 10.0.0.100 is at 00:1d:e1:01:01:01
Frame 2
[Protocols in frame: eth:arp]
Ethernet II, Src: 00:1d:e1:01:01:01, Dst: 00:1d:e1:03:03:03
Type: ARP (0x0806)
Address Resolution Protocol (reply)
Hardware type: Ethernet (0x0001)
Protocol type: IP (0x0800)
Hardware size: 6
Protocol size: 4
Opcode: reply (0x0002)
Sender MAC address: 00:1d:e1:01:01:01 (adres MAC tego komputera - poszukiwany MAC)
Sender IP address: 10.0.0.100 (adres IP komputera odpowiadającego na ARP request)
Target MAC address: 00:1d:e1:03:03:03 (adres MAC komputera, który wysłał ARP request)
Target IP address: 10.0.0.138 (adres IP komputera, który wysłał ARP request)
Tablica ARP
Tablica ARP (badź ARP cache) służy dowolnemu systemowi bedącemu w sieci do szybkiego rozwiązywania adresów sieciowych IP na adresy fizyczne MAC, bez potrzeby wysyłania pakietów ARP. Tablica ARP może być budowana statycznie bądź dynamicznie. Dynamiczne budowanie tablicy opiera się o protokół ARP, czyli jeśli system (komputer, router) otrzyma pakiet ARP, bądź dostanie odpowiedź na swoje zapytanie ARP, to wpisuje informacje o skojarzeniu adresu IP z adresem MAC do swojej tablicy lokalnej ARP. Podczas komunikacji z dowolnym komputerem w naszej podsieci IP, w tej tablicy będą wszystkie te powiązania adresów IP z adresami MAC, z którymi się komunikujemy (do których wysyłamy/odbieramy pakiety IP). Oczywiście każda tablica ARP ma określony czas życia danego wpisu (ARP aging time). Domyślnie w systemie Windows XP jest to 10 minut.
Przykład wyświetlenia tablicy ARP w systemie Windows XP.
C:\>arp -a
Interface: 10.0.0.100 --- 0x3
Internet Address Physical Address Type
10.0.0.101 00:1d:e1:02:02:02 dynamic
10.0.0.138 00:1d:e1:03:03:03 dynamic |
Przykład wyczyszczenia tablicy ARP (polecenie arp -d * ) w systemie Windows XP i ponowne jej wyświetlenie po wyczyszczeniu (arp -a). "No ARP Entries Found" - brak wpisów w tablicy ARP.
C:\>arp -d *
C:\>arp -a
No ARP Entries Found
C:\> |
Przykład wyświetlenia informacji o konfiguracji IP w systemie Windows XP, gdzie mamy podany adres IP i adres MAC naszego komputera.
C:\>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : LocalPC
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Peer-Peer
IP Routing Enabled . . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . :
Ethernet adapter LocalLAN:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel 10/100Mbit Card
Physical Address. . . . . . . . . : 00-1d-e1-01-01-01
Dhcp Enabled . . . . . . . . . . . : No
IP Address . . . . . . . . . . . . : 10.0.0.100
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.0.0.138
DNS Servers . . . . . . . . . . . : 10.0.0.138
|
|