Du har ofte behov for å vite hvilke enheter som er koblet til nettverket ditt. Dette er tilfellet hvis du vil koble til en av PC-ene dine og ikke har noen klar idé om adressen, eller hvis du bare vil forsikre deg om at nettverket ditt er sikkert eller ikke, eller hvis du vil finne alle skjulte enheter. Du kan finne alle tilkoblede enheter, inkludert skjulte enheter, ved å bruke ARP-skanning.
ARP (Address Resolution Protocol) er en protokoll som brukes i datanettverk for kommunikasjon mellom nettverksnoder. Den brukes til å tilordne IP-adressene til nettverksenheter til deres fysiske MAC-adresser. Når en node i et nettverk ønsker å sende data til en annen node, bruker den ARP til å finne MAC-adressen til mottakeren basert på IP-adressen.
I Linux lagres ARP-tabellen i RAM-minnet og inneholder treff mellom IP-adressene og MAC-adressene til andre enheter i nettverket. Du kan vise innholdet i ARP-tabellen i Linux ved å bruke kommandoen arp -a. Linux har verktøy for å utføre ARP-operasjoner, for eksempel å legge til statiske ARP-oppføringer eller tømme ARP-bufferen. ARP er et viktig element i driften av TCP/IP-nettverk og spiller en avgjørende rolle i kommunikasjonen mellom enheter i et lokalt nettverk.
Alle datanettverk har en IP-adresse - det vet alle. Har du noen gang lurt på hvilken datamaskin som er tildelt en bestemt adresse? Det er kjent at det finnes forskjellige nettverk - kablet, trådløst, ppp. I hvert nettverk har maskinvareadressen til databehandlingsmaskinen et annet format, som avhenger av designfunksjonene til det lokale nettverket.
La oss forklare, alt er faktisk veldig enkelt. For å konvertere den fysiske adressen til IP er gitt ARP, Enkelt sagt, det er en adresseløsningsprotokoll. Når en datamaskin kommer inn i nettverket, gjør den en forespørsel til de andre PC-ene, og stiller spørsmålet - ""Hvem har IP-adressen XXX.XXX.X.X.X.X
"". Svaret blir ikke ignorert, men det ser litt annerledes ut - "Det har jeg, min adresse er xx:xx:xx:xx:xx:xx:xx
". Det vil si at det sendes en fysisk adresse som svar. Denne adressen legges inn i en spesiell tabell.
Det skal sies at formatet på ARP-meldinger er ekstremt enkelt. Meldingen inneholder enten en forespørsel med en IP-adresse eller et svar. Størrelsen på meldingen avhenger av protokollen - IPv4 eller IPv6, typen nettverksutstyr. Meldingshodet spesifiserer meldingstypene og -størrelsene. Meldingshodet avsluttes med en meldingskode. For en forespørsel er koden 1, og for et svar er koden 2. Meldingsteksten inneholder fire adresser, maskinvare- og nettverksadresser, som tilhører avsender og mottaker.
ARP Scan Utility, også kalt MAC Scanner, er et praktisk og funksjonelt verktøy for å skanne et lokalt Linux-nettverk ved hjelp av ARP. Programmet viser Pv4-adressene til nettverksenheter. Det spesielle med ARP er at det ikke involverer ruting. Denne typen skanning egner seg bare for lokale nettverk. Programmet oppdager aktive enheter, og datamaskiner kan ikke skjule seg for ARP. Hvis en datamaskin skal oppdages utenfor det lokale nettverket, brukes ping-skanning.
Network Scanner er tilgjengelig for følgende operativsystemer:
For å installere, vil vi utføre:
$ sudo apt install arp-scan
Ved hjelp av programmet vil du kunne finne alle aktive datamaskiner både i kablede Ethernet-nettverk og i trådløse Wifi-nettverk. PPP- og SLIP-tilkoblinger er ikke gitt, da det ikke er noen ARP i dem. Du bør jobbe med verktøyet under superbrukerrettigheter.
Først finner vi nettverksgrensesnittet ved hjelp av ip-programmet
:
$ ip addr list
Her ser vi enp24s0
. Den enkleste måten å gjøre dette med ARP, ved å skanne og avslutte hver PC som er koblet til nettverket - kjør programmet ved å stille inn parametrene:
$ sudo arp-scan --interface=enp24s0 --localnet
Vi ser parameteren --interface
, som spesifiserer skanningsgrensesnittet, og --localnet
, som indikerer å bruke alle mulige IP-adresser for det aktuelle nettverket.
Hvis vi utelater den første parameteren, vil programmet søke etter alle noder for grensesnittet med det laveste nummeret i systemet. I vårt tilfelle er dette enp24s0
.
I stedet for --localnet-parameteren kan du angi nettverksmasken:
$ sudo arp-scan --interface=enp24s0 10.0.1.0/24
ARP er også egnet hvis grensesnittet ikke har sin egen IP-adresse. I dette tilfellet er den utgående adressen 0.0.0.0.0.0. Men ikke alle systemer vil svare på en slik forespørsel, og i denne situasjonen vil skanneren derfor være ineffektiv.
Det kan være flere grunner til at ARP ikke fungerer som den skal i et nettverk. Noen av de vanligste problemene er
For å diagnostisere og feilsøke ARP-problemer anbefales det å sjekke maskinvareinnstillingene i nettverket, analysere IP-adresseringskonfigurasjonen og bruke verktøy for å overvåke og analysere nettverkstrafikken.