Mange nettverkstjenester kjører ved å bruke Transmission Control Protocol eller TCP som transportlagsprotokoll. Dette er fordi TCP tilbyr tilkoblingsorientert kommunikasjon som lar sendeenheten være sikker på at den tiltenkte mottakeren av meldingen faktisk mottar den, fordi en toveisforbindelse er opprettet.
Ikke alle applikasjoner trenger å ha den typen tilkobling, men spesielt sanntidsapplikasjoner der den er å foretrekke at en melding droppes i stedet for å måtte vente på at den skal sendes på nytt, noe som forsinker alt ellers. For disse applikasjonene brukes vanligvis User Datagram Protocol eller UDP-transportlagprotokollen.
Et eksempel på en type program som bruker UDP er online videospill. Disse spillene er avhengige av konstante oppdateringer sendt av serveren og datamaskinen, og enhver forsinkelse forårsaket av å måtte sende data på nytt er betydelig mer forstyrrende enn å måtte håndtere en tapt pakke eller to.
Siden disse UDP-baserte tjenestene kan være på et hvilket som helst nettverk, er det viktig å se etter dem som en del av en penetrasjonstest. Heldigvis, siden UDP er ganske vanlig, støttes det generelt av programvare for nettverkstesting, og Nmap er intet unntak.
Hvordan skanne UDP-porter med Nmap
Å teste UDP-porter med Nmap er veldig lik å teste TCP, faktisk er syntaksen i hovedsak identisk. Den eneste forskjellen er at du må spesifisere "skannetype"-flagget som "-sU" i stedet for "-sT" eller "-sS". For eksempel kan en kommando være "nmap -sU 127.0.0.1 –top-ports 100 -vv" for å skanne loopback-adressen for de 100 mest vanlige UDP-portene og for å rapportere resultatene med dobbel detaljert utgang.
En ting å være oppmerksom på med en UDP-skanning er at det vil ta lang tid. De fleste forespørsler mottar ikke noe svar, noe som betyr at skanningen må vente på at forespørselen blir tidsavbrutt. Dette gjør skanninger mye tregere enn TCP-skanninger som vanligvis vil returnere en slags respons selv om en port er stengt.
Det er fire resultater du kan se for UDP-porter "åpne" "åpne|filtrert", "lukket" og "filtrert". "Åpen" indikerer at en forespørsel fikk et UDP-svar. "Åpne|filtrert" indikerer at ingen respons ble mottatt, noe som kan indikere at en tjeneste lyttet eller at det ikke var noen tjeneste der. "Lukket" er en spesifikk ICMP "port unreachable" feilmelding. "Filtrert" indikerer andre ICMP-uoppnåelige feilmeldinger.