nmap er et netværksscanning værktøj, som kan bruges til en lang række netværk opdagelsesopgaver, herunder port scanning, service opregning og OS fingerprinting.

For at installere nmap på Ubuntu eller Raspbian brug:

 sudo apt-get install nmap 

For Linux-versioner, der bruger yum, som Fedora, skal du køre dette som root:

 yum installere nmap 

Den enkleste indkaldelse er bare at levere et værtsnavn eller en IP-adresse til en maskine, som du vil scanne. nmap scanner derefter maskinen for at se, hvilke porte der er åbne. For eksempel:

 nmap 192.168.1.101 

Alle TCP / IP-forbindelser bruger et portnummer til unikt at identificere hver netværkstjeneste. For eksempel oprettes webbrowserforbindelser på port 80; e-mails sendes på port 25 og downloades på port 110; Sikre skalforbindelser er lavet på port 22; og så videre. Når nmap gør en portscanning, viser den, hvilke porte der er åbne og kan modtage forbindelser. Til gengæld angiver dette, hvilke tjenester der kører på fjernmaskinen.

Fra et sikkerhedssynspunkt, jo mindre tjenester, der kører på en vært, desto sikrere er det. Dette skyldes, at der er mindre "huller", som en angriber kan bruge til at prøve at få adgang til maskinen. Det er også en nyttig måde at foretage en forudgående kontrol for at se, om en tjeneste kører (og accepterer forbindelser). En hurtig scanning af min Ubuntu-server ser sådan ud:

For at finde ud af, hvilken software der leverer serveren bag hver af de åbne porte, skal du bruge -sV indstillingen:

 nmap-sV 192.168.1.101 

Her er resultaterne fra en Raspberry Pi:

nmap har korrekt opdaget, at OpenSSH-serveren bliver brugt til at levere en SSH-tjeneste på Pi'en. Værktøjet bemærker også, at Pi kører Linux!

nmap er i stand til at udføre avanceret operativsystem detektion ved hjælp af -O valgmulighed. Til operativsystem detektion skal nmap køres med root privilegier. Til Ubuntu og Raspbian:

 sudo nmap -O 192.168.1.43 

Her er output fra en scanning udført mod en Windows XP-maskine:

Hvis du vil scanne mere end en vært ad gangen, kan du med nmap angive flere adresser eller bruge adresser. Hvis du vil scanne mere end en vært, skal du blot tilføje ekstra adresser til parameterlisten (med hver enkelt adskilt af et SPACE). For eksempel at scanne efter åbne porte på 192.168.1.1, 192.168.1.4 og 192.168.1.43, skal du bruge:

 nmap 192.168.1.1 192.168.1.4 192.168.1.43 

For at angive et adresseområde skal du bruge dash-symbolet. For at scanne de første fem værter på dit netværk kan du f.eks. Bruge:

 nmap 192.168.1.1-5 

Outputen ville se sådan ud:

Den første vært fundet er routeren leveret af min internetudbyder (på adressen 192.168.1.1), og den anden er min Raspberry Pi (på 192.168.1.4).

Kogebog og resumé

Selvom nmap er nem at bruge, tilbyder den en række avancerede funktioner. Næste del i denne serie vil berøre nogle af de mere avancerede anvendelser, men i afslutning er her en kort liste over andre kommandoer, som du måske finder nyttige:

For at kontrollere om en bestemt port er åben, brug -p efterfulgt af portnummer eller portnavn, for eksempel:

 nmap-p ssh 192.168.1.4 

Den kan kombineres med -sV flag for at bestemme den version af softwaren, der er knyttet til den pågældende port:

 nmap-p ssh-sV 192.168.1.4 

For at opdage, hvilke værter der lever i dit netværk, brug -sn flag. Dette vil bare ping de værter, der er angivet i adressefeltet. For eksempel:

 nmap -sn 192.168.1.1-254 

Som et afsluttende advarselsvarsel må du ikke foretage scanninger mod værter, som du ikke kontrollerer eller har tilladelse til at scanne. Overdreven scanning kan fortolkes som et angreb eller kunne forstyrre tjenester unødigt.

Billedkredit: Fiber Network Server af BigStockPhoto