Nmap flagg og hva de gjør

Nmap flagg og hva de gjør

Denne opplæringen forklarer hva NMAP -flagg er og hva de gjør med ekte scenarioeksempler.

NMAP er sannsynligvis det viktigste nettverks- og sikkerhetsverktøyet i markedet. Blant funksjonene er det havneskanning, skanning av sårbarhet, verter som oppdager, fotavtrykkfunksjoner og enda flere funksjonaliteter brakt av NMAP -skriptmotoren (NSE).

Etter å ha lest denne opplæringen vil du kunne bli en avansert NMAP -bruker, ikke bare ved å bruke flagg, men også ved å lære syntaks -tips og NMAP -skriptmotoren med flere funksjoner.

Alle eksempler vist i denne artikkelen inkluderer skjermbilder, noe som gjør det enkelt for alle brukere å forstå hvordan de skal bruke dem.

NMAP -syntaks

Når vi kjører en skanning ved hjelp av NMAP, må vi først ringe programmet, så må vi introdusere flagg (skanningstype) og til slutt målet (e) for å bli skannet.

Et grunnleggende eksempel på dette ville være en enkel portskanning som er rettet mot spesifikke porter som vist nedenfor, der porten 80 av verten Linuxhint.com skannes for å lære sin stat.

nmap -p 80 linuxhint.com


De -P (port) flagg eller parameter Vist i eksemplet over brukes til å definere en eller flere porter. Du kan legge til flere porter ved å skille dem ved hjelp av komma, dette vil bli forklart senere i denne artikkelen.

Forstå NMAP -utgangen: Portstater

Før du fortsetter med forklaringen på NMAP -flagg, er det viktig for leserne å forstå NMAP -utganger. Når det gjelder dette, er det 6 portstater som kan rapporteres av NMAP:

  • Åpen: Porten er åpen og en applikasjon lytter gjennom den.
  • Lukket: Porten er lukket; Ingen applikasjoner lytter.
  • Filtrert: En brannmur forhindrer at NMAP når porten.
  • Ufiltrert: Port er tilgjengelig, men NMAP klarer ikke å sjekke tilstanden.
  • Åpne | Filtrert: NMAP klarer ikke å bestemme om en port er åpen eller filtrert.
  • Lukket | filtrert: NMAP klarer ikke å bestemme om en port er lukket eller filtrert.

Nå kjenner du NMAP -syntaks og grunnleggende utgang, noe som betyr at vi kan fortsette å lære NMAP -flagg.

NMAP -flagg for å skanne porter

Den mest brukte NMAP -funksjonen er portskanning. For å bruke NMAP riktig, er det nødvendig å vite hvordan dette flagget kan implementeres for å passe til brukerbehov.

Som vist i den første delen av denne opplæringen (syntaksdelen), for å spesifisere en port du bare trenger å skrive inn -P (porter) flagg etterfulgt av havnen du vil bli skannet, som vist nedenfor.

NMAP -P 443 Linuxhint.com


I eksemplet over blir NMAP instruert om å sjekke tilstanden til havnen 443 i Linuxhint.com vert.

Du kan også spesifisere mer enn en port ved å implementere et komma. I det følgende eksemplet blir NMAP instruert om å sjekke porter 80 (HTTP), 443 (HTTPS), 21 (FTP) og 22 (SSH).

NMAP -P 80.443.21,22 Linuxhint.com


Som du ser ble alle de spesifiserte portene analysert. Porter 80 og 443 er åpne mens portene 21 og 22 blir filtrert av en brannmur.

Med NMAP kan du selvfølgelig også definere mål ved hjelp av IP -adresser, undernett osv.

Nmap -p 23,80 162.0.232.43


Du kan også spesifisere et portsområde ved å implementere en bindestrek som vist i følgende eksempel, der alle porter fra 79 til 90 er skannet.

Merk: Hvis området er for stort, kan utgangen hoppe over lukkede/filtrerte porter og bare vise åpne porter.

NMAP -P 79-90 Linuxhint.com


Det er viktig å avklare når du bruker -P -flagg Du kan også spesifisere tjenesten med navnet, ikke bare med portnummeret. I eksemplet nedenfor blir porter HTTPS og SSH skannet.

nmap -p http, ssh linuxhint.com


Når du ikke spesifiserer porter, skanner NMAP som standard de 1000 mest brukte portene. Hvis du vil skanne et mål og bare finne åpne porter blant disse 1000 portene, kan du bruke -åpent flagg.

NMAP -Åpne Linuxhint.com

Som du kan se, fant NMAP porter 80.443, 8080 og 8443 åpne.

NMAP -flagg for OS og programvareversjonsdeteksjon

En annen viktig NMAP -funksjon er muligheten til å oppdage OS- og programvareversjoner av vårt mål. NMAP er et flott verktøy for fotavtrykk. Vi kan bruke forskjellige flagg, og kombinere dem for bedre resultater.

Det første flagget som er forklart i denne delen er -O (OS) flagg brukes til å oppdage måloperativsystemet.

Merk: Du trenger rotrettigheter for å bruke -O flagg For deteksjon av operativsystem. Bruke sudo prefiks.

sudo nmap -o donweb.com


NMAP -rapporter om forholdene var ikke ideelle for å oppdage målets operativsystem. Likevel er det 86% sikker på at det bruker et Linux -system med kjerne 2.6.18 eller 2.6.22.

For å oppdage tjenesteversjoner, kan du bruke -SV (serviceversjon) flagg som vist under.

NMAP -SV Argexchanger.com

På skjermbildet over oppdaget NMAP ren-FTPD for FTP-tjenesten, EXIM 4.94.2 og Dovecot for posttjeneste, ISC bind 9.8.2RC1 for DNS og Litespeed som webserver.

De -SV Flag støtter forskjellige intensitetsnivåer, fra 0 til 9, der 0 er en lysintensitet, og 9 den mest aggressive. Standardnivået når du bruker -SV Flag, Hvis ikke spesifisert, er 7.

Nedenfor kan du se et eksempel på en skanning med lavere intensitetsnivå. Som du vil se, blir det ikke oppdaget noen versjon.

NMAP -SV -Versjonsintensitet 0 Linuxhint.com


Nå kan du se utgangen fra en -sv Skann med maksimal intensitet mot samme mål.

Nå er resultatet annerledes, og mens versjonene ikke ble oppdaget, vet vi grunnen. Linuxhint.com er beskyttet av Cloudflare. Med denne utgangen lærte vi at vi kan få versjonene ved å bruke andre verktøy som CloudFail eller Shodan.

NMAP -flagg for å definere mål

Andre NMAP -grunnleggende flagg og syntaks -teknikker er nyttige for å definere mål for å skanne. Denne delen viser hvordan du kjører dem.

Merk: I tillegg, til flagg, dekker denne delen også noen syntakseteknikker.

I tidligere eksempler skannet vi bare ett mål. Du kan også målrette mot mange enheter.

Følgende eksempel viser hvordan du skal målrette et IP -område ved å implementere bindestrek. Skanningen vil målrette alle IP -adresser mellom 162.0.232.2 og 162.0.232.20. Skjermbildet kan selvfølgelig ikke inkludere alle resultatene jeg ser i konsollen.

NMAP 162.0.232.2-20


Du kan spesifisere områder i mer enn en oktett. Eksemplet nedenfor spesifiserer områder i de siste til oktettene ved å implementere bindestrek i begge.

NMAP 162.0.232-239.2-10


Hvis du vil skanne en hel oktett, kan du også bruke et jokertegn (*). Du kan også bruke jokertegn i mer enn en oktett, og du kan kombinere IP -områder med jokertegn som vist i følgende eksempel.

NMAP 162.0.232-234.*


De -IR -flagg instruerer NMAP om å finne verter tilfeldig, dette flagget avhenger av et argument og numeriske instruksjoner, det krever at brukeren skal definere hvor mange verter eller mål NMAP skal generere.

I det følgende eksempel instruerer jeg NMAP om å generere 200 tilfeldige mål for å skanne etter NetBios -porten.

NMAP -P 139 -IR 200


Du kan også bruke NMAP for å laste inn filer som inneholder så mange verter eller IP -adresser du vil. Verter kan være oppført med nye linjer som vist på skjermdumpen nedenfor, eller atskilt med komma, plass eller faner.

For å bruke eksemplet nedenfor for å lage en fil som inneholder verter og IP -adresser, kan du legge til mange som du vil. I mitt tilfelle kåret jeg filen HostsList.


Flagget for å laste vertene/ips -listen er -il. Nedenfor kan du se et eksempel ved å bruke listen opprettet i skjermdumpen ovenfor.

Nmap -il hostslist

De -ekskluder flagg er nyttig å ekskludere IP -adresser eller verter fra skanninger når vi skanner IP -områder eller målfiler. I det følgende eksemplet bruker jeg vertslisten igjen til å skanne porter SSH, FTP og SFTP, men jeg instruerer NMAP om å ekskludere Linuxhint.com fra listen. Som du ser i motsetning til resultatet vist i -il flagg Eksempel Linuxhint.com ble ikke skannet.

NMAP -P SSH, FTP, SFTP -il Hostslist -Exclude Linuxhint.com

Du kan også bruke -ekskluder flagg Når skanningsporter varierer som vist i eksemplet nedenfor, der IP 162.0.233.34 er ekskludert, ikke skannet.

NMAP -P SSH, FTP, SFTP 162.0.232-236.34 -Ekklude 162.0.233.34

Andre vanlige NMAP -flagg

Dette er den siste delen av denne opplæringen og forklarer flere ikke -kategoriserte flagg.

-v: The -V -flagget (verbositet) vil skrive ut informasjon om skanneprosessen. Som standard viser ikke NMAP prosessen, denne parameteren instruerer NMAP om å vise hva som skjer under skanningen.


-e: Dette flagget lar oss spesifisere et nettverksgrensesnitt (e.g. Eth0, WLAN0, ENP2S0, etc), nyttig hvis vi er koblet sammen gjennom våre kablede og trådløse kort. I mitt tilfelle er det trådløse kortet mitt WLP3S0, for å instruere NMAP om å bruke det grensesnittet til å skanne porter 22 og 80 på Linuxhint.

nmap -e wlp3s0 -p 22,80 linuxhint.com


-f: De -f (fragment pakker) flagg brukes også til å prøve å holde skanneprosessen uoppdaget ved å fragmentere pakkene, noe som gjør det vanskeligere for brannmurer eller ID -er å oppdage skanningen. Dette alternativet er ikke kompatibelt med alle NMAP -funksjoner. Det er viktig å avklare å bruke denne funksjonen du trenger rotrettigheter, bruk sudo prefiks.

sudo nmap -p 80, ssh, 21,23,25 -f linuxhint.com


-kildeport / -g: Flagg -source -port og -g er likeverdige og instruerer NMAP om å sende pakker gjennom en bestemt port. Dette alternativet brukes til å prøve å jukse brannmurer hviteliste trafikk fra spesifikke porter. Følgende eksempel vil skanne målet fra Port 20 til Ports 80, 22, 21,23 og 25 og sende fragmenterte pakker til Linuxhint.

sudo nmap -g 20 -p 80, ssh, 21,23,25 -f linuxhint.com


-Pn: Parameteren -PN (ingen ping) vil skanne portene i nettverket eller gitt område uten å sjekke om enheten er online, den vil ikke pinge og vil ikke vente på svar. Likevel er det nyttig for vertsoppdagelse.

NMAP -PN 234.31.1.1-23

Det handler om NMAP -flagg i denne opplæringen. Likevel, før jeg er ferdig, vil jeg introdusere deg for en annen NMAP utmerket funksjon, NMAP -skriptmotoren. Fortsett å lese nedenfor.

Introduksjon til NMAP Scripting Engine (NSE):

NMAP Scripting Engine (NSE) er en av de mest nyttige NMAP -funksjonene for automatiserte oppgaver. Den inneholder også fantastiske skript for å finne sårbarheter på mål. Brukere kan skrive sine egne skript eller bruke en database med eksisterende skript.

Syntaksen for å bruke NSE er følgende:

NMAP -Scriptt --