Efter den første del i denne serie er det på tide at se på nogle af de mere avancerede funktioner i nmap . Fra den grundlæggende portscanning er det muligt at få flere oplysninger om scanningen ved at tilføje -vv flag:

 nmap -vv 192.168.1.101 

Udgangen vil se sådan ud:

I første del så vi på, hvordan man scanner en række adresser. Der er endnu en måde at udføre scanningen, men denne gang ved at angive antallet af bits fra subnetmasken:

 nmap 192.168.1.1/24 

Ovennævnte kommando scanner alle værter fra 192.168.1.0 til 192.168.1.255 på et netværk, der har en undernetmaske på 255.255.255.0. Selv om større subnetmasker er mulige (f.eks. 255.255.0.0 er / 16), ville dette medføre, at nmap scanner et stort antal værter og sandsynligvis bør undgås.

For at få nmap til at lave en liste over værter, den vil scanne, brug -sL flag:

 nmap-sL 192.168.1.1/24 

I dette tilfælde vil udgangen være en liste over adresser (en pr. Linje), der starter ved 192.168.1.0 og slutter ved 192.168.1.255.

Hvis der er værter på dit netværk, er objektet til at blive scannet (siger servere med indbrudsdetekteringssystemer installeret eller visse typer firewallapparater), kan du fortælle nmap at springe over en bestemt adresse ved at bruge -exclude flag. Følgende eksempel scanner alle værter fra .0 til .255 men ikke 192.168.1.4:

 nmap 192.168.1.1/24-ekskluderer 192.168.1.4 

Stealth

Når man leder efter åbne porte, kan nmap bruge flere forskellige typer scanningsmetoder. Netværksforbindelser etableres ved hjælp af TCP-protokollen. Det definerer hvilke pakker med data, der skal sendes og hvad skal svaret være. For at etablere en forbindelse sendes først en SYN-pakke til værten. Hvis porten er åben, og værten er villig til at acceptere forbindelser, svarer den ved at sende en SYN-ACK-pakke tilbage. Derefter sender klienten en ACK-pakke for at fuldføre forbindelsen. Denne forbindelse bruges derefter højere op af software som webbrowsere og e-mail-programmer. Når det påberåbes fra en normal brugerkonto, er det præcis hvad nmap gør for hver port, der scannes. Hvis en forbindelse er etableret, rapporteres havnen som åben.

Men hvis nmap påberåbes fra en root-konto eller bruger sudo, er det standard til en anden type scan, der kaldes halvåbning. I dette scenario skaber nmap de lavtliggende TCP-pakker (i stedet for at bruge det underliggende operativsystem til at gøre det på dets vegne), og når det modtager SYN-ACK, svarer det ikke til en ACK, og så er der en fuld forbindelse ikke etableret. Men fordi værten svarede med en SYN-ACK, betyder det at porten er åben og tilgængelig for en fuld forbindelse. Fordelen ved halvåbning er, at den er hurtigere, og det medfører ikke, at serversoftwaren lytter på porten for at logge en forbindelse.

Du kan sikre, at -sS bruges ved at bruge -sS flag. Når du kombinerer med -vv, kan du se nmap rapporterer om brugen af ​​en "SYN Stealth Scan" til at -vv værten. Her er den fulde kommando:

 sudo nmap -sS-vv 192.168.1.101 

Bemærk også, at nmap nu giver en rapport om antallet af råpakker, det genererede, så det kunne udføre den halvåbne scanning.

Alle lyste op som et juletræ

Der er endnu en type scanning værd at nævne, og det er NULL-scanningen og dens venner - FIN-scanningen og Xmas scanningen. I TCP-standarden er der en lille sektion, der fortæller en TCP-implementering, hvad man skal gøre, hvis den modtager en pakke med de forkerte flag. Det praktiske resultat af dette "sløjfehul" er, at enhver pakke, der ikke indeholder SYN-, RST- eller ACK-bits, vil resultere i en returneret RST-pakke, hvis porten er lukket og slet ikke er noget, hvis porten er åben. nmap kan bruge dette til sin fordel ved at sende malformede pakker og vente på at se om der er et svar.

NULL-scanningen, der påberåbes ved hjælp af -sN angiver ikke nogen bits i pakkeoverskriften. FIN scan, -sF, indstiller TCP FIN bit og Xmas scan, -sX, indstiller FIN, PSH og URG flag. Det kaldes Xmas scanningen, da pakken nu lyser op som et juletræ!

Hvis værten svarer med en RST-pakke, er porten lukket, intet, og porten er åben.

Konklusion

Som vi kan se, er nmap et kraftfuldt værktøj og er designet lige for at være skidt eller gennemsigtig. Som et sidste forsøg kan du prøve følgende kommando som en måde at finde ud af, hvilke værter, der lever i dit lokale netværk uden at scanne værterne, men bare ved at bede om deres MAC-adresser:

 sudo nmap -PR-vv 192.168.1.1/24 

-PR flag vil forårsage nmap at bede om nmap MAC-adresse (ved hjælp af ARP) og markere værten som levende, hvis den får et svar.