Lurer du på hvilke enheter som er tilkoblet ditt hjemmenettverk? Du kan bli overrasket over hvor mange det er. Lær hvordan du enkelt kan utforske alle enhetene i nettverket ditt ved hjelp av nmap på Linux.
Selv om du kanskje tror at ditt hjemmenettverk er enkelt og oversiktlig, er det ofte mer å oppdage enn man tror. Med fremveksten av Tingenes internett, et økende antall mobile enheter som telefoner og nettbrett, samt smarthusteknologi, kan det fort bli mange enheter å holde styr på. I tillegg kommer de vanlige enhetene som bredbåndsrutere, bærbare datamaskiner og stasjonære datamaskiner. En grundig sjekk kan avsløre overraskende funn.
Installering av nmap
For å undersøke nettverket, skal vi bruke nmap-verktøyet. Avhengig av hva du har installert fra før, kan det hende at nmap allerede finnes på datamaskinen din.
Hvis ikke, følger her en veiledning for installasjon på Ubuntu:
sudo apt-get install nmap
Her er installasjonsinstruksjonene for Fedora:
sudo dnf install nmap
Slik installerer du det på Manjaro:
sudo pacman -Syu nmap
Nmap kan også installeres på andre Linux-distribusjoner ved å bruke pakkebehandleren som tilhører din versjon av Linux.
Finn din IP-adresse
Første steg er å identifisere IP-adressen til din Linux-maskin. Dette vil gi oss de minste og største mulige IP-adressene som ditt nettverk kan benytte. Dette er omfanget av IP-adresser for nettverket. Vi må gi en eller flere IP-adresser til nmap, så det er viktig å vite disse verdiene.
Linux har en praktisk kommando kalt ip, og den har et alternativ kalt adr (adresse). Skriv inn ip, et mellomrom, addr, og trykk Enter.
ip addr
Nederst i resultatet finner du din IP-adresse, markert med «inet».
I dette eksempelet er IP-adressen «192.168.4.25». «/24» betyr at det er tre sammenhengende sett med åtte 1-ere i nettverksmasken (3 x 8 = 24).
I binær form er subnettmasken:
11111111.11111111.11111111.00000000
Og i desimal form er det 255.255.255.0.
Subnettmasken og IP-adressen indikerer hvilken del av IP-adressen som identifiserer nettverket, og hvilken som identifiserer enheten. Denne masken forteller maskinvaren at de tre første tallene identifiserer nettverket, og den siste delen identifiserer individuelle enheter. Siden det største tallet i et 8-bits binært tall er 255, vil IP-adresseområdet for dette nettverket være 192.168.4.0 til 192.168.4.255.
Dette er alt innkapslet i «/24». Heldigvis kan nmap jobbe med denne notasjonen, så vi har alt vi trenger for å starte bruken av nmap.
Slik bruker du nmap
Nmap er et verktøy for nettverkskartlegging. Det fungerer ved å sende ut forskjellige nettverksmeldinger til IP-adressene i det definerte området. Ved å analysere svarene, kan nmap utlede mye om enheten som undersøkes.
La oss starte med en enkel skanning. Vi bruker alternativet -sn (ikke skann porter). Dette forteller nmap å ikke undersøke portene på enhetene foreløpig, og gjør en rask og overfladisk skanning.
Vær oppmerksom på at nmap kan ta litt tid å kjøre. Jo flere enheter du har i nettverket, desto lengre tid vil det ta. Nmap utfører innledende søk og rekognosering, og presenterer resultatene når denne fasen er fullført. Ikke bli overrasket om ingenting skjer umiddelbart.
IP-adressen vi skal bruke, er den vi fant tidligere med ip-kommandoen, men med det siste tallet satt til null. Dette er den første mulige IP-adressen i nettverket. «/24» instruerer nmap om å skanne hele området til nettverket. Parameteren «192.168.4.0/24» betyr «start ved IP-adresse 192.168.4.0 og skann alle IP-adresser opp til 192.168.4.255».
Husk å bruke sudo.
sudo nmap -sn 192.168.4.0/24
Etter litt tid vil resultatene vises i terminalvinduet.
Det er mulig å kjøre skanningen uten sudo, men sudo gir nmap mulighet til å hente ut så mye informasjon som mulig. For eksempel ville ikke produsentinformasjon bli hentet uten sudo.
Fordelen med å bruke -sn-alternativet er at det gir en rask skanning og en oversiktlig liste over aktive IP-adresser. Med andre ord får vi en liste over enhetene tilkoblet nettverket, sammen med deres IP-adresse. Der det er mulig, har nmap også identifisert produsenten. Det er ikke dårlig for en første runde.
Her er den nederste delen av listen.
Vi har nå en liste over tilkoblede nettverksenheter og vi vet hvor mange av dem det er. I dette tilfellet er det 15 enheter som er påslått og tilkoblet nettverket. Vi kjenner også produsenten for noen av enhetene. Eller, for å være mer presis, vi vet hva nmap rapporterer som produsent.
Når du går gjennom resultatene, vil du sannsynligvis gjenkjenne noen enheter, men det vil kanskje også være noen du ikke gjenkjenner. Det er disse enhetene vi må undersøke nærmere.
Noen av enhetene i denne listen er lett å identifisere. Raspberry Pi Foundation er åpenbar. Amazon Technologies er en Echo Dot. Den eneste Samsung-enheten er en laserskriver. Det er et par Dell-enheter som er en PC og en bærbar datamaskin. Avaya-enheten er en VoIP-telefon som gir et internnummer på telefonsystemet på kontoret.
Men det gjenstår fortsatt noen spørsmål.
Det er flere enheter med navn som ikke gir umiddelbar mening, som Liteon-teknologi og Elitegroup Datasystemer.
Jeg har mer enn én Raspberry Pi. Antallet som er tilkoblet nettverket kan variere, siden de jevnlig byttes inn og ut av drift. Men det bør definitivt være mer enn én i listen.
Det er også et par enheter som er merket som Ukjent. Disse må vi se nærmere på.
Gjør en dypere skanning
Hvis vi fjerner -sn-alternativet, vil nmap også prøve å undersøke portene på enhetene. Porter er nummererte endepunkter for nettverkstilkoblinger på enheter. Tenk på et leilighetskompleks. Alle leilighetene har samme gateadresse (tilsvarer IP-adressen), men hver leilighet har sitt eget nummer (tilsvarer porten).
Hvert program eller tjeneste i en enhet har et portnummer. Nettverkstrafikk leveres til en IP-adresse og en port, ikke bare til en IP-adresse. Noen portnumre er forhåndsbestemt eller reservert, og brukes alltid til å frakte en bestemt type nettverkstrafikk. For eksempel er port 22 reservert for SSH-tilkoblinger og port 80 er for HTTP-netttrafikk.
Vi skal nå bruke nmap til å skanne portene på hver enhet, og se hvilke som er åpne.
nmap 192.168.4.0/24
Denne gangen får vi en mer detaljert oversikt over hver enhet. Vi får beskjed om at det er 13 aktive enheter på nettverket. Vent litt, vi hadde jo 15 for litt siden.
Antallet enheter kan variere mens skanningene kjører, sannsynligvis fordi mobile enheter kommer og går, eller at utstyr slås av og på. Vær også oppmerksom på at når en enhet som har vært avslått slås på igjen, vil den kanskje ikke ha den samme IP-adressen som den hadde sist den var i bruk.
Det var ganske mye output. La oss gjøre det igjen og lagre det i en fil.
nmap 192.168.4.0/24 > nmap-list.txt
Nå kan vi liste filen med less, og søke gjennom den hvis vi ønsker.
less nmap-list.txt
Når du leser gjennom nmap-rapporten, se etter noe som du ikke kan forklare eller som virker uvanlig. Noter deg IP-adressene til alle enheter som du ønsker å undersøke nærmere.
Ifølge den genererte listen er 192.168.4.10 en Raspberry Pi. Den kjører en eller annen Linux-distribusjon. Hva bruker port 445 til? Den er beskrevet som «microsoft-ds». Microsoft, på en Pi som kjører Linux? Det må vi se nærmere på.
192.168.4.11 ble merket som «Ukjent» i den forrige skanningen. Den har mange åpne porter, og vi må finne ut hva dette er.
192.168.4.18 ble også identifisert som en Raspberry Pi. Både denne Pi-en og enheten 192.168.4.21 har port 8888 åpen, som er beskrevet som brukt av «sun-svarbok». Sun AnswerBook er et gammelt (elementært) dokumentasjonssystem. Jeg har helt sikkert ikke installert det noe sted. Dette må undersøkes.
Enhet 192.168.4.22 ble tidligere identifisert som en Samsung-skriver. Dette bekreftes av taggen som sier «printer». Det som fanget oppmerksomheten, var at HTTP-port 80 var til stede og åpen. Denne porten er reservert for nettstedstrafikk. Har skriveren min et nettsted?
Enhet 192.168.4.31 er angivelig produsert av et selskap som heter Elitegroup Computer Systems. Jeg har aldri hørt om dem, og enheten har mange åpne porter. Dette skal vi se nærmere på.
Jo flere porter en enhet har åpne, jo større sjanse er det for at en nettkriminell kan trenge seg inn i enheten, dersom den eksponeres direkte mot internett. Det er som et hus: jo flere dører og vinduer du har, jo flere potensielle inngangspunkter har en innbruddstyv.
De mistenkte stiller opp
Enhet 192.168.4.10 er en Raspberry Pi som har port 445 åpen, som er beskrevet som «microsoft-ds». En raskt søk på internett avslører at port 445 vanligvis er knyttet til Samba. Samba er en fri programvareimplementering av Microsofts Server Message Block-protokoll (SMB). SMB er en måte å dele mapper og filer på tvers av et nettverk.
Dette gir mening. Denne Pi-en brukes som en slags mini Network Attached Storage-enhet (NAS). Den bruker Samba slik at jeg kan koble til den fra alle datamaskiner i nettverket. Ok, det var enkelt. En nede, flere igjen.
Ukjent enhet med mange åpne porter
Enheten med IP-adresse 192.168.4.11 hadde en ukjent produsent og mange åpne porter.
Vi kan bruke nmap mer aggressivt for å prøve å vri ut mer informasjon om enheten. Alternativet -A (aggressiv skanning) tvinger nmap til å bruke operativsystemdeteksjon, versjonsdeteksjon, skriptskanning og traceroute-deteksjon.
Alternativet -T (timingsmal) lar oss spesifisere en verdi fra 0 til 5. Dette setter en av tidsmodusene. Timingmodusene har flotte navn: paranoid (0), snik (1), høflig (2), normal (3), aggressiv (4) og sinnssyk (5). Jo lavere tall, jo mindre innvirkning vil nmap ha på båndbredden og andre nettverksbrukere.
Merk at vi ikke gir nmap et IP-område. Vi fokuserer nmap på en enkelt IP-adresse, som er IP-adressen til enheten som skal undersøkes.
sudo nmap -A -T4 192.168.4.11
På maskinen som ble brukt til å undersøke dette, tok det ni minutter for nmap å utføre denne kommandoen. Ikke bli overrasket om du må vente en stund før du ser noe output.
Dessverre gir ikke resultatene oss de enkle svarene vi hadde håpet på.
En ekstra ting vi har lært, er at den kjører en versjon av Linux. Det er ikke en stor overraskelse i nettverket mitt, men denne versjonen av Linux er underlig. Den ser ut til å være ganske gammel. Linux brukes på nesten alle Tingenes internett-enheter, så det kan være en ledetråd.
Lenger ned i resultatene gir nmap oss Media Access Control-adresse (MAC-adresse) til enheten. Dette er en unik referanse som er tildelt nettverksgrensesnitt.
De tre første bytene i MAC-adressen er kjent som Organisasjonsunik identifikator (OUI). Denne kan brukes til å identifisere leverandøren eller produsenten av nettverksgrensesnittet. Hvis du tilfeldigvis er en «nerd» som har satt sammen en database med 35 909 av dem.
Verktøyet mitt sier at dette tilhører Google. Sammen med det tidligere spørsmålet om den særegne versjonen av Linux og mistanken om at det kan være en Tingenes Internett-enhet, peker dette mot min Google Home Mini smarthøyttaler.
Du kan gjøre samme type OUI-oppslag på nett ved å bruke Wireshark Manufacturer Lookup.
Oppmuntrende nok samsvarer dette med mine resultater.
En måte å være sikker på om enhetens ID er, er å utføre en skanning, slå av enheten og skanne igjen. IP-adressen som mangler i det andre settet med resultater vil være enheten du nettopp har slått av.
Suns svarbok?
Det neste mysteriet var «sun-svarbok»-beskrivelsen for Raspberry Pi med IP-adressen 192.168.4.18. Den samme beskrivelsen dukket opp for enheten på 192.168.4.21. Enhet 192.168.4.21 er en stasjonær Linux-datamaskin.
Nmap gjør sitt beste for å gjette bruken av en port fra en liste over kjente programvaretilknytninger. Hvis noen av disse tilknytningene ikke lenger er aktuelle – for eksempel at programvaren ikke lenger er i bruk og har nådd slutten av levet