Dažnai jums reikia žinoti, kokie įrenginiai yra prijungti prie jūsų tinklo. Taip būna, jei norite prisijungti prie vieno iš kompiuterių ir nežinote jo adreso, jei tiesiog norite įsitikinti, ar jūsų tinklas saugus, ar ne, arba jei norite rasti visus paslėptus įrenginius. Naudodami ARP nuskaitymo funkciją galite rasti visus prijungtus įrenginius, įskaitant paslėptus įrenginius.
ARP (Address Resolution Protocol) - tai protokolas, naudojamas kompiuterių tinkluose ryšiui tarp tinklo mazgų palaikyti. Jis naudojamas tinklo įrenginių IP adresams atvaizduoti į jų fizinius MAC adresus. Kai tinklo mazgas nori siųsti duomenis kitam mazgui, jis naudoja ARP, kad nustatytų gavėjo MAC adresą pagal jo IP adresą.
"Linux" sistemoje ARP lentelė saugoma operatyviojoje atmintyje ir joje yra kitų tinklo įrenginių IP adresų ir MAC adresų atitikmenys. ARP lentelės turinį "Linux" galite peržiūrėti naudodami komandą arp -a. "Linux" yra įrankių, kuriais galima atlikti ARP operacijas, pavyzdžiui, pridėti statinius ARP įrašus arba išvalyti ARP talpyklą. ARP yra svarbus TCP/IP tinklų veikimo elementas ir atlieka lemiamą vaidmenį bendraujant vietinio tinklo įrenginiams.
Kiekvienas kompiuterių tinklas turi IP adresą - tai žino visi. Ar kada nors susimąstėte, kuriam kompiuteriui priskirtas konkretus adresas? Žinoma, kad yra įvairių tinklų - laidiniai, belaidžiai, ppp. Kiekviename tinkle kompiuterio aparatinis adresas turi skirtingą formatą, kuris priklauso nuo vietinio tinklo konstrukcijos ypatybių.
Paaiškinkime, kad iš tikrųjų viskas labai paprasta. Fiziniam adresui konvertuoti į IP teikiamas ARP, Paprasčiau tariant, tai adresų skirstymo protokolas. Kai kompiuteris patenka į tinklą, jis pateikia užklausą kitiems kompiuteriams ir užduoda klausimą - ""Kas turi IP adresą XXX.XXX.X.X.X.X
"". Jo atsakymas nėra ignoruojamas, tačiau atrodo šiek tiek kitaip - "Aš turiu, mano adresas yra xx:xx:xx:xx:xx:xx:xx
". Tai reiškia, kad atsakant siunčiamas fizinis adresas. Šis adresas įrašomas į specialią lentelę.
Reikėtų pasakyti, kad ARP pranešimų formatas yra labai paprastas. Pranešime slepiasi arba užklausa su IP adresu, arba atsakymas. Pranešimo dydis priklauso nuo protokolo - IPv4 arba IPv6, tinklo įrangos tipo. Pranešimo antraštėje nurodomi šių pranešimų tipai ir dydžiai. Antraštė baigiasi pranešimo kodu. Užklausos atveju kodas yra 1, o atsakymo atveju - 2. Pranešimo turinyje yra keturi siuntėjui ir gavėjui priklausantys adresai, techninės įrangos ir tinklo adresai.
ARP skenavimo programa, dar vadinama MAC skeneriu, yra patogi ir funkcionali priemonė, skirta "Linux" vietiniam tinklui skenuoti naudojant ARP. Programa rodo tinklo įrenginių Pv4 adresus. ARP ypatybė yra ta, kad ji nesusijusi su maršrutizavimu. Šis skenavimo būdas tinka tik vietiniams tinklams. Programa aptinka aktyvius įrenginius, kompiuteriai negali pasislėpti nuo ARP. Jei kompiuterį reikia aptikti už vietinio tinklo ribų, naudojamas ping skenavimas.
Tinklo skaitytuvą galima naudoti su šiomis OS:
Norėdami įdiegti, mes atliksime:
$ sudo apt install arp-scan
Programos pagalba galėsite surasti visus aktyvius kompiuterius tiek laidiniuose eterneto tinkluose, tiek belaidžiuose "Wifi" tinkluose. PPP ir SLIP ryšiai nepateikiami, nes juose nėra ARP. Su programa turėtumėte dirbti turėdami supernaudotojo teises.
Pradžioje nustatome tinklo sąsają naudodami ip
programą:
$ ip addr list
Čia matome enp24s0
. Lengviausia tai padaryti naudojant ARP, nuskaitant ir išeinant iš kiekvieno prie tinklo prijungto kompiuterio - paleiskite programą nustatę parametrus:
$ sudo arp-scan --interface=enp24s0 --localnet
Matome parametrą --interface
, nurodantį nuskaitymo sąsają, ir --localnet
, nurodantį taikyti visus galimus dabartinio tinklo IP adresus.
Jei nepateiksime pirmojo parametro, programa ieškos visų mazgų sąsajos, kurios numeris sistemoje yra mažesnis. Mūsų atveju tai yra enp24s0
.
Vietoj parametro --localnet galima nurodyti tinklo kaukę:
$ sudo arp-scan --interface=enp24s0 10.0.1.0/24
ARP taip pat tinka, jei sąsaja neturi savo IP adreso. Šiuo atveju išeinantis adresas yra 0.0.0.0.0.0. Tačiau ne visos sistemos atsakys į tokią užklausą Todėl šioje situacijoje skeneris bus neveiksmingas.
Yra kelios priežastys, kodėl ARP tinkle gali neveikti tinkamai. Kai kurios iš dažniausiai pasitaikančių problemų yra šios:
Norint diagnozuoti ir pašalinti ARP problemas, rekomenduojama patikrinti tinklo aparatinės įrangos nustatymus, išanalizuoti IP adresavimo konfigūraciją ir naudoti įrankius tinklo srautui stebėti ir analizuoti.