nmap är ett nätverkssökningsverktyg som kan användas för en mängd olika nätverksupptäckningsuppgifter, inklusive portskanning, tjänsteberäkning och OS fingeravtryck.

För att installera nmap på Ubuntu eller Raspbian använd:

 sudo apt-get install nmap 

För Linux-versioner som använder yum, som Fedora, kör det här som root:

 yum installera nmap 

Den enklaste inbjudningen är bara att ange ett värdnamn eller en IP-adress för en maskin som du vill skanna. nmap skannar sedan maskinen för att se vilka portar som är öppna. Till exempel:

 nmap 192.168.1.101 

Alla TCP / IP-anslutningar använder ett portnummer för att identifiera varje nätverkstjänst unikt. Till exempel görs webbläsaranslutningar på port 80; e-postmeddelanden skickas på port 25 och laddas ner på port 110; säkra skalanslutningar görs på port 22; och så vidare. När nmap gör en portsökning, visar den vilken port som är öppen och kan ta emot anslutningar. Detta anger i sin tur vilka tjänster som körs på fjärrmaskinen.

Ur säkerhetssynpunkt är ju mindre tjänster som körs på en värd, desto säkrare är det. Detta beror på att det finns mindre "hål" som en angripare kan använda för att försöka komma åt maskinen. Det är också ett användbart sätt att göra en preliminär kontroll för att se om en tjänst körs (och accepterar anslutningar). En snabbsökning av min Ubuntu-server ser så här ut:

För att upptäcka vilken programvara som tillhandahåller servern bakom varje av de öppna portarna använd -sV alternativet:

 nmap-sV 192.168.1.101 

Här är resultaten från en Raspberry Pi:

nmap har korrekt upptäckt att OpenSSH-servern används för att tillhandahålla en SSH-tjänst på Pi. Verktyget noterar också att Pi kör Linux!

nmap kan utföra avancerad operativsystemdetektering med alternativet -O . För operativsystemdetektering måste nmap köras med root-privilegier. För Ubuntu och Raspbian:

 sudo nmap-O 192.168.1.43 

Här är resultatet från en skanning som utförs mot en Windows XP-maskin:

Om du vill skanna mer än en värd åt gången kan du med nmap ange flera adresser eller använda adressintervall. För att skanna mer än en värd lägger du bara till extra adresser till parametervärden (med var och en separerad av ett Rymd). Till exempel för att söka efter öppna portar på 192.168.1.1, 192.168.1.4 och 192.168.1.43, använd:

 nmap 192.168.1.1 192.168.1.4 192.168.1.43 

Om du vill ange ett adressintervall använder du symbolen för streckknappen. Till exempel för att skanna de första fem värdarna i ditt nätverk kan du använda:

 nmap 192.168.1.1-5 

Produktionen skulle se ut så här:

Den första värd som hittades är routern som levereras av min Internetleverantör (på adressen 192.168.1.1) och den andra är min Raspberry Pi (på 192.168.1.4).

Kokbok och sammanfattning

Även om nmap är enkel att använda, erbjuder den en rad avancerade funktioner. Nästa del i den här serien kommer att beröra några av de mer avancerade användningarna, men i slutet är här en kort lista över andra kommandon som du kanske tycker är användbara:

För att kontrollera om en viss port är öppen använd -p följt av portnummer eller portnamn, till exempel:

 nmap-p ssh 192.168.1.4 

Den kan kombineras med -sV flaggan för att bestämma vilken version av programvaran som är ansluten till den porten:

 nmap-p ssh-sV 192.168.1.4 

För att upptäcka vilka värdar som lever i ditt nätverk använder du -sn flaggan. Detta pingar bara värdarna som anges i adressområdet. Till exempel:

 nmap -sn 192.168.1.1-254 

Som slutligt varningsmeddelande, kör inte skanningar mot värdar som du inte kontrollerar eller har behörighet att skanna. Överdriven skanning kan tolkas som en attack eller kan störa tjänsterna onödigt.

Bildkredit: Fibernätverksserver av BigStockPhoto