NMAP grunnleggende opplæring

NMAP grunnleggende opplæring

“Denne opplæringen forklarer hvordan NMAP fungerer og hvordan du installerer og bruker den fra terminalen.

NMAP (nettverksmapper) er sannsynligvis den mest brukte nettverksskanningen, i det minste blant Linux -brukere.”

NMAP tillater utførelse av følgende oppgaver:

  • Portskanning
  • IP -rekkevidde
  • Verter Discovery
  • Undernett skanner
  • Nettverksproblemdiagnostikk
  • Sårbarhetsdeteksjon
  • Sårbarhetsutnyttelse

Denne opplæringen dekker portskanning, vertsoppdagelse og skannende IP -områder og undernett. Til slutt kan leseren fortsette med koblingene fokusert på NMAP for sårbarhetsdeteksjon og utnyttelse med NMAP NSE (NMAP Scripting Engine).

Innholdet er sterkt optimalisert for brukere uten tidligere erfaring med NMAP. Ved å lese denne opplæringen og anvende de praktiske eksemplene, vil leseren tilegne seg nok kunnskap om hvordan NMAP fungerer, dens bruk og produksjonsforståelse for å fortsette med den avanserte bruksavlesningen som er anbefalt etter dette innholdet.

Alle trinnene beskrevet nedenfor inneholder skjermbilder, noe som gjør det enkelt for hver Linux -bruker å følge dem uavhengig av opplevelsesnivået.

Indeks:

  • Installere NMAP
  • Hvordan NMAP grunnleggende skanningstyper fungerer
  • NMAP Port States and Ports Scan
  • Definere mål i NMAP
  • Vertsoppdagelse med NMAP

Installere NMAP (fra kilder, Debian og Redhat -baserte Distros -depoter)

Denne delen forklarer hvordan du installerer NMAP på Debian -baserte Linux -distribusjoner som Ubuntu, Redhat -baserte Linux -distribusjoner som Centos og fra kilder for alle Linux -distribusjoner.

For å installere NMAP på Debian -baserte Linux -distribusjoner, utfør følgende kommando.

sudo apt install nmap

For Redhat -baserte distribusjoner, kjør kommandoen vist på skjermdumpen nedenfor.

sudo yum install nmap

For å kompilere NMAP fra kilder, besøk https: // nmap.org/nedlasting.HTML#Kilde og last ned den siste stabile NMAP -versjonen fra lenken som ligger i delen vist på skjermbildet nedenfor (Arrow).

Når du er lastet ned, trekker du ut tjæren.BZE2 -fil som vist nedenfor.

Merk: Erstatte <7.93> med den nedlastede NMAP -versjonen.

TAR -XF NMAP -7.93.tjære.BZ2

Når du er trukket ut, flytt inn i NMAP -katalogen.

CD NMAP-/

Utfør konfigurasjonsskriptet.

./konfigurere

Til slutt, fullfør samlingen ved å utføre gjøre og lage installasjon.

sudo make && lage installasjon

Hvordan NMAP grunnleggende skanningstyper fungerer

Vanlige NMAP -skanninger gjennomføres gjennom TCP og Syn skanninger. Når skanneprosessen er TCP, En forbindelse er etablert med målet. Med en Syn Skanning, tilkoblingen blir kansellert eller droppet før den blir etablert.

Følgende figur viser hvordan tilkoblinger er etablert: For det første sender datamaskinen (PC 1) å prøve å etablere forbindelsen en Syn pakke som ber om at destinasjonsenheten skal synkronisere. Hvis destinasjonsenheten (PC 2) er tilgjengelig for å etablere tilkoblingen, svarer den med både en annen SYN -pakke som tillater synkronisering og med en Ack (Erkjenner) pakke som bekrefter mottakelsen av den første Syn pakke sendt av datamaskinen som ba om tilkoblingen, deretter datamaskinen som ba om tilkoblingen (PC 1) sender en Ack pakke som bekrefter mottakelsen av begge Syn og Ack Pakker sendt av destinasjonsenheten (PC 2).

Når en forbindelse er etablert, blir den oppdaget av brannmurer og logget; det er derfor Syn Skanning ble implementert, Syn eller stealth -skanning sender en Syn pakke, og etter å ha mottatt destinasjonssvarene i stedet for å svare tilbake med en Ack pakke, den sender en RST (Tilbakestill) pakke for å avbryte forbindelsen før den ble opprettet som vist i følgende bilde:

På denne måten er ikke forbindelsen logget, men du må fortsatt håndtere inntrengningsdeteksjonssystemer med Syn Pakkedeteksjonsfunksjoner. For å unngå deteksjon, kan du bruke stealth -skanningsteknikker.

NMAP -skannefaser

NMAP går gjennom 11 trinn under skanneprosessen avhengig av de passerte flaggene; Noen av dem er valgfrie i henhold til spesifiserte parametere. For eksempel utføres for eksempel før og etter scanen bare hvis brukeren implementerer NSE for sårbarhetsdeteksjon eller utnyttelse.

De 11 mulige fasene er listet opp nedenfor:

  1. Pre-Scanning Script: Alternativet "Script Pre-Scanning" kaller skript fra NMAP Scripting Engine (NSE) for før-skanningsfasen; Dette stadiet foregår bare når NSE brukes.
  2. Måloppregning: I denne fasen behandler NMAP informasjon om målene for å skanne, for eksempel IP -adresser, verter, IP -områder osv.
  3. Vert Discovery (Ping Scanning): NMAP lærer hvilke mål som er online eller er tilgjengelig.
  4. Omvendt-DNS-oppløsning: NMAP ser etter vertsnavn for IP -adressene.
  5. Portskanning: NMAP vil oppdage porter og deres status: Åpne, lukket eller filtrert.
  6. Versjonsdeteksjon: I denne fasen vil NMAP prøve å lære versjonen av programvaren som kjører i åpne porter som er oppdaget i forrige fase, som hvilken versjon av Apache eller FTP.
  7. OS -deteksjon: NMAP prøver å oppdage målets OS.
  8. Traceroute: NMAP vil oppdage målets rute på nettverket eller alle ruter i nettverket.
  9. Skanning av skript: Denne fasen er valgfri; I denne fasen utføres NSE -skript; NSE -skript kan utføres før skanningen, under skanningen, og etter den, men de er valgfrie.
  10. Produksjon: NMAP viser oss informasjon om de samlede dataene.
  11. Post-skanningsskript: Valgfri fase hvis skript ble definert for å kjøre etter skanningen.

En enkel Nmap -skanning uten et annet flagg enn -v (Verbositet) vil vise noen av fasene som tidligere er oppført.

Merk: Når ingen porter er spesifisert, skanner NMAP som standard de mest brukte 1000 porter, inkludert alle protokoller.

NMAP -V Linuxhint.com

Portstater og portskanningstyper med NMAP

En av de viktigste NMAP -funksjonene er evnen til å skanne porter som lærer tilstanden deres, programvareversjonen lytter bak dem, og til og med bruke porter som forhold for massive eller flere IP -skanninger.

Når skanning etter tjenester kan NMAP rapportere opptil 6 stater eller betingelser for de skannede portene:

  • Åpen: Porten er åpen, og en applikasjon lytter gjennom den.
  • Lukket: Porten er lukket, og 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.

Som sagt i forrige seksjon. Når brukeren ikke spesifiserer porter, skanner NMAP de 1000 mest populære og brukte portene som standard.

Det mest grunnleggende NMAP -flagget for å spesifisere en port er -p, etterfulgt av portnummeret eller protokollen.

I det praktiske eksemplet nedenfor skanner brukeren port 22 på målet Linuxhint.com.

nmap -p 22 linuxhint.com

Som du kan se på skjermbildet over, port 22 filtreres av en brannmur.

I stedet for portnummeret, kan brukeren også definere protokollnavnet. Under brukeren utfører den samme skanningen, men spesifiserer protokollnavnet ssh I stedet for portnummer 22.

nmap -p ssh linuxhint.com

Det er flagg og tegn for å definere mer enn en spesifikk port for å skanne. Komma (,) tillater å definere forskjellige porter fra forskjellige områder.

På skjermbildet nedenfor bruker brukeren komma til å skanne porter 22, 80 og 179. Som du ser ble port 80 definert med protokollnavnet, http.

Nmap -p 22, http, 179 Linuxhint.com

Som du ser ble port 80 funnet åpen mens resten ble filtrert av en brannmur.

Bindestrek er en viktig karakter når du skanner både port eller IP -områder.

I det følgende eksempel implementeres en bindestrek for å definere et portområde mellom 21 og 30.

NMAP -P 20-30 Linuxhint.com

NMAP gjør det mulig å definere mer enn portene ved å implementere både komma og bindestrek, som vist nedenfor, hvor havnene varierer fra 70 til 90 og fra 20 til 40 er skannet.

NMAP -P 70-90,20-40 Linuxhint.com

Når du skanner portområder, kan brukeren ekskludere spesifikke porter eller varierer fra skanneprosessen ved å implementere -Ekskluder-porter flagg.

I eksemplet nedenfor skanner brukeren porten fra port 20 til port 80, men ekskluderer porter 30 til 40. Brukeren kan også ekskludere en enkelt port eller forskjellige porter atskilt med komma.

NMAP -P 20-80 Linuxhint.com-exclude-porter 30-40

Hvis brukeren vil skanne alle portene på målet, har han to alternativer. Han kan definere hele området fra 1 til 65535, som vist nedenfor.

NMAP -P0-65535 192.168.0.1

Det mest praktiske alternativet for å skanne alle portene er å implementere to bindestreker, før og etter p, som vist under.

NMAP -p- 192.168.0.1

Definere mål i NMAP

Denne delen beskriver forskjellige teknikker for å definere skannemål, inkludert flere mål.

I forrige seksjon ble bindestrekene brukt til å definere portområder.

Bypens kan også brukes til å definere IP -områder, som vist på skjermdumpen nedenfor, der brukeren definerer et IP -område som starter fra 192.168.0.1 og slutter på 192.168.0.120.

NMAP 192.168.0.1-120

I eksemplet nedenfor er to områder definert i de to siste oktettene (200-210 og 80-90).

NMAP -P80,22,443 186.33.200-210.80-90

Brukere kan bruke CIDR format. I eksemplet nedenfor blir undernettet /24 skannet.

De -ss Flagget instruerer NMAP om å utføre en Syn Skann ikke oppdaget av brannmurer.

Merk: Syn Skanning krever rotrettigheter.

sudo nmap -ss 192.168.0.0/24

I eksemplet nedenfor implementeres jokertegnet (*) for å instruere NMAP om å skanne hele den siste IP -adressen oktet, fra 0 til 255.

De -sn (Ping Sweep) Flagg instruerer NMAP om å utelate portskanning, begrensende for å være vert.

NMAP -SN 192.168.0.*

I neste skjermbilde implementerer brukeren to jokertegn for å skanne de to siste oktettene. De -sp (Ping sweep) flagg tilsvarer ovennevnte ( -sn flagget erstatter -sp),

NMAP -SP 192.168.*.*

Jokertegn og bindestrek kan kombineres for definisjon av tilpassede mål.

NMAP -SP 186.33.205-210.*

Mål kan også lastes fra et måls rette tekstliste.

Følgende liste heter Scantargets.tekst og inneholder et domenenavn, en IP -adresse, et undernettverk og IP -områder definert både med bindestrek og jokertegn.

De -il (Liste) Flagg etterfulgt av banen til mållisten vil starte skanningen mot de listede målene i filen.

nmap -Sn -il scantargets.tekst

Brukeren kan skanne mål definert i en liste mens han ekskluderer bestemte.

I eksemplet nedenfor skanner brukeren mål definert i Scantargets.tekst fil, utelater målet 192.168.0.0/24 med -utelukke alternativ.

nmap -Sn -il scantargets.TXT -Exclude 192.168.0.0/24

De -ir (Tilfeldig) Flagg instruerer NMAP om å skanne tilfeldige mål. Med dette flagget skanner NMAP tilfeldige mål, hvorav mange kan være døde verter.

Dette flagget må følges av antall tilfeldige mål brukeren ønsker å bli generert.

I eksemplet nedenfor, -ir flagg brukes til å skanne 100 tilfeldige mål.

Nmap -ir 100

Vertsoppdagelse med NMAP

Noen vertsalternativer for vertsoppdagelser var allerede implementert i forrige seksjon med flagg -sn og -sp, som instruerer NMAP om å utelate portskanneprosessen, og begrense seg til å oppdage levende verter.

Det er flere flagg for å utføre oppdagelsesoppgaver med NMAP.

De -PS (Syn ping) flagg sender en tom TCP pakke med Syn Flaggsett. I tilfelle den eksterne porten er åpen når målet svarer på en Syn/ack pakke, vil NMAP avbryte tilkoblingen ved å sende en RST pakke i stedet for en Ack en.

NMAP -PS 192.168.0.0/24

De Pa (Ack ping) sender en TCP pakke med Ack Flaggsett. Denne pakken sender godkjenningsmeldinger til generering av ikke-eksisterende tilkoblinger RST pakker av den eksterne verten, og avslører dens eksistens.

NMAP -PN -PA50-100 NIC.ar

De -PU (UDP ping) Flagg sender UDP Pakker til eksterne adresser. Hvis ikke porter er spesifisert, sendes pakker til porter 40 og 125.

sudo nmap -pu 192.168.0.0/24

Sender IP -pakker med overskriftene til en annen protokoll. Hvis ikke spesifisert, er overskriftene som standard ICMP, IGMP, og Ip-in-ip protokoller.

sudo nmap -po 192.168.0.0/24

Den neste anbefalte lesingen for å fortsette med NMAP er NMAP -flagg og hva de gjør, som beskriver flere flagg og introduserer leseren for NSE (NMAP Scripting Engine).

Konklusjon

Som du ser er NMAP et veldig kraftig verktøy, men lett å lære. Hver nettverksbruker som håndterer en terminal kan komme i gang med å følge eksempler som den som tilbys ovenfor.

Andre NMAP -funksjonaliteter som Traceroute kan brukes til å diagnostisere nettverksproblemer, eller NSE -suiten kan brukes til å oppdage og utnytte sårbarheter.

Instruksjonene i denne opplæringen er gyldige for alle Linux -distribusjoner. Det anbefales på det sterkeste å bruke alle gitte eksempler for å innlemme kunnskapen.

Takk for at du leste vår grunnleggende opplæring i NMAP. Fortsett å følge Linux -hint for mer profesjonell Linux og nettverksinnhold.