Så här ser du alla enheter i ditt nätverk med nmap på Linux

Tror du att du vet vad som är anslutet till ditt hemnätverk? Du kanske blir förvånad. Lär dig hur du kontrollerar med nmap på Linux, vilket låter dig utforska alla enheter som är anslutna till ditt nätverk.

Du kanske tycker att ditt hemnätverk är ganska enkelt, och det finns inget att lära av att titta djupare på det. Du kanske har rätt, men chansen är stor att du lär dig något du inte visste. Med spridningen av Internet of Things enheter, mobila enheter som telefoner och surfplattor och revolutionen för det smarta hemmet – förutom ”normala” nätverksenheter som bredbandsroutrar, bärbara datorer och stationära datorer – kan det vara en ögonöppnare.

Om du behöver installera nmap

Vi kommer att använda kommandot nmap. Beroende på vilka andra programvarupaket du har installerat på din dator kan nmap redan vara installerat åt dig.

Om inte, så här installerar du det i Ubuntu.

sudo apt-get install nmap

Så här installerar du det på Fedora.

sudo dnf install nmap

Så här installerar du det på Manjaro.

sudo pacman -Syu nmap

Du kan installera det på andra versioner av Linux med hjälp av pakethanteraren för dina Linux-distributioner.

Hitta din IP-adress

Den första uppgiften är att ta reda på vad din Linux-dators IP-adress är. Det finns en lägsta och en högsta IP-adress som ditt nätverk kan använda. Detta är omfattningen eller intervallet för IP-adresser för ditt nätverk. Vi kommer att behöva tillhandahålla IP-adresser eller ett antal IP-adresser till nmap, så vi måste veta vilka dessa värden är.

Praktiskt ger Linux ett kommando som heter ip och den har ett alternativ kallas adr (adress). Skriv ip, ett mellanslag, addr och tryck på Retur.

ip addr

I den nedre delen av utgången hittar du din ip-adress. Den föregås av etiketten ”inet”.

IP-adressen för denna dator är ”192.168.4.25”. ”/24” betyder att det finns tre på varandra följande uppsättningar av åtta 1:or i subnätmasken. (Och 3 x 8 =24.)

I binärt är nätmasken:

11111111.11111111.11111111.00000000

och i decimal är det 255.255.255.0.

Subnätmasken och IP-adressen används för att indikera vilken del av IP-adressen som identifierar nätverket och vilken del som identifierar enheten. Denna subnätmask informerar hårdvaran att de tre första siffrorna i IP-adressen kommer att identifiera nätverket och den sista delen av IP-adressen identifierar de enskilda enheterna. Och eftersom det största numret du kan ha i ett 8-bitars binärt tal är 255, kommer IP-adressintervallet för detta nätverk att vara 192.168.4.0 till 192.168.4.255.

Allt detta är inkapslat i ”/24”. Lyckligtvis fungerar nmap med den notationen, så vi har det vi behöver för att börja använda nmap.

Kom igång med nmap

nmap är en nätverkskartläggningsverktyg. Det fungerar genom att skicka olika nätverksmeddelanden till IP-adresserna i det intervall som vi ska förse det med. Den kan härleda mycket om enheten den undersöker genom att bedöma och tolka vilken typ av svar den får.

Låt oss starta en enkel skanning med nmap. Vi kommer att använda alternativet -sn (skanna ingen port). Detta säger till nmap att inte undersöka portarna på enheterna för tillfället. Det kommer att göra en lätt, snabb skanning.

Trots det kan det ta lite tid för nmap att köras. Naturligtvis, ju fler enheter du har i nätverket, desto längre tid tar det. Den gör först allt sitt sonderings- och spaningsarbete och presenterar sedan sina resultat när den första fasen är klar. Bli inte förvånad när inget synligt händer på någon minut.

IP-adressen vi ska använda är den vi fick med ip-kommandot tidigare, men det slutliga numret är inställt på noll. Det är den första möjliga IP-adressen på detta nätverk. ”/24” talar om för nmap att skanna hela räckvidden för detta nätverk. Parametern ”192.168.4.0/24” översätts som ”börja vid IP-adress 192.168.4.0 och arbeta rakt igenom alla IP-adresser till och med 192.168.4.255”.

Observera att vi använder sudo.

sudo nmap -sn 192.168.4.0/24

Efter en kort väntan skrivs utdata till terminalfönstret.

Du kan köra den här skanningen utan att använda sudo, men att använda sudo säkerställer att den kan extrahera så mycket information som möjligt. Utan sudo skulle denna skanning till exempel inte returnera tillverkarens information.

Fördelen med att använda -sn-alternativet – såväl som att det är en snabb och lätt skanning – är att det ger dig en snygg lista över live IP-adresser. Vi har med andra ord en lista över de enheter som är anslutna till nätverket, tillsammans med deras IP-adress. Och där det är möjligt har nmap identifierat tillverkaren. Det är inte illa för första försöket.

Här är botten av listan.

Vi har upprättat en lista över de anslutna nätverksenheterna, så vi vet hur många av dem det finns. Det finns 15 enheter påslagna och anslutna till nätverket. Vi känner till tillverkaren för några av dem. Eller, som vi ska se, vi har vad nmap har rapporterat som tillverkare, efter bästa förmåga.

När du tittar igenom dina resultat kommer du sannolikt att se enheter som du känner igen. Det kan mycket väl finnas några som du inte gör. Det är dessa vi behöver undersöka vidare.

Vad några av dessa enheter är är klart för mig. Raspberry Pi Foundation är självförklarande. Amazon Technologies-enheten kommer att vara min Echo Dot. Den enda Samsung-enheten jag har är en laserskrivare, så det minskar den. Det finns ett par enheter listade som tillverkade av Dell. De är lätta, det är en PC och en bärbar dator. Avaya-enheten är en Voice Over IP-telefon som ger mig en anknytning till telefonsystemet på huvudkontoret. Det gör att de lättare kan plåga mig hemma, så jag är väl medveten om den enheten.

Men jag har fortfarande frågor.

Det finns flera enheter med namn som inte betyder något för mig alla. Liteon-teknik och Elitegroup-datorsystem, till exempel.

Jag har (många) mer än en Raspberry PI. Hur många som är anslutna till nätverket kommer alltid att variera eftersom de ständigt byts ut i och utanför tjänsten när de blir ombildade och återanvända. Men definitivt, det borde finnas mer än en som dyker upp.

Det finns ett par enheter markerade som okända. Det är klart att de måste undersöka.

Utför en djupare skanning

Om vi ​​tar bort alternativet -sn kommer nmap också att försöka undersöka portarna på enheterna. Portar är numrerade slutpunkter för nätverksanslutningar på enheter. Överväg ett flerfamiljshus. Alla lägenheter har samma gatuadress (motsvarigheten till IP-adressen), men varje lägenhet har sitt eget nummer (motsvarigheten till porten).

Varje program eller tjänst inom en enhet har ett portnummer. Nätverkstrafik levereras till en IP-adress och en port, inte bara till en IP-adress. Vissa portnummer är förallokerade eller reserverade. De används alltid för att transportera nätverkstrafik av en viss typ. Port 22, till exempel, är reserverad för SSH-anslutningar och port 80 är reserverad för HTTP-webbtrafik.

Vi kommer att använda nmap för att skanna portarna på varje enhet och berätta vilka som är öppna.

nmap 192.168.4.0/24

Den här gången får vi en mer detaljerad sammanfattning av varje enhet. Vi får veta att det finns 13 aktiva enheter på nätverket. Vänta en minut; vi hade 15 enheter för ett ögonblick sedan.

Antalet enheter kan mycket väl variera när du kör dessa skanningar. Det beror troligen på att mobila enheter anländer och lämnar lokalerna, eller att utrustning slås på och av. Tänk också på att när du slår på en enhet som har stängts av kanske den inte har samma IP-adress som den hade förra gången den användes. det kanske, men det kanske inte.

Det blev mycket produktion. Låt oss göra det igen och fånga det i en fil.

nmap 192.168.4.0/24 > nmap-list.txt

nmap 192.168.4.0/24 > nmap-list.txt i ett terminalfönster” width=”646″ height=”57″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”  onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”></p>
<p>Och nu kan vi lista filen med mindre och söka igenom den om vi vill.</p>
<p> pre>mindre nmap-list.txt </p>
<p><img loading=

När du bläddrar igenom nmap-rapporten letar du efter något som du inte kan förklara eller som verkar ovanligt. När du granskar din lista, notera IP-adresserna för alla enheter som du vill undersöka närmare.

Enligt listan som vi genererade tidigare är 192.168.4.10 en Raspberry Pi. Den kommer att köra en eller annan Linux-distribution. Så vad använder port 445? Det beskrivs som ”microsoft-ds”. Microsoft, på en Pi som kör Linux? Vi kommer definitivt att undersöka det.

192.168.4.11 märktes som ”Okänd” i den tidigare genomsökningen. Den har många öppna portar; vi måste veta vad det är.

192.168.4.18 identifierades också som en Raspberry Pi. Men att Pi och enhet 192.168.4.21 båda har port 8888 öppen, vilket beskrivs som att det används av ”sun-svarbok”. Sun AnswerBook är ett många år pensionerat (elementärt) dokumentationshämtningssystem. Det behöver inte sägas att jag inte har det installerat någonstans. Det måste man titta på.

Enhet 192.168.4.22 identifierades tidigare som en Samsung-skrivare, vilket här verifieras av taggen som säger ”skrivare”. Det som fångade mitt öga var att HTTP-port 80 var närvarande och öppen. Denna port är reserverad för webbplatstrafik. Har min skrivare en webbplats?

Enhet 192.168.4.31 är enligt uppgift tillverkad av ett företag som heter Elitegroup Computer Systems. Jag har aldrig hört talas om dem, och enheten har många öppna portar, så vi ska undersöka det.

Ju fler portar en enhet har öppna, desto större chans har en cyberbrottsling att hamna i den – om den utsätts direkt för Internet alltså. Det är som ett hus. Ju fler dörrar och fönster du har, desto fler potentiella inträdespunkter har en inbrottstjuv.

Vi har radat upp de misstänkta; Låt oss få dem att prata

Enhet 192.168.4.10 är en Raspberry Pi som har port 445 öppen, vilket beskrivs som ”microsoft-ds.” En snabb sökning på Internet visar att port 445 vanligtvis är associerad med Samba. Samba är en gratis implementering av programvara av Microsofts Server Message Block-protokoll (SMB). SMB är ett sätt att dela mappar och filer över ett nätverk.

Detta är vettigt; Jag använder just den Pi som en slags mini-Network Attached Storage-enhet (NAS). Den använder Samba så att jag kan ansluta till den från vilken dator som helst i mitt nätverk. Ok, det var lätt. En ner, flera till.

Okänd enhet med många öppna portar

Enheten med IP-adress 192.168.4.11 hade en okänd tillverkare och många portar öppna.

Vi kan använda nmap mer aggressivt för att försöka få ut mer information från enheten. Alternativet -A (aggressiv skanning) tvingar nmap att använda detektering av operativsystem, versionsdetektering, skriptskanning och spårningsdetektering.

Alternativet -T (timing mall) tillåter oss att ange ett värde från 0 till 5. Detta ställer in ett av tidslägena. Timinglägena har fantastiska namn: paranoid (0), lömsk (1), artig (2), normal (3), aggressiv (4) och galen (5). Ju lägre siffra, desto mindre påverkan kommer nmap att ha på bandbredden och andra nätverksanvändare.

Observera att vi inte förser nmap med ett IP-intervall. Vi fokuserar nmap på en enda IP-adress, vilket är IP-adressen för enheten i fråga.

sudo nmap -A -T4 192.168.4.11

På maskinen som användes för att undersöka den här artikeln tog det nio minuter för nmap att köra det kommandot. Bli inte förvånad om du måste vänta ett tag innan du ser någon utdata.

Tyvärr, i det här fallet, ger resultatet oss inte de enkla svaren vi hade hoppats på.

En extra sak vi har lärt oss är att den kör en version av Linux. På mitt nätverk är det inte en stor överraskning, men den här versionen av Linux är udda. Det verkar vara ganska gammalt. Linux används inom nästan alla Internet of Things-enheter, så det kan vara en ledtråd.

Längre ner i utgången gav nmap oss Media Access Control-adress (MAC-adress) för enheten. Detta är en unik referens som tilldelas nätverksgränssnitt.

De första tre byten av MAC-adressen är känd som Organisatoriskt unik identifierare (OUI). Detta kan användas för att identifiera leverantören eller tillverkaren av nätverksgränssnittet. Om du råkar vara en nörd som har satt ihop en databas med 35 909 av dem, vill säga.

Mitt verktyg säger att det tillhör Google. Med den tidigare frågan om den säregna versionen av Linux och misstanken om att det kan vara en Internet of Things-enhet, pekar detta finger rättvist och rakt mot min Google Home mini-smarthögtalare.

Du kan göra samma typ av OUI-sökning online med hjälp av Wireshark Manufacturer Lookup-sida.

Uppmuntrande nog stämmer det överens med mina resultat.

Ett sätt att vara säker på enhetens ID är att utföra en skanning, stänga av enheten och skanna igen. IP-adressen som nu saknas i den andra uppsättningen resultat kommer att vara enheten du just stängde av.

Suns svarsbok?

Nästa mysterium var beskrivningen av ”sol-svarsboken” för Raspberry Pi med IP-adress 192.168.4.18. Samma ”sol-svarsbok”-beskrivning dök upp för enheten på 192.168.4.21. Enhet 192.168.4.21 är en stationär Linux-dator.

nmap gör sin bästa gissning om användningen av en port från en lista över kända programvaruassociationer. Naturligtvis, om någon av dessa portföreningar inte längre är tillämpliga — kanske programvaran inte längre används och har försvunnit uttjänta– du kan få vilseledande portbeskrivningar i dina skanningsresultat. Det var sannolikt fallet här, Sun AnswerBook-systemet går tillbaka till början av 1990-talet och är inget annat än ett avlägset minne – för dem som ens har hört talas om det.

Så, om det inte är någon gammal Sun Microsystems programvara, så vad kan dessa två enheter, Raspberry Pi och skrivbordet, ha gemensamt?

Internetsökningar gav inget som var användbart. Det blev många träffar. Det verkar som om allt med ett webbgränssnitt som inte vill använda port 80 verkar välja port 8888 som en reserv. Så nästa logiska steg var att försöka ansluta till den porten med en webbläsare.

Jag använde 192.168.4.18:8888 som adress i min webbläsare. Detta är formatet för att ange en IP-adress och en port i en webbläsare. Använd kolon : för att skilja IP-adressen från portnumret.

En webbplats öppnade verkligen upp.

Det är administratörsportalen för alla enheter som körs Resilio Sync.

Jag använder alltid kommandoraden, så jag hade helt glömt bort den här funktionen. Så Sun AnswerBook-posten var en komplett strömming, och tjänsten bakom port 8888 hade identifierats.

En dold webbserver

Nästa problem jag spelade in för att ta en titt på var HTTP-porten 80 på min skrivare. Återigen tog jag IP-adressen från nmap-resultaten och använde den som en adress i min webbläsare. Jag behövde inte tillhandahålla hamnen; webbläsaren skulle som standard vara port 80.

Ser man på; min skrivare har en inbäddad webbserver.

Nu kan jag se antalet sidor som har gått igenom det, tonernivån och annan användbar eller intressant information.

En annan okänd enhet

Enheten på 192.168.4.24 avslöjade ingenting för någon av de nmap-skanningar vi har provat hittills.

Jag lade till alternativet -Pn (ingen ping). Detta gör att nmap antar att målenheten är uppe och fortsätter med de andra skanningarna. Detta kan vara användbart för enheter som inte reagerar som förväntat och förvirrar nmap till att tro att de är offline.

sudo nmap -A -T4 -Pn 192.168.4.24

Detta hämtade en dump av information, men det fanns inget som identifierade enheten.

Det rapporterades köra en Linux-kärna från Mandriva Linux. Mandriva Linux var en distribution som var det upphörde redan 2011. Den lever vidare med ett nytt samhälle som stödjer det, som OpenMandriva.

En annan Internet of Things-enhet, möjligen? förmodligen inte – jag har bara två, och de har båda tagits upp.

En genomgång av rum för rum och ett antal fysiska enheter gav mig ingenting. Låt oss slå upp MAC-adressen.

Så det visade sig att det var min mobiltelefon.

Kom ihåg att du kan göra dessa uppslag online med hjälp av Wireshark Manufacturer Lookup-sida.

Elitgrupps datorsystem

De två sista frågorna jag hade handlade om de två enheterna med tillverkarnamn som jag inte kände igen, nämligen Liteon och Elitegroup Computer Systems.

Låt oss ändra takt. Ett annat kommando som är användbart för att fästa identiteten för enheterna i ditt nätverk är arp. arp används för att arbeta med Address Resolution Protocol-tabellen i din Linux-dator. Det används för att översätta från en IP-adress (eller nätverksnamn) till en MAC-adress.

Om arp inte är installerat på din dator kan du installera det så här.

På Ubuntu, använd apt-get:

sudo apt-get install net-tools

På Fedora använd dnf:

sudo dnf install net-tools

På Manjaro använd pacman:

sudo pacman -Syu net-tools

För att få en lista över enheterna och deras nätverksnamn – om de har tilldelats ett – skriv bara arp och tryck på Retur.

Detta är resultatet från min forskningsmaskin:

Namnen i den första kolumnen är maskinnamnen (även kallade värdnamn eller nätverksnamn) som har tilldelats enheterna. Några av dem har jag satt (Nostromo, Molnbasoch Marinevilletill exempel) och några har ställts in av tillverkaren (som Vigor.router).

Utdatan ger oss två sätt att korsrefera den med utdata från nmap. Eftersom MAC-adresserna för enheterna är listade kan vi hänvisa till utdata från nmap för att ytterligare identifiera enheterna.

Dessutom, eftersom du kan använda ett maskinnamn med ping och eftersom ping visar den underliggande IP-adressen, kan du korshänvisa maskinnamn till IP-adresser genom att använda ping på varje namn i tur och ordning.

Låt oss till exempel pinga Nostromo.local och ta reda på vad dess IP-adress är. Observera att maskinnamn är skiftlägesokänsliga.

ping nostromo.local

Du måste använda Ctrl+C för att stoppa ping.

Utdata visar oss att dess IP-adress är 192.168.4.15. Och det råkar vara enheten som dök upp i den första nmap-skanningen med Liteon som tillverkare.

Liteon-företaget tillverkar datorkomponenter som används av väldigt många datortillverkare. I det här fallet är det ett Liteon Wi-Fi-kort inuti en Asus laptop. Så, som vi noterade tidigare, är namnet på tillverkaren som returneras av nmap bara dess bästa gissning. Hur visste nmap att Liteon Wi-Fi-kortet var monterat på en bärbar dator från Asus?

Och slutligen. MAC-adressen för enheten som tillverkas av Elitegroup Computer Systems matchar den i arp-listan för enheten som jag har döpt till LibreELEC.local.

Detta är en Intel NUCkör LibreELEC mediaspelare. Så denna NUC har ett moderkort från företaget Elitegroup Computer Systems.

Och där är vi, alla mysterier lösta.

Alla redovisas för

Vi har verifierat att det inte finns några oförklarliga enheter i det här nätverket. Du kan använda teknikerna som beskrivs här för att undersöka ditt nätverk antingen. Du kan göra detta av intresse – för att tillfredsställa din inre nörd – eller för att försäkra dig om att allt som är kopplat till ditt nätverk har rätt att vara där.

Kom ihåg att anslutna enheter finns i alla former och storlekar. Jag tillbringade lite tid med att gå runt i cirklar och försöka hitta en konstig enhet innan jag insåg att det faktiskt var smartklockan på min handled.