Du har ofte brug for at vide, hvilke enheder der er forbundet til dit netværk. Det er tilfældet, hvis du vil oprette forbindelse til en af dine pc'er og ikke har nogen klar idé om dens adresse, eller hvis du bare vil sikre dig, at dit netværk er sikkert eller ej, eller hvis du vil finde alle skjulte enheder. Du kan finde alle tilsluttede enheder, inklusive skjulte enheder, ved at bruge ARP-scanning.
ARP (Address Resolution Protocol) er en protokol, der bruges i computernetværk til kommunikation mellem netværksnoder. Den bruges til at mappe IP-adresserne på netværksenheder til deres fysiske MAC-adresser. Når en node på et netværk vil sende data til en anden node, bruger den ARP til at bestemme modtagerens MAC-adresse ud fra dens IP-adresse.
I Linux er ARP-tabellen gemt i RAM og indeholder matches mellem IP-adresser og MAC-adresser på andre enheder på netværket. Du kan se indholdet af ARP-tabellen i Linux ved at bruge kommandoen arp -a. Linux har værktøjer til at udføre ARP-operationer, f.eks. tilføje statiske ARP-poster eller rydde ARP-cachen. ARP er et vigtigt element i driften af TCP/IP-netværk og spiller en afgørende rolle i kommunikationen mellem enheder på et lokalt netværk.
Hvert computernetværk har en IP-adresse - det ved alle. Har du nogensinde undret dig over, hvilken computer der har fået tildelt en bestemt adresse? Det er velkendt, at der findes forskellige netværk - kablede, trådløse, ppp. I hvert netværk har computerens hardwareadresse et forskelligt format, som afhænger af det lokale netværks designfunktioner.
Lad os forklare det, alt er faktisk meget enkelt. For at konvertere den fysiske adresse til IP bruges ARP, som kort sagt er en adresseopløsningsprotokol. Når en computer kommer ind på netværket, sender den en anmodning til de andre pc'er og stiller spørgsmålet: "Hvem har IP-adressen XXX.XXX.X.X.X
". Svaret bliver ikke ignoreret, men det ser lidt anderledes ud - "Det har jeg, min adresse er xx:xx:xx:xx:xx
". Det vil sige, at der sendes en fysisk adresse som svar. Denne adresse indtastes i en særlig tabel.
Det skal siges, at formatet på ARP-meddelelser er ekstremt enkelt. Beskeden indeholder enten en anmodning med en IP-adresse eller et svar. Beskedens størrelse afhænger af protokollen - IPv4 eller IPv6 - og typen af netværksudstyr. Meddelelseshovedet specificerer typerne og størrelserne af disse meddelelser. Headeren slutter med en beskedkode. For en anmodning er koden 1, og for et svar er koden 2. Meddelelsens brødtekst indeholder de fire adresser, hardware- og netværksadresser, der tilhører afsenderen og modtageren.
ARP Scan Utility, også kaldet MAC Scanner, er et praktisk og funktionelt værktøj til at scanne et lokalt Linux-netværk ved hjælp af ARP. Programmet viser Pv4-adresser på netværksenheder. Det særlige ved ARP er, at det ikke involverer routing. Denne type scanning er kun egnet til lokale netværk. Programmet finder aktive enheder, og computere kan ikke skjule sig for ARP. Hvis en computer skal registreres uden for det lokale netværk, bruges ping-scanning.
Network Scanner er tilgængelig til følgende OS:
For at installere vil vi udføre:
$ sudo apt install arp-scan
Ved hjælp af programmet vil du kunne finde alle aktive computere både i kablede Ethernet-netværk og i trådløse Wifi-netværk. PPP- og SLIP-forbindelser leveres ikke, da der ikke er nogen ARP i dem. Du bør arbejde med værktøjet under superbrugerrettigheder.
I begyndelsen finder vi ud af netværksinterfacet ved hjælp af ip-programmet
:
$ ip addr list
Vi ser her enp24s0
. Den nemmeste måde at gøre dette på med ARP er ved at scanne og afslutte alle pc'er, der er tilsluttet netværket - kør programmet ved at indstille parametrene:
$ sudo arp-scan --interface=enp24s0 --localnet
Vi ser parameteren --interface
, der angiver scanningsgrænsefladen, og --localnet
, der angiver, at alle mulige IP-adresser for det aktuelle netværk skal anvendes.
Hvis vi udelader den første parameter, vil programmet søge efter alle noder til grænsefladen med det laveste nummer i systemet. I vores tilfælde er det enp24s0
.
I stedet for --localnet-parameteren kan du angive netværksmasken:
$ sudo arp-scan --interface=enp24s0 10.0.1.0/24
ARP er også velegnet, hvis grænsefladen ikke har sin egen IP-adresse. I dette tilfælde er den udgående adresse 0.0.0.0.0. Men ikke alle systemer vil svare på en sådan anmodning, og derfor vil scanneren i denne situation være ineffektiv.
Der er flere grunde til, at ARP ikke fungerer korrekt på et netværk. Nogle af de mest almindelige problemer er
For at diagnosticere og fejlfinde ARP-problemer anbefales det at kontrollere netværkets hardwareindstillinger, analysere IP-adresseringskonfigurationen og bruge værktøjer til at overvåge og analysere netværkstrafikken.