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, som låter dig utforska alla enheter som är anslutna till ditt nätverk.
Du kanske tror att ditt hemnätverk är ganska enkelt, och det finns inget att lära sig av att se djupare på det. Du kanske har rätt, men chansen är att du lär dig något du inte visste. Med spridningen av Sakernas internet enheter, mobila enheter som telefoner och surfplattor och smarta hemrevolutionen - 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 ska använda
nmap
kommando. Beroende på vilka andra programvarupaket du har installerat på din dator,
nmap
kanske redan har installerats för 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 installera nmap
Så här installerar du det på Manjaro.
Sudo skala
Du kan installera den 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 upptäcka IP-adressen till din Linux-dator. Det finns ett minimum och en maximal IP-adress som ditt nätverk kan använda. Detta är omfånget eller intervallet för IP-adresser för ditt nätverk. Vi måste ange IP-adresser eller ett antal IP-adresser till
nmap
, så vi måste veta vad dessa värden är.
Linux ger ett kommando som heter
ip
och
det har ett alternativ
kallad
addr
(adress). Typ
ip
, ett utrymme,
addr
Och tryck på Enter.
ip addr
I den nedre delen av utdata hittar du din ip-adress. Det föregås av etiketten "inet".
Datorns IP-adress är “192.168.4.25”. ”/ 24” betyder att det finns tre på varandra följande uppsättningar med åtta 1 i undernätmasken. (Och 3 x 8 = 24.)
I binär är subnätmasken:
11111111.11111111.11111111.00000000
och i decimal är det 255.255.255.0.
Delnätmasken och IP-adressen används för att ange vilken del av IP-adressen som identifierar nätverket och vilken del som identifierar enheten. Denna nätmask informerar hårdvaran om 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 antalet du kan hålla i ett 8-bitars binärt nummer ä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”. Lyckligt,
nmap
fungerar med den notationen, så vi har vad vi behöver för att börja använda
nmap
.
RELATERAD: Hur fungerar IP-adresser?
Kom igång med nmap
nmap
är en
nätverksmappningsverktyg
. Det fungerar genom att skicka olika nätverksmeddelanden till IP-adresserna i det intervall vi ska förse det med. Det kan härleda mycket om den enhet det undersöker genom att bedöma och tolka vilken typ av svar det får.
Låt oss starta en enkel skanning med
nmap
. Vi ska använda
-sn
(skanna ingen port) alternativ. Detta berättar
nmap
att inte undersöka portarna på enheterna för tillfället. Det kommer att göra en lätt, snabb skanning.
Ändå kan det ta lite tid för
nmap
att springa. Naturligtvis, ju fler enheter du har i nätverket, desto längre tid tar det. Den gör allt sitt sonderings- och spaningsarbete först 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å en minut eller så.
IP-adressen vi ska använda är den vi fick med hjälp av
ip
kommandot tidigare, men det sista numret är noll. Det är den första möjliga IP-adressen i detta nätverk. "/ 24" berättar
nmap
för att skanna hela nätverksområdet. 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 utgången till terminalfönstret.
Du kan köra den här sökningen utan att använda
sudo
, men använder
sudo
säkerställer att den kan extrahera så mycket information som möjligt. Utan
sudo
den här skanningen skulle 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. Med andra ord har vi en lista över enheter anslutna till nätverket, tillsammans med deras IP-adress. Och där det är möjligt,
nmap
har identifierat tillverkaren. Det är inte dåligt för första försöket.
Här är längst ner på listan.
Vi har skapat en lista över anslutna nätverksenheter, så vi vet hur många av dem det finns. Det finns 15 enheter påslagna och anslutna till nätverket. Vi känner tillverkaren för några av dem. Eller som vi ska se har vi 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 de vi behöver undersöka närmare.
Vad några av dessa enheter är är klart för mig. Raspberry Pi Foundation är självförklarande. Amazon Technologies-enheten blir min Echo Dot. Den enda Samsung-enhet jag har är en laserskrivare, så att den smalnar. Det finns ett par enheter listade som tillverkade av Dell. Det är enkelt, det är en dator och bärbar dator. Avaya-enheten är en Voice Over IP-telefon som ger mig en förlängning på 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 (sätt) mer än en hallon PI. Hur många som är anslutna till nätverket kommer alltid att variera eftersom de ständigt byts in och ut ur plikt när de får avbildas och omdesignas. Men definitivt borde det finnas mer än en som dyker upp.
Det finns ett par enheter markerade som Okänd. Uppenbarligen måste de undersöka.
Utför en djupare skanning
Om vi tar bort
-sn
alternativ
nmap
kommer också att försöka undersöka
hamnar
på enheterna. Portar är numrerade slutpunkter för nätverksanslutningar på enheter. Tänk på ett flerfamiljshus. Alla lägenheter har samma gatuadress (motsvarande IP-adressen), men varje lägenhet har sitt eget nummer (motsvarande hamnen).
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örplacerade 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 ska 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 i nätverket. Vänta en minut; vi hade 15 enheter för en stund sedan.
Antalet enheter kan mycket variera när du kör dessa skanningar. Det beror troligen på att mobila enheter anländer och lämnar lokalen, 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 förra gången den användes. det kanske, men det kanske inte.
Det var 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
Och nu kan vi lista filen med
mindre
och söka igenom det om vi vill.
mindre nmap-list.txt
När du rullar genom
nmap
rapportera att du letar efter allt som du inte kan förklara eller som verkar ovanligt. När du granskar din lista antecknar du IP-adresserna till alla enheter som du vill undersöka vidare.
Enligt listan som vi genererade tidigare är 192.168.4.10 en Raspberry Pi. Den kör en Linux-distribution eller en annan. Så vad använder port 445? Det beskrivs som ”microsoft-ds”. Microsoft, på en Pi som kör Linux? Vi kommer säkert att undersöka det.
192.168.4.11 taggades som ”Okänd” i den tidigare skanningen. Det 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 använt av “sun-answerbook”. Sun AnswerBook är ett mångaårigt pensionerat (elementärt) dokumenthämtningssystem. Det behöver inte sägas att jag inte har det installerat någonstans. Det måste titta på.
Enhet 192.168.4.22 identifierades tidigare som en Samsung-skrivare, vilket verifieras här med taggen som säger "skrivare". Vad som fick mina ögon var att HTTP-port 80 var närvarande och öppen. Denna port är reserverad för webbplatstrafik. Innehåller min skrivare en webbplats?
Enhet 192.168.4.31 tillverkas enligt uppgift 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 kommer att titta på det.
Ju fler portar en enhet har öppen, desto större chanser har en cyberbrottsling att komma in i den - om den exponeras direkt för Internet. Det är som ett hus. Ju fler dörrar och fönster du har, desto fler potentiella inträdesställen har en inbrottstjuv.
Vi har ordnat 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 bit av Internetsökning avslöjar att port 445 vanligtvis är associerad med Samba. Samba är en gratis programvaruimplementering av Microsofts Server Message Block Protocol (SMB). SMB är ett sätt att dela mappar och filer över ett nätverk.
Detta är vettigt; Jag använder den specifika Pi som ett 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 enkelt. En nere, flera till.
RELATERAD: Hur man gör en Raspberry Pi till en nätverkslagringsenhet med låg effekt
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 blinka mer information ur enheten. De
-A
(aggressiv skanning) alternativkrafter
nmap
för att använda detektion av operativsystem, detektering av version, skanning av skript och spårning av spårning.
De
-T
(timingmall) -alternativet gör att vi kan ange ett värde från 0 till 5. Detta ställer in ett av timinglägena. Tidslägena har fantastiska namn: paranoid (0), lömsk (1), artig (2), normal (3), aggressiv (4) och galen (5). Ju lägre antal, desto mindre påverkan
nmap
kommer att ha på bandbredden och andra nätverksanvändare.
Observera att vi inte tillhandahåller
nmap
med ett IP-intervall. Vi fokuserar
nmap
på en enda IP-adress, vilket är IP-adressen för den aktuella enheten.
sudo nmap -A-T4 192.168.4.11
På maskinen som används för att undersöka denna artikel tog det nio minuter innan
nmap
att utfö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 inte produktionen oss de enkla svar som vi hoppats på.
En extra sak vi har lärt oss är att den kör en version av Linux. I mitt nätverk är det ingen överraskning, men den här versionen av Linux är udda. Det verkar vara ganska gammalt. Linux används inom nästan hela Internet of Things-enheterna, så det kan vara en ledtråd.
Längre ner i utgången
nmap
gav oss
Media Access Control-adress
(MAC-adress) på enheten. Detta är en unik referens som tilldelas nätverksgränssnitt.
De första tre byten i MAC-adressen kallas Organisatoriskt unikt 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 sammanställt en databas med 35 909 av dem, det vill säga.
Mitt verktyg säger att det tillhör Google. Med den tidigare frågan om den märkliga versionen av Linux och misstanken att det kan vara en Internet of Things-enhet, pekar detta fingret ganska och helt riktigt mot min Google Home mini-smarthögtalare.
Du kan göra samma typ av OUI-sökning online med hjälp av Wireshark-tillverkarsökningssida .
Uppmuntrande, det matchar mina resultat.
Ett sätt att vara säker på id: n för en enhet är att utföra en skanning, stänga av enheten och skanna igen. IP-adressen som nu saknas från den andra uppsättningen resultat kommer att vara den enhet du just stängde av.
Sun AnswerBook?
Nästa mysterium var beskrivningen ”sun-answerbook” för Raspberry Pi med IP-adress 192.168.4.18. Samma "sun-answerbook" -beskrivning dök upp för enheten 192.168.4.21. Enhet 192.168.4.21 är en Linux-stationär dator.
nmap
gör sin bästa gissning om användningen av en port från en lista över kända programvaruföreningar. Naturligtvis, om någon av dessa hamnföreningar inte längre är tillämpliga - kanske programvaran inte längre används och har gått
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ågot gammalt Sun Microsystems programvara, så vad kan dessa två enheter, Raspberry Pi och skrivbordet, ha gemensamt?
Internetsökningar gav inte tillbaka något som var användbart. Det var många träffar. Det verkar som om något med ett webbgränssnitt som inte vill använda port 80 verkar välja port 8888 som 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 en adress i min webbläsare. Detta är formatet för att ange en IP-adress och en port i en webbläsare. Använd ett kolon
:
för att separera IP-adressen från portnumret.
En webbplats öppnade verkligen.
Det är adminportalen för alla enheter som körs Resilio Sync .
Jag använder alltid kommandoraden, så jag hade helt glömt bort den här anläggningen. Så Sun AnswerBook-postlistan var en komplett röd sill, och tjänsten bakom port 8888 hade identifierats.
En dold webbserver
Nästa utgåva jag spelade in för att titta på var HTTP-port 80 på min skrivare. Återigen tog jag IP-adressen från
nmap
resultat och använde det som en adress i min webbläsare. Jag behövde inte tillhandahålla porten; webbläsaren skulle vara port 80 som standard.
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 192.168.4.24 avslöjade ingenting för någon av
nmap
skanningar vi har testat hittills.
Jag lade till i
-Mån
(ingen ping) alternativ. Detta orsakar
nmap
att anta att målenheten är uppe och fortsätta med de andra genomsökningarna. Detta kan vara användbart för enheter som inte reagerar som förväntat och förvirrar
nmap
att tro att de är offline.
sudo nmap -A-T4 -Pn 192.168.4.24
Detta hämtade en dumpning av information, men det fanns ingenting som identifierade enheten.
Det rapporterades att det kör en Linux-kärna från Mandriva Linux. Mandriva Linux var en distribution som var upphörde 2011 . Det lever vidare med en ny gemenskap som stöder den, som OpenMandriva .
En annan Internet of Things-enhet, möjligen? förmodligen inte - jag har bara två, och de har redovisats båda.
Ett rum för rumsgenomgång och ett fysiskt antal apparater gav mig ingenting. Låt oss slå upp MAC-adressen.
Så det visar sig att det var min mobiltelefon.
Kom ihåg att du kan göra dessa sökningar online med hjälp av Wireshark-tillverkarsökningssida .
Elitegroup-datorsystem
De två sista frågorna jag hade var om de två enheterna med tillverkarnamn som jag inte kände igen, nämligen Liteon och Elitegroup Computer Systems.
Låt oss ändra tack. Ett annat kommando som är användbart för att fästa identiteten på enheterna i ditt nätverk är
arp
.
arp
används för att arbeta med Address Resolution Protocol-tabellen på 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 installerad på din dator kan du installera den så här.
På Ubuntu, använd
apt-get
:
sudo apt-get install net-verktyg
Om Fedora-användning
dnf
:
sudo dnf installera nätverktyg
Vid användning av Manjaro
Pac Man
:
Sudopa cman-shu-ne-to-ls
För att få en lista över enheterna och deras nätverksnamn - om de har tilldelats ett - skriv bara
arp
och tryck på Enter.
Det här ä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 ställt in ( Nostromo , Cloudbase och Marineville , till exempel) och vissa har ställts in av tillverkaren (t.ex. Vigor.router).
Utgången ger oss två sätt att korsreferera 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.
Också eftersom du kan använda ett maskinnamn med
ping
och eftersom
ping
visar den underliggande IP-adressen, kan du korsreferensmaskinnamn till IP-adresser med
ping
på varje namn i tur och ordning.
Låt oss till exempel pinga Nostromo.local och ta reda på dess IP-adress. Observera att maskinnamn är skiftlägeskänsliga.
ping nostromo.local
Du måste använda Ctrl + C för att stoppa
ping
.
Utgången visar att dess Ip-adress är 192.168.4.15. Och det råkar vara den enhet som dök upp i den första
nmap
skanna med Liteon som tillverkare.
Liteon-företaget tillverkar datorkomponenter som används av många datortillverkare. I det här fallet är det ett Liteon Wi-Fi-kort inuti en Asus-bärbar dator. Så, som vi noterade tidigare, namnet på tillverkaren som returneras av
nmap
är bara sin bästa gissning. Hur var
nmap
att veta att Liteon Wi-Fi-kortet var monterat på en Asus-bärbar dator?
Och slutligen. MAC-adressen för den enhet som tillverkas av Elitegroup Computer Systems matchar den i
arp
lista för den enhet som jag har döpt till LibreELEC.local.
Detta är en Intel NUC , kö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
Vi har verifierat att det inte finns några oförklarliga enheter i detta nätverk. Du kan använda de tekniker 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 tillfredsställa dig själv att allt som är anslutet 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 på att gå runt i cirklar och försökte spåra en konstig enhet innan jag insåg att det faktiskt var smarturet på min handled.