Betalningsmetoder Abuse

ARP-scanning av det lokala Linux-nätverket

08.06.2024, 15:00

Du behöver ofta veta vilka enheter som är anslutna till ditt nätverk. Det gäller om du vill ansluta till en av dina datorer och inte har någon klar uppfattning om dess adress, eller om du bara vill kontrollera att ditt nätverk är säkert eller inte, eller om du vill hitta alla dolda enheter. Du kan hitta alla anslutna enheter, inklusive dolda enheter, genom att använda ARP-sökning.

Vad är ARP?

ARP (Address Resolution Protocol) är ett protokoll som används i datornätverk för kommunikation mellan nätverksnoder. Det används för att mappa IP-adresserna för nätverksenheter till deras fysiska MAC-adresser. När en nod i ett nätverk vill skicka data till en annan nod använder den ARP för att fastställa mottagarens MAC-adress utifrån IP-adressen.

I Linux lagras ARP-tabellen i RAM-minnet och innehåller matchningar mellan IP-adresser och MAC-adresser för andra enheter i nätverket. Du kan visa innehållet i ARP-tabellen i Linux genom att använda kommandot arp -a. Linux tillhandahåller verktyg för att utföra ARP-operationer, t.ex. lägga till statiska ARP-poster eller rensa ARP-cachen. ARP är en viktig del av TCP/IP-nätverk och spelar en avgörande roll för kommunikationen mellan enheter i ett lokalt nätverk.

Skanna med ARP

Varje datornätverk har en IP-adress - det vet alla. Har du någonsin undrat vilken dator som har tilldelats en specifik adress? Det är känt att det finns olika nätverk - trådbundna, trådlösa, ppp. I varje nätverk har datormaskinens hårdvaruadress ett annat format, vilket beror på designfunktionerna i det lokala nätverket.

Låt oss förklara, allt är faktiskt väldigt enkelt. För att konvertera den fysiska adressen till IP tillhandahålls ARP, Enkelt uttryckt är det ett adressupplösningsprotokoll. När en dator går in i nätverket gör den en begäran till de andra datorerna och ställer frågan - ""Vem har IP-adressen XXX.XXX.X.X.X.X"". Svaret ignoreras inte, men det ser lite annorlunda ut - "Det har jag, min adress är xx:xx:xx:xx:xx:xx". Det vill säga, en fysisk adress skickas som svar. Denna adress skrivs in i en särskild tabell.

Det bör sägas att formatet på ARP-meddelanden är extremt enkelt. Meddelandet döljer antingen en förfrågan med en IP-adress eller ett svar. Meddelandets storlek beror på protokollet - IPv4 eller IPv6, typen av nätverksutrustning. I meddelanderubriken anges typ och storlek på dessa meddelanden. Huvudet avslutas med en meddelandekod. För en begäran är koden 1 och för ett svar är koden 2. Meddelandekroppen innehåller de fyra adresser, maskinvaru- och nätverksadresser, som tillhör avsändaren och mottagaren.

Installera verktyget

ARP Scan Utility, även kallat MAC Scanner, är ett praktiskt och funktionellt verktyg för att skanna ett lokalt Linux-nätverk med hjälp av ARP. Programmet visar Pv4-adresser för nätverksenheter. Det speciella med ARP är att det inte involverar routing. Denna typ av skanning lämpar sig endast för lokala nätverk. Programmet upptäcker aktiva enheter, datorer kan inte gömma sig från ARP. Om en dator behöver upptäckas utanför det lokala nätverket används ping-scanning.

Network Scanner är tillgängligt för följande operativsystem:

  1. Debian;
  2. Ubuntu;;
  3. Fedora;
  4. RedHat;
  5. Gentoo;
  6. ArchLinux.

För att installera kommer vi att utföra:

$ sudo apt install arp-scan

Skanna

Med hjälp av programmet kommer du att kunna hitta alla aktiva datorer både i trådbundna Ethernet-nätverk och i trådlösa Wifi-nätverk. PPP- och SLIP-anslutningar tillhandahålls inte, eftersom det inte finns någon ARP i dem. Du bör arbeta med verktyget under superanvändarrättigheter.

I början tar vi reda på nätverksgränssnittet med hjälp av ip-programmet:

$ ip addr list

APR сканирование

Vi ser här enp24s0. Det enklaste sättet att göra detta med ARP, genom att skanna och avsluta varje dator som är ansluten till nätverket - kör programmet genom att ställa in parametrarna:

$ sudo arp-scan --interface=enp24s0 --localnet

APR сканирование

Vi ser parametern --interface, som anger skanningsgränssnittet, och --localnet, som anger att alla möjliga IP-adresser för det aktuella nätverket ska tillämpas.

Om vi utelämnar den första parametern kommer programmet att söka efter alla noder för gränssnittet med det lägre numret i systemet. I vårt fall är detta enp24s0.

I stället för parametern --localnet kan du ange nätverksmasken:

$ sudo arp-scan --interface=enp24s0 10.0.1.0/24

ARP är också lämpligt om gränssnittet inte har någon egen IP-adress. I det här fallet är den utgående adressen 0.0.0.0.0. Men inte alla system kommer att svara på en sådan begäran Därför kommer skannern i denna situation att vara ineffektiv.

Varför ARP inte fungerar

Det finns flera anledningar till att ARP inte fungerar som det ska i ett nätverk. Några av de vanligaste problemen är följande:

  1. IP-adresskonflikt: Om två enheter i nätverket använder samma IP-adress kan detta orsaka en ARP-konflikt.
  2. Felaktig nätverkskonfiguration: Felaktiga inställningar för IP-adressering, subnät eller gateway kan leda till att ARP misslyckas.
  3. Problem med maskinvaran i nätverket: Felaktiga switchar, routrar eller nätverkskort kan göra att ARP inte fungerar.
  4. Säkerhets- eller filtreringsinställningar på nätverksenheter kan blockera ARP-paket.
  5. Angripare kan använda attacker som ARP-poisoning eller ARP-flooding, vilket också kan orsaka ARP-problem i nätverket.

För att diagnostisera och felsöka ARP-problem rekommenderas att du kontrollerar nätverkets maskinvaruinställningar, analyserar IP-adresseringskonfigurationen och använder verktyg för att övervaka och analysera nätverkstrafiken.