Gyakran szükséged van arra, hogy tudd, mely eszközök csatlakoznak a hálózatodhoz. Ez a helyzet akkor, ha valamelyik számítógépedhez szeretnél csatlakozni, de nincs világos elképzelésed a címéről, vagy ha csak meg akarsz győződni arról, hogy a hálózatod biztonságos-e vagy sem, vagy ha meg akarod találni az összes rejtett eszközt. Az összes csatlakoztatott eszközt, beleértve a rejtett eszközöket is, megtalálhatja az ARP-vizsgálat segítségével.
Az ARP (Address Resolution Protocol) egy protokoll, amelyet a számítógépes hálózatokban a hálózati csomópontok közötti kommunikációra használnak. Arra szolgál, hogy a hálózati eszközök IP-címeit hozzárendelje azok fizikai MAC-címéhez. Amikor egy hálózati csomópont adatot akar küldeni egy másik csomópontnak, az ARP segítségével az IP-cím alapján meghatározza a címzett MAC-címét.
A Linuxban az ARP-tábla a RAM-ban tárolódik, és a hálózaton lévő más eszközök IP-címei és MAC-címei közötti egyezéseket tartalmazza. Az ARP-tábla tartalmát Linuxban az arp -a parancs segítségével tekintheti meg. A Linux eszközöket biztosít az ARP műveletek elvégzéséhez, például statikus ARP bejegyzések hozzáadásához vagy az ARP gyorsítótár törléséhez. Az ARP fontos eleme a TCP/IP hálózatok működésének, és döntő szerepet játszik a helyi hálózaton lévő eszközök közötti kommunikációban.
Minden számítógépes hálózatnak van IP-címe - ezt mindenki tudja. Gondolkodott már azon, hogy melyik számítógéphez van hozzárendelve egy adott cím? Köztudott, hogy vannak különböző hálózatok - vezetékes, vezeték nélküli, ppp. Minden hálózatban a számítástechnikai gép hardveres címe más formátumú, ami a helyi hálózat tervezési jellemzőitől függ.
Magyarázzuk el, minden valójában nagyon egyszerű. A fizikai cím IP-be való átalakításához ARP-t biztosítanak, Egyszerűen fogalmazva, ez egy címfeloldó protokoll. Amikor egy számítógép belép a hálózatba, kérést intéz a többi számítógéphez, és felteszi a kérdést - ""Kinek van a XXX.XXX.X.X.X.X.X
IP-címe"". A válaszát nem hagyja figyelmen kívül, de egy kicsit másképp néz ki - "Nekem van, az én címem xx:xx:xx:xx:xx:xx:xx:xx
". Vagyis egy fizikai címet küld válaszként. Ez a cím egy speciális táblázatba kerül be.
El kell mondani, hogy az ARP üzenetek formátuma rendkívül egyszerű. Az üzenet vagy egy IP-címet tartalmazó kérést, vagy egy választ rejt. Az üzenet mérete függ a protokolltól - IPv4 vagy IPv6, a hálózati berendezés típusa. Az üzenetfejléc határozza meg ezen üzenetek típusát és méretét. A fejléc egy üzenetkóddal zárul. Kérés esetén ez a kód 1, válasz esetén pedig 2. Az üzenettörzs a feladó és a címzett négy címét, hardver- és hálózati címét tartalmazza.
Az ARP Scan segédprogram, más néven MAC Scanner egy praktikus, funkcionális eszköz a Linux helyi hálózat ARP segítségével történő letapogatására. A program megjeleníti a hálózati eszközök Pv4 címeit. Az ARP sajátossága, hogy nem jár útválasztással. Ez a fajta szkennelés csak helyi hálózatokhoz alkalmas. A program érzékeli az aktív eszközöket, a számítógépek nem tudnak elbújni az ARP elől. Ha egy számítógépet a helyi hálózaton kívül kell észlelni, akkor a ping szkennelést kell használni.
A Network Scanner a következő operációs rendszerekhez érhető el:
A telepítéshez elvégezzük:
$ sudo apt install arp-scan
A program segítségével megtaláljuk az összes aktív számítógépet mind a vezetékes ethernet hálózatokban, mind a vezeték nélküli Wifi hálózatokban. PPP és SLIP kapcsolatokat nem biztosít, mivel ezekben nincs ARP. A segédprogrammal superuser jogokkal kell dolgoznia.
Kezdetben az ip
programmal derítjük ki a hálózati interfészt:
$ ip addr list
Itt az enp24s0-t
látjuk. A legegyszerűbben ARP-vel, a hálózatra csatlakoztatott minden PC beolvasásával és kilépésével - a program futtatásával a paraméterek beállításával:
$ sudo arp-scan --interface=enp24s0 --localnet
Látjuk a --interface
paramétert, amely megadja a letapogató interfészt, és a --localnet-et
, amely jelzi, hogy az aktuális hálózat összes lehetséges IP-címét alkalmazza.
Ha az első paramétert kihagyjuk, akkor a program a rendszerben a kisebb számmal rendelkező interfészhez tartozó összes csomópontot megkeresi. Esetünkben ez az enp24s0
.
A --localnet paraméter helyett megadhatjuk a hálózati maszkot is:
$ sudo arp-scan --interface=enp24s0 10.0.1.0/24
Az ARP akkor is alkalmas, ha az interfésznek nincs saját IP-címe. Ebben az esetben a kimenő cím 0.0.0.0.0.0. De nem minden rendszer válaszol egy ilyen kérésre Ezért ebben a helyzetben a szkenner hatástalan lesz.
Számos oka lehet annak, hogy az ARP nem működik megfelelően egy hálózaton. Néhány a leggyakoribb problémák közül:
Az ARP-problémák diagnosztizálásához és hibaelhárításához ajánlott a hálózati hardverbeállítások ellenőrzése, az IP-címzési konfiguráció elemzése, valamint a hálózati forgalom megfigyelésére és elemzésére szolgáló eszközök használata.