ARP
Z Wikipedii
ARP (ang. Address Resolution Protocol) - protokół komunikacyjny przekształcania adresów IP (ustalanych autorytarnie przez użytkownika/administratora) na fizyczne, 48-bitowe adresy MAC (przypisane fizycznie m.in. do kart sieciowych) w komputerowych sieciach lokalnych typu Ethernet.
Każdy komputer w sieci powinien posiadać tzw. tablicę ARP. Znajduje się w niej adres IP i przypisany do niego adres MAC. Dzięki temu komputery mogą się ze sobą komunikować za pośrednictwem adresu MAC, ale tylko w obrębie danej sieci LAN. Jeśli jakieś informacje mają być przesłane do innej sieci (lub podsieci w sieci złożonej, sieci oddzielonej routerem, itp.), to adres MAC musi być zastąpiony adresem IP.
ARP jest protokołem pracującym na drugiej warstwie modelu ISO/OSI, czyli warstwie łącza danych, ponieważ pracuje ona na ramkach i może je analizować tzn. np. sprawdzać ich poprawność.
Protokół ARP jest zdefiniowany w dyrektywie RFC 826.
Spis treści |
[edytuj] Zasada działania
ARP działa w następujący sposób:
- Utworzenie pakietu z szukanym adresem IP.
- Wysłanie pakietu w obrębie danej sieci.
- Wysłany pakiet odbierają wszystkie hosty podłączone do sieci. Jako jedyny odpowiada host o szukanym IP - przesyła pakiet z odpowiedzią zawierającą adres MAC.
- Host szukający po odebraniu pakietu z szukanym adresem MAC zapisuje go w pamięci podręcznej, dzięki czemu nie musi później szukać jeszcze raz tego samego adresu.
Często po podłączeniu do sieci host rozsyła zapytanie ARP o własny adres. Odpowiedzi nie będzie (gdyż nie mogą być w danej sieci dwa komputery o tym samym IP), ale każdy inny host może zapisać w pamięci podręcznej dane o nowym hoście przyłączonym do sieci.
Źródła: Tanenbaum A. S.: Sieci komputerowe. Gliwice, Wydawnictwo Helion, 2004
[edytuj] Struktura pakietu
|
[edytuj] Ataki z wykorzystaniem ARP
Protokół ARP można wykorzystać do ataku na sieci Ethernet wykorzystujące switche. Kiedy sieci lokalne oparte były na hubach, wystarczyło przestawić kartę sieciową w tryb odbioru wszystkich pakietów (tryb promiscuous), aby podsłuchać całą komunikację. Potrafiły to programy nazywanie snifferami. Podsłuch był możliwy dzięki temu, że hub wysyłał wszystkie pakiety do każdego urządzenia sieciowego niezależnie od jego adresu MAC.
Kiedy pojawiły się inteligentne switche, możliwość ta została zablokowana. Switch wysyła pakiet Ethernetowy tylko do właściwej karty sieciowej, a nie do wszystkich. Aby podsłuchiwać sieć opartą na tej technologii, można wykorzystać dynamiczne tablice ARP (ang. ARP cache).
Gdy użytkownik chce przesłać dane do komputera o adresie IP 192.168.1.34, to:
- Karta sieciowa w komputerze źródłowym wysyła zapytanie ARP: kto ma adres IP 192.168.1.34?
- Karta sieciowa w komputerze docelowym o adresie MAC 00:07:95:03:1A:7E wysyła odpowiedź: Hej to ja!
- W komputerze nadawcy zostaje do dynamicznej tablicy ARP dodany wpis: IP 192.168.1.34 -> MAC 00:07:95:03:1A:7E.
- Wszystkie pakiety z docelowym adresem IP 192.168.1.34 są przez warstwę łącza danych tłumaczone na pakiety z docelowym adresem MAC 00:07:95:03:1A:7E.
W każdym komputerze powstaje w ten sposób dynamiczna tablica ARP, w której przechowywane są pary adresów MAC oraz IP.
Jednakże na jednym z urządzeń podstępny cracker może uruchomić program, który oszukuje karty sieciowe. Sniffer tego typu działa w następujący sposób:
- Karta sieciowa w komputerze źródłowym wysyła zapytanie ARP: Kto ma adres IP 192.168.1.34?
- Karta sieciowa w komputerze crackera o adresie MAC 00:C0:DF:01:AE:43 wysyła odpowiedź: Hej to ja!
- W komputerze nadawcy do dynamicznej tablicy ARP trafia wpis: IP 192.168.1.34 -> MAC 00:C0:DF:01:AE:43.
- Wszystkie pakiety z docelowym adresem IP 192.168.1.34 są przez warstwę łącza danych tłumaczone na pakiety z docelowym adresem MAC 00:C0:DF:01:AE:43 i trafiają do komputera crackera.
- Karta sieciowa w komputerze crackera wysyła pytanie: Kto ma adres IP 192.168.1.34, żeby wiedzieć kto naprawdę powinien dostać przechwycone pakiety.
- Karta sieciowa w komputerze docelowym o adresie MAC 00:07:95:03:1A:7E wysyła odpowiedź: Hej to ja!
- Wszystkie pakiety z docelowym adresem IP 192.168.1.34 hacker wysyła do ich prawdziwego odbiorcy z adresem MAC 00:07:95:03:1A:7E.
Tego typu technika sniffingu określana jest jako zatruwanie tablicy ARP przez człowieka w środku (ang. the ARP poisoning man in the middle attack). Dzięki jej wykorzystaniu można podsłuchiwać ruch w sieciach ze switchami. Nieszyfrowana komunikacja bez podpisów cyfrowych w sieci Ethernet zawsze narażona jest na atak i nigdy nie powinno się wykorzystywać jej do przesyłania tajnych informacji.
[edytuj] Zobacz też
[edytuj] Linki zewnętrzne
- RFC 826 - specyfikacja protokołu ARP (en)
- Przykładowa implementacja protokołu ARP za pomocą bibliotek libnet i libpcap
Warstwa aplikacji
ADSP • APPC • AppleTalk • AFP • DAP • DLC • DNS(53) • ed2k • FTAM • FTP(20,21) • HTTP(80) • HTTPS(443) • IMAP(143) • IRC(194,529) • Named Pipes • NCP(524) • NetBIOS(137,138,139) •
NWLink • NBT • NNTP(119) • NTP(123) • PAP • POP3(110) • RPC • SNMP(161,162) • SMTP(25) • SMB • SSL • SSH(22) • TDI • Telnet(23) • X.400 • X.500 • XDR • ZIP
(Cyfry w nawiasach oznaczają numery portu)
Warstwa transportowa
AEP • ATP • NBP • NetBEUI • RTMP • RTP • SPX • TCP • UDP,
Warstwa sieciowa
ARP • IP • ICMP • IPsec • NAT • NWLink • NetBEUI • DDP
Warstwa dostępu do sieci
10BASE-T • 802.11 WiFi • ADSL • Ethernet • EtherTalk • Fibre Channel • ISDN • LocalTalk • NDIS • ODI • PPP • RS-232 •
SLIP • Token Ring • TokenTalk • V.90