Nmap är en förkortning för Network Mapper. Det är ett säkerhetsverktyg med öppen källkod för utforskning av nätverk, säkerhetsskanning och granskning. Nmap-kommandot levereras dock med många alternativ som kan göra verktyget mer robust och svårt att följa för nya användare. Syftet med den här guiden är att introducera en användare till kommandoradsverktyget Nmap för att skanna en värd eller ett nätverk för att ta reda på eventuella sårbara punkter i värddatorerna. Du kommer också att lära dig hur du använder Nmap för offensiva och defensiva syften. Låt oss se några vanliga exempel på Nmap-kommandon som körs på Linux eller Unix-liknande system.

ADVERTISEMENTS

Vad är Nmap och vad används det till?

nmap in action

Från man-sidan:

Nmap (”Network Mapper”) är ett verktyg med öppen källkod för utforskning av nätverk och säkerhetsgranskning. Det har utformats för att snabbt skanna stora nätverk, även om det fungerar bra mot enskilda värdar. Nmap använder råa IP-paket på nya sätt för att avgöra vilka värdar som är tillgängliga i nätverket, vilka tjänster (programnamn och version) dessa värdar erbjuder, vilka operativsystem (och OS-versioner) de kör, vilken typ av paketfilter/firewalls som används och dussintals andra egenskaper. Nmap används vanligen för säkerhetsgranskningar, men många system- och nätverksadministratörer tycker att det är användbart för rutinuppgifter som nätverksinventering, hantering av scheman för uppgradering av tjänster och övervakning av värdars eller tjänsters drifttid.

Det skrevs ursprungligen av Gordon Lyon och kan enkelt besvara följande frågor:

  1. Finns igångsatta datorer på det lokala nätverket
  2. Vilka IP-adresser hittade du igångsatta på det lokala nätverket?
  3. Finns det operativsystem som din målmaskin har
  4. Finns det vilka portar som är öppna på maskinen som du just skannade?
  5. Se om systemet är infekterat med skadlig kod eller virus.
  6. Sök efter obehöriga servrar eller nätverkstjänster i ditt nätverk.
  7. Lokalisera och ta bort datorer som inte uppfyller organisationens miniminivå för säkerhet.

Nmap Command Examples in Linux and Unix – Sample setup (LAB) for

Port scanning kan vara olagligt i vissa jurisdiktioner. Så sätt upp ett labb enligt följande:

 +---------+ +---------+ | Network | +--------+ | server1 |-----------+ swtich +---------|server2 | +---------+ | (sw0) | +--------+ +----+----+ | | +---------+----------------+ | wks01 Linux/macOS/Win | +--------------------------+

Var,

  • wks01 är din dator som antingen kör Linux/macOS (OS X) eller ett Unix-liknande operativsystem. Den används för att skanna ditt lokala nätverk. Kommandot nmap måste vara installerat på denna dator.
  • Server1 kan drivas av operativsystemen Linux / Unix / MS-Windows. Detta är en server som inte är patchad. Installera gärna några tjänster, till exempel en webbserver, filserver och så vidare.
  • server2 kan drivas av Linux / Unix / MS-Windows operativsystem. Detta är en fullt patchad server med brandvägg. Återigen kan du gärna installera några tjänster som en webbserver, filserver och så vidare.
  • Alla tre system är anslutna via en switch.

Hur installerar jag nmap på Linux?

Se:

  1. Debian / Ubuntu Linux: Installera nmap-programvara för att skanna nätverk
  2. CentOS / RHEL: Installera nmap Network Security Scanner
  3. OpenBSD: Installera nmap Network Security Scanner

Skanna en enskild värd eller en IP-adress (IPv4) med hjälp av nmap

Fig.01: nmap output

Skanna flera IP-adresser eller delnät (IPv4)

nmap 192.168.1.1 192.168.1.2 192.168.1.3## works with same subnet i.e. 192.168.1.0/24 nmap 192.168.1.1,2,3

Du kan också skanna ett intervall av IP-adresser:

nmap 192.168.1.1-20

Du kan skanna ett intervall av IP-adresser med hjälp av ett jokertecken:

nmap 192.168.1.*

Slutligt kan du skanna ett helt delnät:

nmap 192.168.1.0/24

Läs lista över värdar/nätverk från en fil (IPv4)

Med -iL-alternativet kan du läsa listan över målsystem med hjälp av en textfil. Detta är användbart för att skanna ett stort antal värdar/nätverk. Skapa en textfil enligt följande:
cat > /tmp/test.txt
Förstärk namn enligt följande:

server1.cyberciti.biz192.168.1.0/24192.168.1.1/2410.1.2.3localhost

Syntaxen är följande:

nmap -iL /tmp/test.txt

Exkludering av värdar/nätverk (IPv4) från nmap-skanning exempel

När du skannar ett stort antal värdar/nätverk kan du exkludera värdar från en skanning:

nmap 192.168.1.0/24 --exclude 192.168.1.5nmap 192.168.1.0/24 --exclude 192.168.1.5,192.168.1.254

Och exkludera listan från en fil som heter /tmp/exclude.txt

nmap -iL /tmp/scanlist.txt --excludefile /tmp/exclude.txt

Aktivera skriptet för skanning av OS- och versionsdetektering (IPv4) med nmap

nmap -A 192.168.1.254nmap -v -A 192.168.1.1nmap -A -iL /tmp/scanlist.txt 

Finn ut om en värddator/nätverk skyddas av en brandvägg med hjälp av namp-kommandot

## nmap command examples for your host ##nmap -sA 192.168.1.254nmap -sA server1.cyberciti.biz

Skanna en värddator när den är skyddad av brandväggen

I de här exemplen på Nmap-kommandon kommer vi att skanna en router/wifienhet som har 192.168.1.1.1 som IP:

nmap -PN 192.168.1.1nmap -PN server1.cyberciti.biz

Skanna en IPv6-värd/adress exempel

Med alternativet -6 kan IPv6-skanning aktiveras med kommandot namp. Syntaxen är:

nmap -6 IPv6-Address-Herenmap -6 server1.cyberciti.biznmap -6 2607:f0d0:1002:51::4nmap -v A -6 2607:f0d0:1002:51::4

Skanna ett nätverk och ta reda på vilka servrar och enheter som är igång

Detta är känt som värdupptäckt eller pingskanning:

nmap -sP 192.168.1.0/24

Här ser det ut:

Hur utför jag en snabb skanning med namp?

nmap -F 192.168.1.1nmap -6 -F IPv6_Address_Here

Visa anledningen till att en port är i ett visst tillstånd

nmap --reason 192.168.1.1nmap --reason server1.cyberciti.biz

Uppgifter:

Visa endast öppna (eller möjligen öppna) portar med hjälp av nmap-kommandot i Linux

Körning:

nmap --open 192.168.1.1nmap --open server1.cyberciti.biznmap --open 192.168.2.18

Scanning av utdata från min CentOS 7 Linuxserver:

Visa alla skickade och mottagna paket

nmap --packet-trace 192.168.1.1nmap --packet-trace server1.cyberciti.biz

Visa värdgränssnitt och rutter

Detta är användbart för felsökning (ip-kommando eller ruttkommando eller netstat-kommando som utdata med hjälp av nmap-kommandot i Linux)

nmap --iflist

Detaljriktad rapport som skapats av Namp-kommandot:

Hur skannar jag specifika portar med nmap?

Exempel på utdata:

16: Det snabbaste sättet att skanna alla dina enheter/datorer efter öppna portar någonsin

nmap -T5 192.168.1.0/24nmap -T5 {sub/net}

Hur upptäcker jag fjärroperativsystem med hjälp av nmap?

Du kan identifiera en fjärrvärds appar och operativsystem med hjälp av alternativet -O:

nmap -O 192.168.1.1nmap -O --osscan-guess 192.168.1.1nmap -v -O --osscan-guess 192.168.1.1

Exempel på utdata:

Se även Fingerprinting a web-server and a dns server command line tools för mer information.

Hur upptäcker jag versionsnummer för fjärrtjänster (server/demon)?

Öppna terminalen och skriv sedan följande nmap-kommando:

nmap -sV 192.168.1.1

Exempel på utdata:

Skanna en värddator med hjälp av TCP ACK (PA) och TCP Syn (PS) ping

Om brandväggen blockerar vanliga ICMP-pings, prova följande metoder för att hitta värddatorer:

nmap -PS 192.168.1.1nmap -PS 80,21,443 192.168.1.1nmap -PA 192.168.1.1nmap -PA 80,21,200-512 192.168.1.1

Skanna en värd med hjälp av IP-protokollet ping

nmap -PO 192.168.1.1

Skanna en värd med hjälp av UDP ping

Denna skanning kringgår brandväggar och filter som endast granskar TCP:

nmap -PU 192.168.1.1nmap -PU 2000.2001 192.168.1.1

Hitta upp de vanligaste TCP-portarna med hjälp av TCP SYN Scan

Skanna en värd för UDP-tjänster (UDP-scanning)

De flesta populära tjänsterna på Internet körs via TCP-protokollet. DNS, SNMP och DHCP är tre av de vanligaste UDP-tjänsterna. Använd följande syntax för att ta reda på UDP-tjänster:

nmap -sU nas03nmap -sU 192.168.1.1

Exempel på utdata:

Skanna efter IP-protokoll

Med denna typ av skanning kan du avgöra vilka IP-protokoll (TCP, ICMP, IGMP, osv.) stöds av målmaskiner:

nmap -sO 192.168.1.1

Skanna en brandvägg för säkerhetsbrister

De följande skanningstyperna utnyttjar ett subtilt kryphål i TCP och är bra för att testa säkerheten för vanliga attacker:

Visa hur man blockerar Xmas packkets, syn-floods och andra conman-attacker med iptables.

Skanna en brandvägg efter paketfragment

Valet -f gör att den begärda skanningen (inklusive ping-skanningar) använder små fragmenterade IP-paket. Tanken är att dela upp TCP-huvudet över
flera paket för att göra det svårare för paketfilter, intrångsdetekteringssystem och andra störande faktorer att upptäcka vad du gör.

Skydda en skanning med lockbete

Otillvalet -D det ser ut som om fjärrvärdarna ser ut som om värdarna som du anger som lockbete också skannar målnätverket. På så sätt kan deras IDS rapportera 5-10 portscanningar från unika IP-adresser, men de kommer inte att veta vilken IP som scannade dem och vilka som var oskyldiga lockbete:

nmap -n -Ddecoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ipnmap -n -D192.168.1.5,10.5.1.2,172.1.2.4,3.4.2.1 192.168.1.5

Scanning av en brandvägg för MAC-adressförfalskning

Hur sparar jag utdata till en textfil?

Syntaxen är:

nmap 192.168.1.1 > output.txtnmap -oN /path/to/filename 192.168.1.1nmap -oN output.txt 192.168.1.1

Söker efter webbservrar och skickar in dem i Nikto för skanning

nmap -p80 192.168.1.2/24 -oG - | /path/to/nikto.pl -h -
nmap -p80,443 192.168.1.2/24 -oG - | /path/to/nikto.pl -h -

Snabbare nmap

Förmedla -T-alternativet till nmap-kommandot:
nmap -v -sS -A -T4 192.168.2.5
Exempel på utdata:

Inte fan av kommandoradsverktygen i namp?

Sedan tidigare har vi sett exempel på Nmap-kommandon med hjälp av Linux- och Unix-kommandoradsalternativ. Det är dock inte alla som är superbekanta med CLI. Därför kan vi använda GUI-appen Zenmap, som är det officiella nätverksmappningsfrontenden/GUI-verktyget:

Zenmap är det officiella GUI-verktyget för Nmap Security Scanner. Det är en fri och öppen källkodsapplikation för flera plattformar (Linux, Windows, Mac OS X, BSD etc.) som syftar till att göra Nmap enkelt att använda för nybörjare samtidigt som den erbjuder avancerade funktioner för erfarna Nmap-användare. Ofta använda skanningar kan sparas som profiler för att göra det lätt att köra dem upprepade gånger. En kommandoskapare gör det möjligt att interaktivt skapa Nmap-kommandorader. Skanningsresultat kan sparas och ses senare. Sparade skanningsresultat kan jämföras med varandra för att se hur de skiljer sig åt. Resultaten av senaste skanningar lagras i en sökbar databas.

Du kan installera zenmap med följande apt-get-kommando eller apt-kommando:
$ sudo apt-get install zenmap
Sampelutgångar:

Skriv följande kommando för att starta zenmap:
$ sudo zenmap
Sampelutgångar

Fig.02: zenmap i aktion

Hur upptäcker och blockerar portscanning på Linux- och Unix/BSD-servrar?

Prova följande resurser:

  1. Hur man använder psad-verktyget för att upptäcka och blockera portscanningsattacker i realtid.
  2. Debian / Ubuntu Linux: Linux: Install and Configure Shoreline Firewall (Shorewall).
  3. CentOS / Redhat Iptables Firewall Configuration Tutorial.
  4. Linux: 20 Iptables Examples For New SysAdmins.
  5. 20 Linux Server Hardening Security Tips.

Conclusion

I den här guiden har du lärt dig om kommandot Nmap med många exempel för Linux och användning med olika exempel. Se följande resurser för mer information:

  • Den officiella hemsidan för Nmap-projektet här.

Nmap-kommandot har många fler alternativ och gå igenom man-sidan eller dokumentationen för mer information. Vilka är några av dina favoritknep för Nmap-kommandoraden? Dela med dig av dina favorittips, tricks och råd i kommentarerna nedan.

🐧 Stöd gärna mitt arbete på Patreon eller med en donation.
🐧 Få de senaste handledningarna om Linux, öppen källkod & DevOps via RSS-flöde eller veckovisa nyhetsbrev via e-post.
🐧 25 kommentarer så här långt… lägg till en ↓
Kategori Lista över Unix- och Linuxkommandon
Fil Management cat
Firewall Alpine Awall – CentOS 8 – OpenSUSE – RHEL 8 – Ubuntu 16.04 – Ubuntu 18.04 – Ubuntu 20.04
Nätverksverktyg dig – host – ip – nmap
OpenVPN CentOS 7 – CentOS 8 – Debian 10 – Debian 8/9 – Ubuntu 18.04 – Ubuntu 20.04
Pakethantering apk – apt
Processhantering bg – chroot – cron – disown – fg – jobs – killall – kill – kill – pidof – pstree – pwdx – time
Sökning grep – whereis – which
Utomatiserad information groups – id – lastcomm – last – lid/libuser-lid – logname – members – users – whoami – who – w
WireGuard VPN Alpine – CentOS 8 – Debian 10 – Firewall – Ubuntu 20.04

admin

Lämna ett svar

Din e-postadress kommer inte publiceras.

lg