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.
- Vad är Nmap och vad används det till?
- Nmap Command Examples in Linux and Unix – Sample setup (LAB) for
- Hur installerar jag nmap på Linux?
- Skanna en enskild värd eller en IP-adress (IPv4) med hjälp av nmap
- Skanna flera IP-adresser eller delnät (IPv4)
- Läs lista över värdar/nätverk från en fil (IPv4)
- Exkludering av värdar/nätverk (IPv4) från nmap-skanning exempel
- Aktivera skriptet för skanning av OS- och versionsdetektering (IPv4) med nmap
- Finn ut om en värddator/nätverk skyddas av en brandvägg med hjälp av namp-kommandot
- Skanna en värddator när den är skyddad av brandväggen
- Skanna en IPv6-värd/adress exempel
- Skanna ett nätverk och ta reda på vilka servrar och enheter som är igång
- Hur utför jag en snabb skanning med namp?
- Visa anledningen till att en port är i ett visst tillstånd
- Visa endast öppna (eller möjligen öppna) portar med hjälp av nmap-kommandot i Linux
- Visa alla skickade och mottagna paket
- Visa värdgränssnitt och rutter
- Hur skannar jag specifika portar med nmap?
- 16: Det snabbaste sättet att skanna alla dina enheter/datorer efter öppna portar någonsin
- Hur upptäcker jag fjärroperativsystem med hjälp av nmap?
- Hur upptäcker jag versionsnummer för fjärrtjänster (server/demon)?
- Skanna en värddator med hjälp av TCP ACK (PA) och TCP Syn (PS) ping
- Skanna en värd med hjälp av IP-protokollet ping
- Skanna en värd med hjälp av UDP ping
- Hitta upp de vanligaste TCP-portarna med hjälp av TCP SYN Scan
- Skanna en värd för UDP-tjänster (UDP-scanning)
- Skanna efter IP-protokoll
- Skanna en brandvägg för säkerhetsbrister
- Skanna en brandvägg efter paketfragment
- Skydda en skanning med lockbete
- Scanning av en brandvägg för MAC-adressförfalskning
- Hur sparar jag utdata till en textfil?
- Söker efter webbservrar och skickar in dem i Nikto för skanning
- Snabbare nmap
- Inte fan av kommandoradsverktygen i namp?
- Hur upptäcker och blockerar portscanning på Linux- och Unix/BSD-servrar?
- Conclusion
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:
- Finns igångsatta datorer på det lokala nätverket
- Vilka IP-adresser hittade du igångsatta på det lokala nätverket?
- Finns det operativsystem som din målmaskin har
- Finns det vilka portar som är öppna på maskinen som du just skannade?
- Se om systemet är infekterat med skadlig kod eller virus.
- Sök efter obehöriga servrar eller nätverkstjänster i ditt nätverk.
- 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:
- Debian / Ubuntu Linux: Installera nmap-programvara för att skanna nätverk
- CentOS / RHEL: Installera nmap Network Security Scanner
- 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:
- Hur man använder psad-verktyget för att upptäcka och blockera portscanningsattacker i realtid.
- Debian / Ubuntu Linux: Linux: Install and Configure Shoreline Firewall (Shorewall).
- CentOS / Redhat Iptables Firewall Configuration Tutorial.
- Linux: 20 Iptables Examples For New SysAdmins.
- 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.
🐧 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 |