Usein sinun on tiedettävä, mitkä laitteet on liitetty verkkoosi. Näin on esimerkiksi silloin, kun haluat muodostaa yhteyden johonkin tietokoneeseen, mutta sinulla ei ole selvää käsitystä sen osoitteesta, tai jos haluat vain varmistaa, onko verkko turvallinen vai ei, tai jos haluat löytää kaikki piilossa olevat laitteet. Voit löytää kaikki liitetyt laitteet, myös piilotetut laitteet, käyttämällä ARP-skannausta.
ARP (Address Resolution Protocol) on protokolla, jota käytetään tietokoneverkoissa verkon solmujen väliseen viestintään. Sitä käytetään verkkolaitteiden IP-osoitteiden ja niiden fyysisten MAC-osoitteiden yhdistämiseen. Kun verkon solmu haluaa lähettää tietoja toiselle solmulle, se käyttää ARP:tä vastaanottajan MAC-osoitteen määrittämiseen IP-osoitteen perusteella.
Linuxissa ARP-taulukko tallennetaan RAM-muistiin, ja se sisältää verkon muiden laitteiden IP-osoitteiden ja MAC-osoitteiden väliset vastaavuudet. Voit tarkastella ARP-taulukon sisältöä Linuxissa komennolla arp -a. Linux tarjoaa työkaluja ARP-operaatioiden suorittamiseen, kuten staattisten ARP-merkintöjen lisäämiseen tai ARP-välimuistin tyhjentämiseen. ARP on tärkeä osa TCP/IP-verkkojen toimintaa, ja sillä on ratkaiseva rooli lähiverkon laitteiden välisessä viestinnässä.
Jokaisella tietoverkolla on IP-osoite - kaikki tietävät sen. Oletko koskaan miettinyt, mille tietokoneelle on annettu tietty osoite? Tiedetään, että on olemassa erilaisia verkkoja - langallisia, langattomia ja ppp-verkkoja. Kussakin verkossa laskentakoneen laitteisto-osoitteella on erilainen muoto, joka riippuu lähiverkon rakennepiirteistä.
Selitetään, kaikki on itse asiassa hyvin yksinkertaista. Fyysisen osoitteen muuntamiseksi IP-osoitteeksi tarjotaan ARP, Yksinkertaisesti sanottuna se on osoitteenmääritysprotokolla. Kun tietokone tulee verkkoon, se tekee pyynnön muille tietokoneille ja kysyy kysymyksen - ""Kenellä on IP-osoite XXX.XXX.X.X.X.X
"". Vastausta ei jätetä huomiotta, mutta se näyttää hieman erilaiselta - "Minulla on, osoitteeni on xx:xx:xx:xx:xx:xx:xx:xx
". Eli vastauksena lähetetään fyysinen osoite. Tämä osoite merkitään erityiseen taulukkoon.
On sanottava, että ARP-viestien muoto on erittäin yksinkertainen. Viestiin kätkeytyy joko IP-osoitteen sisältävä pyyntö tai vastaus. Viestin koko riippuu protokollasta - IPv4 tai IPv6, verkkolaitteen tyypistä. Viestin otsikossa määritellään näiden viestien tyypit ja koot. Otsikko päättyy viestin koodiin. Pyynnön koodi on 1 ja vastauksen koodi on 2. Viestirunko sisältää lähettäjän ja vastaanottajan neljä osoitetta, laitteisto- ja verkko-osoitteet.
ARP Scan -apuohjelma, jota kutsutaan myös MAC Scanneriksi, on kätevä ja toimiva työkalu Linux-lähiverkon skannaamiseen ARP:n avulla. Ohjelma näyttää verkkolaitteiden Pv4-osoitteet. ARP:n erityispiirre on, että siihen ei liity reititystä. Tämäntyyppinen skannaus soveltuu vain lähiverkkoihin. Ohjelma havaitsee aktiiviset laitteet, tietokoneet eivät voi piiloutua ARP:ltä. Jos tietokone halutaan havaita lähiverkon ulkopuolella, käytetään ping-skannausta.
Network Scanner on saatavilla seuraaville käyttöjärjestelmille:
Asennusta varten suoritamme:
$ sudo apt install arp-scan
Ohjelman avulla löydät kaikki aktiiviset tietokoneet sekä langallisissa ethernet-verkoissa että langattomissa Wifi-verkoissa. PPP- ja SLIP-yhteyksiä ei tarjota, koska niissä ei ole ARP:tä. Apuohjelman kanssa kannattaa työskennellä superuser-oikeuksilla.
Aluksi selvitetään verkkoliitäntä ip-ohjelman
avulla:
$ ip addr list
Näemme tässä enp24s0
. Helpointa on tehdä tämä ARP:llä, skannaamalla ja poistumalla jokaisesta verkkoon liitetystä tietokoneesta - suorita ohjelma asettamalla parametrit:
$ sudo arp-scan --interface=enp24s0 --localnet
Näemme parametrin --interface
, jolla määritetään skannausrajapinta, ja --localnet
, joka osoittaa, että haetaan kaikkia mahdollisia nykyisen verkon IP-osoitteita.
Jos jätämme ensimmäisen parametrin pois, ohjelma etsii kaikki solmut liittymää varten, jonka numero on järjestelmässä pienempi. Meidän tapauksessamme tämä on enp24s0
.
--localnet-parametrin sijasta voit määrittää verkkomaskin:
$ sudo arp-scan --interface=enp24s0 10.0.1.0/24
ARP sopii myös, jos rajapinnalla ei ole omaa IP-osoitetta. Tässä tapauksessa lähtevä osoite on 0.0.0.0.0.0. Mutta kaikki järjestelmät eivät vastaa tällaiseen pyyntöön Siksi tässä tilanteessa skanneri on tehoton.
On useita syitä siihen, miksi ARP ei välttämättä toimi kunnolla verkossa. Yleisimpiä ongelmia ovat mm:
ARP-ongelmien diagnosoimiseksi ja korjaamiseksi on suositeltavaa tarkistaa verkkolaitteiston asetukset, analysoida IP-osoitekonfiguraatioita ja käyttää verkkoliikenteen seuranta- ja analysointityökaluja.