Často potrebujete vedieť, ktoré zariadenia sú pripojené k vašej sieti. Je to v prípade, ak sa chcete pripojiť k jednému z vašich počítačov a nemáte jasnú predstavu o jeho adrese, alebo ak sa len chcete uistiť, či je vaša sieť zabezpečená alebo nie, prípadne ak chcete nájsť všetky skryté zariadenia. Pomocou skenovania ARP môžete nájsť všetky pripojené zariadenia vrátane skrytých zariadení.
ARP (Address Resolution Protocol) je protokol používaný v počítačových sieťach na komunikáciu medzi uzlami siete. Používa sa na mapovanie IP adries sieťových zariadení na ich fyzické MAC adresy. Keď uzol v sieti chce poslať údaje inému uzlu, použije ARP na určenie adresy MAC príjemcu na základe jeho adresy IP.
V systéme Linux je tabuľka ARP uložená v pamäti RAM a obsahuje zhody medzi adresami IP a adresami MAC iných zariadení v sieti. Obsah tabuľky ARP v systéme Linux môžete zobraziť pomocou príkazu arp -a. Linux poskytuje nástroje na vykonávanie operácií ARP, ako je pridávanie statických položiek ARP alebo vymazávanie vyrovnávacej pamäte ARP. ARP je dôležitým prvkom pri fungovaní sietí TCP/IP a zohráva kľúčovú úlohu pri komunikácii medzi zariadeniami v miestnej sieti.
Každá počítačová sieť má adresu IP - to vie každý. Zamýšľali ste sa niekedy nad tým, ktorý počítač má pridelenú konkrétnu adresu? Je známe, že existujú rôzne siete - káblové, bezdrôtové, ppp. V každej sieti má hardvérová adresa výpočtového stroja iný formát, ktorý závisí od konštrukčných vlastností miestnej siete.
Vysvetlíme si to, všetko je vlastne veľmi jednoduché. Na prevod fyzickej adresy na IP slúži ARP, Jednoducho povedané, ide o protokol na prekladanie adries. Keď počítač vstúpi do siete, zašle požiadavku ostatným počítačom a položí otázku - ""Kto má adresu IP XXX.XXX.X.X.X
"". Jeho odpoveď sa neignoruje, ale vyzerá trochu inak - "Ja áno, moja adresa je xx:xx:xx:xx:xx:xx
". To znamená, že v odpovedi je odoslaná fyzická adresa. Táto adresa sa zapíše do špeciálnej tabuľky.
Treba povedať, že formát správ ARP je mimoriadne jednoduchý. V správe sa skrýva buď požiadavka s adresou IP, alebo odpoveď. Veľkosť správy závisí od protokolu - IPv4 alebo IPv6, typu sieťového zariadenia. V hlavičke správy sú uvedené typy a veľkosti týchto správ. Hlavička sa končí kódom správy. Pre žiadosť je kód 1 a pre odpoveď je kód 2. Telo správy obsahuje štyri adresy, hardvérové a sieťové adresy, ktoré patria odosielateľovi a príjemcovi.
Nástroj ARP Scan, nazývaný aj MAC Scanner, je praktický, funkčný nástroj na skenovanie lokálnej siete Linux pomocou ARP. Program zobrazuje adresy Pv4 sieťových zariadení. Zvláštnosťou ARP je, že nezahŕňa smerovanie. Tento typ skenovania je vhodný len pre lokálne siete. Program zisťuje aktívne zariadenia, počítače sa pred ARP nemôžu skryť. Ak je potrebné zistiť počítač mimo lokálnej siete, používa sa skenovanie ping.
Network Scanner je k dispozícii pre nasledujúce operačné systémy:
Inštaláciu vykonáme:
$ sudo apt install arp-scan
Pomocou programu budete môcť nájsť všetky aktívne počítače v káblových ethernetových sieťach aj v bezdrôtových sieťach Wifi. Pripojenia PPP a SLIP sa neposkytujú, pretože v nich nie je ARP. S nástrojom by ste mali pracovať pod právami superpoužívateľa.
Na začiatku zistíme sieťové rozhranie pomocou programu ip
:
$ ip addr list
Vidíme tu enp24s0
. Najjednoduchšie to urobíme pomocou ARP, skenovaním a výstupom z každého počítača pripojeného k sieti - spustíme program nastavením parametrov:
$ sudo arp-scan --interface=enp24s0 --localnet
Vidíme parameter --interface
, ktorý určuje skenovacie rozhranie, a --localnet
, ktorý určuje použitie všetkých možných IP adries pre aktuálnu sieť.
Ak vynecháme prvý parameter, program bude vyhľadávať všetky uzly pre rozhranie s nižším číslom v systéme. V našom prípade je to enp24s0
.
Namiesto parametra --localnet môžete zadať masku siete:
$ sudo arp-scan --interface=enp24s0 10.0.1.0/24
ARP je vhodný aj vtedy, ak rozhranie nemá vlastnú IP adresu. V tomto prípade je odchádzajúca adresa 0.0.0.0.0. Nie všetky systémy však na takúto požiadavku odpovedia Preto bude v tejto situácii skener neúčinný.
Existuje niekoľko dôvodov, prečo ARP nemusí v sieti fungovať správne. Medzi najčastejšie problémy patria tieto:
Na diagnostiku a riešenie problémov s ARP sa odporúča skontrolovať nastavenia sieťového hardvéru, analyzovať konfiguráciu adresovania IP a používať nástroje na monitorovanie a analýzu sieťovej prevádzky.