Slik ser du alle enheter på nettverket ditt med nmap på Linux

Tror du at du vet hva som er koblet til hjemmenettverket ditt? Du kan bli overrasket. Lær hvordan du sjekker ved å bruke nmap på Linux, som lar deg utforske alle enhetene som er koblet til nettverket ditt.

Du tror kanskje hjemmenettverket ditt er ganske enkelt, og det er ingenting å lære av å se nærmere på det. Du har kanskje rett, men sjansen er stor for at du lærer noe du ikke visste. Med spredning av Internett av ting enheter, mobile enheter som telefoner og nettbrett, og smarthusrevolusjonen – i tillegg til «normale» nettverksenheter som bredbåndsrutere, bærbare datamaskiner og stasjonære datamaskiner – kan det være en øyeåpner.

Hvis du trenger det, installer nmap

Vi skal bruke nmap-kommandoen. Avhengig av hvilke andre programvarepakker du har installert på datamaskinen din, kan nmap allerede være installert for deg.

Hvis ikke, er dette hvordan du installerer det i Ubuntu.

sudo apt-get install nmap

Dette er hvordan du installerer det på Fedora.

sudo dnf install nmap

Slik installerer du det på Manjaro.

sudo pacman -Syu nmap

Du kan installere den på andre versjoner av Linux ved å bruke pakkebehandlingen for Linux-distribusjonene dine.

Finn din IP-adresse

Den første oppgaven er å finne ut hva IP-adressen til Linux-datamaskinen din er. Det er et minimum og en maksimum IP-adresse nettverket ditt kan bruke. Dette er omfanget eller utvalget av IP-adresser for nettverket ditt. Vi må oppgi IP-adresser eller en rekke IP-adresser til nmap, så vi må vite hva disse verdiene er.

Praktisk gir Linux en kommando kalt ip og den har et alternativ kalt adr (adresse). Skriv inn ip, et mellomrom, addr, og trykk Enter.

ip addr

I den nederste delen av utgangen finner du ip-adressen din. Det er innledet med etiketten «inet».

IP-adressen til denne datamaskinen er «192.168.4.25». «/24» betyr at det er tre påfølgende sett med åtte 1-ere i nettverksmasken. (Og 3 x 8 =24.)

I binær er subnettmasken:

11111111.11111111.11111111.00000000

og i desimal er det 255.255.255.0.

Subnettmasken og IP-adressen brukes til å indikere hvilken del av IP-adressen som identifiserer nettverket, og hvilken del som identifiserer enheten. Denne subnettmasken informerer maskinvaren om at de tre første tallene i IP-adressen vil identifisere nettverket og den siste delen av IP-adressen identifiserer de individuelle enhetene. Og fordi det største tallet du kan ha 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.

Alt dette er innkapslet i «/24». Heldigvis fungerer nmap med den notasjonen, så vi har det vi trenger for å begynne å bruke nmap.

Kom i gang med nmap

nmap er en nettverkskartleggingsverktøy. Den fungerer ved å sende forskjellige nettverksmeldinger til IP-adressene i området vi skal gi den. Den kan utlede mye om enheten den undersøker ved å bedømme og tolke typen svar den får.

La oss starte en enkel skanning med nmap. Vi kommer til å bruke alternativet -sn (skann ingen port). Dette forteller nmap å ikke undersøke portene på enhetene foreløpig. Den vil gjøre en lett, rask skanning.

Likevel kan det ta litt tid før nmap kjører. Jo flere enheter du har på nettverket, jo lengre tid vil det selvfølgelig ta. Den gjør alt av sonderings- og rekognoseringsarbeid først og presenterer deretter funnene når den første fasen er fullført. Ikke bli overrasket når det ikke skjer noe synlig på et minutt eller så.

IP-adressen vi skal bruke er den vi fikk ved å bruke ip-kommandoen tidligere, men det endelige tallet er satt til null. Det er den første mulige IP-adressen på dette nettverket. «/24» forteller nmap å skanne hele området til dette nettverket. Parameteren «192.168.4.0/24» oversettes som «start på IP-adresse 192.168.4.0 og arbeid rett gjennom alle IP-adresser til og med 192.168.4.255».

Merk at vi bruker sudo.

sudo nmap -sn 192.168.4.0/24

Etter en kort ventetid skrives utdataene til terminalvinduet.

Du kan kjøre denne skanningen uten å bruke sudo, men å bruke sudo sikrer at den kan trekke ut så mye informasjon som mulig. Uten sudo ville ikke denne skanningen returnert produsentens informasjon, for eksempel.

Fordelen med å bruke -sn-alternativet – i tillegg til å være en rask og lett skanning – er at den gir deg en pen liste over live IP-adresser. Vi har med andre ord en liste over enhetene som er koblet til nettverket, sammen med deres IP-adresse. Og der det er mulig, har nmap identifisert produsenten. Det er ikke dårlig for første forsøk.

  Hvordan installere Netstat på Linux

Her er bunnen av listen.

Vi har etablert en liste over tilkoblede nettverksenheter, slik at vi vet hvor mange av dem det er. Det er 15 enheter slått på og koblet til nettverket. Vi kjenner produsenten for noen av dem. Eller, som vi skal se, vi har det nmap har rapportert som produsent, etter beste evne.

Når du ser gjennom resultatene dine, vil du sannsynligvis se enheter du kjenner igjen. Det kan godt være noen du ikke gjør. Det er disse vi må undersøke nærmere.

Hva noen av disse enhetene er, er klart for meg. Raspberry Pi Foundation er selvforklarende. Amazon Technologies-enheten vil være min Echo Dot. Den eneste Samsung-enheten jeg har er en laserskriver, så det begrenser den. Det er et par enheter oppført som produsert av Dell. De er enkle, det er en PC og bærbar PC. Avaya-enheten er en Voice Over IP-telefon som gir meg et internnummer på telefonsystemet på hovedkontoret. Det gjør at de lettere kan plage meg hjemme, så jeg kjenner godt til den enheten.

Men jeg sitter fortsatt igjen med spørsmål.

Det er flere enheter med navn som ikke betyr noe for meg alle. Liteon-teknologi og Elitegroup Datasystemer, for eksempel.

Jeg har (måte) mer enn én Raspberry PI. Hvor mange som er koblet til nettverket vil alltid variere fordi de kontinuerlig byttes inn og ut av tjeneste når de blir tatt opp på nytt og gjenbrukt. Men definitivt, det bør være mer enn én som dukker opp.

Det er et par enheter merket som Ukjent. Det er klart de må se nærmere på.

Utfø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. Vurder en boligblokk. 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åndstildelt eller reservert. De brukes alltid til å frakte nettverkstrafikk av en bestemt type. Port 22, for eksempel, er reservert for SSH-tilkoblinger og port 80 er reservert for HTTP-netttrafikk.

Vi skal bruke nmap til å skanne portene på hver enhet og fortelle hvilke som er åpne.

nmap 192.168.4.0/24

Denne gangen får vi et mer detaljert sammendrag av hver enhet. Vi blir fortalt at det er 13 aktive enheter på nettverket. Vent litt; vi hadde 15 enheter for et øyeblikk siden.

Antallet enheter kan variere mens du kjører disse skanningene. Det er sannsynligvis på grunn av mobile enheter som ankommer og forlater lokalene, eller at utstyr slås av og på. Vær også oppmerksom på at når du slår på en enhet som har blitt slått av, kan det hende at den ikke har samme IP-adresse som den hadde forrige gang den var i bruk. det kan, men det kan hende det ikke.

Det var mye utgang. La oss gjøre det igjen og fange det i en fil.

nmap 192.168.4.0/24 > nmap-list.txt

nmap 192.168.4.0/24 > nmap-list.txt i et terminalvindu” width=”646″ height=”57″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”  onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”></p>
<p>Og nå kan vi liste filen med mindre, og søke gjennom den hvis vi ønsker det.</p>
<p> pre>mindre nmap-list.txt </p>
<p><img loading=

Når du blar gjennom nmap-rapporten, ser du etter noe du ikke kan forklare eller som virker uvanlig. Når du går gjennom listen din, noter deg IP-adressene til alle enheter du ønsker å undersøke nærmere.

I følge listen som vi genererte tidligere, er 192.168.4.10 en Raspberry Pi. Den vil kjøre en eller annen Linux-distribusjon. Så hva bruker port 445? Det er beskrevet som «microsoft-ds». Microsoft, på en Pi som kjører Linux? Vi vil absolutt se nærmere på det.

192.168.4.11 ble merket som «Ukjent» i den tidligere skanningen. Den har mange åpne porter; vi må vite hva det er.

192.168.4.18 ble også identifisert som en Raspberry Pi. Men at Pi og enhet 192.168.4.21 begge har port 8888 åpen, som beskrives som brukt av «sun-svarbok». Sun AnswerBook er et mangeårig pensjonert (elementær) dokumentasjonsinnhentingssystem. Unødvendig å si at jeg ikke har det installert noe sted. Det må man se på.

Enhet 192.168.4.22 ble tidligere identifisert som en Samsung-skriver, som her bekreftes av taggen som sier «printer». Det som fanget meg var at HTTP-port 80 var tilstede og åpen. Denne porten er reservert for nettstedtrafikk. Har skriveren min et nettsted?

Enhet 192.168.4.31 er angivelig produsert av et selskap kalt Elitegroup Computer Systems. Jeg har aldri hørt om dem, og enheten har mange porter åpne, så vi skal se nærmere på det.

  Hvordan prøve det åpen kildekode Firefox-alternativet LibreWolf på Linux

Jo flere porter en enhet har åpne, jo større sjanse har en nettkriminell til å komme inn i den – hvis den blir eksponert direkte til Internett, altså. Det er som et hus. Jo flere dører og vinduer du har, jo flere potensielle inngangspunkter har en innbruddstyv.

Vi har stilt opp de mistenkte; La oss få dem til å snakke

Enhet 192.168.4.10 er en Raspberry Pi som har port 445 åpen, som er beskrevet som «microsoft-ds.» En rask bit av Internett-søk avslører at port 445 vanligvis er assosiert med Samba. Samba er en gratis programvareimplementering av Microsofts Server Message Block-protokoll (SMB). SMB er et middel for å dele mapper og filer på tvers av et nettverk.

Dette gir mening; Jeg bruker den spesielle Pi-en som en slags mini-Network Attached Storage-enhet (NAS). Den bruker Samba slik at jeg kan koble til den fra hvilken som helst datamaskin på nettverket mitt. Ok, det var lett. En nede, flere igjen.

Ukjent enhet med mange åpne porter

Enheten med IP-adresse 192.168.4.11 hadde en ukjent produsent og mange porter åpne.

Vi kan bruke nmap mer aggressivt for å prøve å vinkle mer informasjon ut av 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), sleipe (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å én enkelt IP-adresse, som er IP-adressen til den aktuelle enheten.

sudo nmap -A -T4 192.168.4.11

På maskinen som ble brukt til å undersøke denne artikkelen, tok det ni minutter for nmap å utføre den kommandoen. Ikke bli overrasket om du må vente en stund før du ser noen utgang.

Dessverre, i dette tilfellet, gir ikke utdataene 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. På nettverket mitt er det ikke en stor overraskelse, men denne versjonen av Linux er merkelig. Det ser ut til å være ganske gammelt. Linux brukes på nesten alle tingenes internett-enheter, så det kan være en pekepinn.

Lenger ned i utgangen ga nmap oss Media Access Control-adresse (MAC-adresse) til enheten. Dette er en unik referanse som er tilordnet nettverksgrensesnitt.

De tre første bytene av MAC-adressen er kjent som Organisatorisk unik identifikator (OUI). Dette kan brukes til å identifisere leverandøren eller produsenten av nettverksgrensesnittet. Hvis du tilfeldigvis er en geek som har satt sammen en database med 35 909 av dem, altså.

Verktøyet mitt sier at det tilhører Google. Med det tidligere spørsmålet om den særegne versjonen av Linux og mistanken om at det kan være en Internet of Things-enhet, retter dette fingeren rett og slett mot min Google Home mini-smarthøyttaler.

Du kan gjøre samme type OUI-oppslag på nettet ved å bruke Oppslagsside for Wireshark Manufacturer.

Oppmuntrende nok samsvarer det med resultatene mine.

En måte å være sikker på om enhetens ID er å utføre en skanning, slå av enheten og skanne på nytt. IP-adressen som nå mangler i det andre settet med resultater vil være enheten du nettopp har slått av.

Suns svarbok?

Det neste mysteriet var «sol-svarbok»-beskrivelsen for Raspberry Pi med IP-adressen 192.168.4.18. Den samme «sol-svarbok»-beskrivelsen dukket opp for enheten på 192.168.4.21. Enhet 192.168.4.21 er en stasjonær Linux-datamaskin.

nmap gjetter sitt beste på bruken av en port fra en liste over kjente programvareassosiasjoner. Selvfølgelig, hvis noen av disse porttilknytningene ikke lenger er aktuelle – kanskje programvaren ikke lenger er i bruk og har gått slutten på livet– du kan få misvisende portbeskrivelser i skanneresultatene dine. Det var sannsynligvis tilfelle her, Sun AnswerBook-systemet dateres tilbake til tidlig på 1990-tallet, og er ikke noe mer enn et fjernt minne – for de som til og med har hørt om det.

Så, hvis det ikke er noe gammelt Sun Microsystems programvare, så hva kan disse to enhetene, Raspberry Pi og skrivebordet, ha til felles?

Internett-søk ga ikke noe nyttig tilbake. Det var mange treff. Det ser ut til at alt med et nettgrensesnitt som ikke ønsker å bruke port 80, ser ut til å velge port 8888 som en reserve. Så det neste logiske trinnet var å prøve å koble til den porten ved hjelp av en nettleser.

Jeg brukte 192.168.4.18:8888 som adresse i nettleseren min. Dette er formatet for å spesifisere en IP-adresse og en port i en nettleser. Bruk et kolon : for å skille IP-adressen fra portnummeret.

  Hvordan installere LXQt på Linux

Et nettsted åpnet seg faktisk.

Det er administrasjonsportalen for alle enheter som kjører Resilio Sync.

Jeg bruker alltid kommandolinjen, så jeg hadde helt glemt denne funksjonen. Så Sun AnswerBook-oppføringen var en fullstendig rød sild, og tjenesten bak port 8888 var identifisert.

En skjult webserver

Det neste problemet jeg tok opp for å se på var HTTP-port 80 på skriveren min. Igjen tok jeg IP-adressen fra nmap-resultatene og brukte den som en adresse i nettleseren min. Jeg trengte ikke å gi porten; nettleseren vil som standard ha port 80.

Se og se; skriveren min har en innebygd webserver.

Nå kan jeg se antall sider som har vært gjennom det, nivået på toner og annen nyttig eller interessant informasjon.

En annen ukjent enhet

Enheten på 192.168.4.24 avslørte ikke noe til noen av nmap-skanningene vi har prøvd så langt.

Jeg la til alternativet -Pn (ingen ping). Dette får nmap til å anta at målenheten er oppe og fortsette med de andre skanningene. Dette kan være nyttig for enheter som ikke reagerer som forventet og forvirrer nmap til å tro at de er offline.

sudo nmap -A -T4 -Pn 192.168.4.24

Dette hentet en dump med informasjon, men det var ingenting som identifiserte enheten.

Det ble rapportert å kjøre en Linux-kjerne fra Mandriva Linux. Mandriva Linux var en distribusjon som var avviklet tilbake i 2011. Den lever videre med et nytt fellesskap som støtter det, som OpenMandriva.

En annen Internet of Things-enhet, muligens? sannsynligvis ikke – jeg har bare to, og de er begge blitt gjort rede for.

En rom-for-rom-gjennomgang og et antall fysiske enheter ga meg ingenting. La oss slå opp MAC-adressen.

Så det viste seg at det var mobiltelefonen min.

Husk at du kan gjøre disse oppslagene på nettet ved å bruke Oppslagsside for Wireshark Manufacturer.

Elitegruppe datasystemer

De to siste spørsmålene jeg hadde handlet om de to enhetene med produsentnavn som jeg ikke kjente igjen, nemlig Liteon og Elitegroup Computer Systems.

La oss endre takt. En annen kommando som er nyttig for å feste identiteten til enhetene på nettverket ditt, er arp. arp brukes til å jobbe med Address Resolution Protocol-tabellen på din Linux-datamaskin. Det brukes til å oversette fra en IP-adresse (eller nettverksnavn) til en MAC-adresse.

Hvis arp ikke er installert på datamaskinen din, kan du installere det slik.

På Ubuntu, bruk apt-get:

sudo apt-get install net-tools

På Fedora bruk dnf:

sudo dnf install net-tools

På Manjaro bruk pacman:

sudo pacman -Syu net-tools

For å få en liste over enhetene og nettverksnavnene deres – hvis de har blitt tildelt et – skriver du bare arp og trykker Enter.

Dette er resultatet fra forskningsmaskinen min:

Navnene i den første kolonnen er maskinnavnene (også kalt vertsnavn eller nettverksnavn) som er tildelt enhetene. Noen av dem har jeg satt (Nostromo, Cloudbaseog Marinevillefor eksempel) og noen er satt av produsenten (som Vigor.router).

Utgangen gir oss to måter å kryssreferanser den med utgangen fra nmap. Fordi MAC-adressene for enhetene er oppført, kan vi referere til utdataene fra nmap for å identifisere enhetene ytterligere.

Fordi du kan bruke et maskinnavn med ping og fordi ping viser den underliggende IP-adressen, kan du krysshenvise maskinnavn til IP-adresser ved å bruke ping på hvert navn etter tur.

La oss for eksempel pinge Nostromo.local og finne ut hva IP-adressen er. Merk at maskinnavn skiller mellom store og små bokstaver.

ping nostromo.local

Du må bruke Ctrl+C for å stoppe ping.

Utdataene viser oss at IP-adressen er 192.168.4.15. Og det er tilfeldigvis enheten som dukket opp i den første nmap-skanningen med Liteon som produsent.

Liteon-selskapet lager datakomponenter som brukes av svært mange dataprodusenter. I dette tilfellet er det et Liteon Wi-Fi-kort inne i en Asus bærbar PC. Så, som vi bemerket tidligere, er navnet på produsenten som returneres av nmap bare den beste gjetning. Hvordan visste nmap at Liteon Wi-Fi-kortet var montert på en bærbar Asus?

Og endelig. MAC-adressen for enheten produsert av Elitegroup Computer Systems samsvarer med den i arp-listen for enheten jeg har kalt LibreELEC.local.

Dette er en Intel NUCkjører LibreELEC mediespiller. Så denne NUC har et hovedkort fra Elitegroup Computer Systems-selskapet.

Og der er vi, alle mysterier løst.

Alle står for

Vi har bekreftet at det ikke er noen uforklarlige enheter på dette nettverket. Du kan bruke teknikkene beskrevet her for å undersøke nettverket ditt enten. Du kan gjøre dette av interesse – for å tilfredsstille din indre nerd – eller for å tilfredsstille deg selv at alt som er koblet til nettverket ditt har rett til å være der.

Husk at tilkoblede enheter kommer i alle former og størrelser. Jeg brukte litt tid på å gå rundt i sirkler og prøve å spore opp en merkelig enhet før jeg skjønte at det faktisk var smartklokken på håndleddet mitt.