nmap
Dit is de opdracht nmap die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online-emulator of MAC OS online-emulator
PROGRAMMA:
NAAM
nmap - Netwerkverkenningstool en beveiligings-/poortscanner
KORTE INHOUD
nmap [aftasten Type...] [Opties] {doel specificatie}
PRODUCTBESCHRIJVING
Nmap ("Network Mapper") is een open source-tool voor netwerkverkenning en beveiliging
auditing. Het is ontworpen om snel grote netwerken te scannen, hoewel het daar prima tegen werkt
enkele gastheren. Nmap gebruikt onbewerkte IP-pakketten op nieuwe manieren om te bepalen welke hosts beschikbaar zijn
op het netwerk, welke services (applicatienaam en versie) die hosts aanbieden,
welke besturingssystemen (en OS-versies) ze gebruiken, welk type pakket
filters/firewalls in gebruik zijn, en tientallen andere kenmerken. Terwijl Nmap gewoonlijk is
gebruikt voor beveiligingsaudits, veel systeem- en netwerkbeheerders vinden het handig voor
routinetaken zoals netwerkinventarisatie, het beheren van service-upgradeschema's en
het bewaken van de uptime van de host of service.
De uitvoer van Nmap is een lijst met gescande doelen, met aanvullende informatie over elk
afhankelijk van de gebruikte opties. De sleutel onder die informatie zijn de “interessante poorten
tabel".. Die tabel vermeldt het poortnummer en protocol, de servicenaam en de status. De
status is open, gefilterd, gesloten of ongefilterd. Open. betekent dat een applicatie
op de doelmachine luistert naar verbindingen/pakketten op die poort. gefilterd. middelen
dat een firewall, filter of ander netwerkobstakel de poort blokkeert zodat Nmap
kan niet zeggen of het open of gesloten is. Gesloten. poorten luisteren niet naar toepassingen
ze, hoewel ze zich op elk moment kunnen openen. Poorten zijn geclassificeerd als ongefilterd. wanneer
ze reageren op de sondes van Nmap, maar Nmap kan niet bepalen of ze open zijn of
gesloten. Nmap rapporteert de statuscombinaties open|gefilterd. en gesloten|gefilterd. wanneer het
kan niet bepalen welke van de twee toestanden een haven beschrijft. De bakboordtabel kan ook bevatten
details van de softwareversie wanneer om versiedetectie is gevraagd. Wanneer een IP-protocol
scan is aangevraagd (-Dus), geeft Nmap informatie over ondersteunde IP-protocollen in plaats van
luisterende poorten.
Naast de interessante portstabel kan Nmap hier meer informatie over geven
doelen, inclusief omgekeerde DNS-namen, gissingen van het besturingssysteem, apparaattypen en MAC
adressen.
Een typische Nmap-scan wordt getoond in Voorbeeld 1. De enige Nmap-argumenten die in dit voorbeeld worden gebruikt
zijn -A, om OS- en versiedetectie, scriptscanning en traceroute mogelijk te maken; -T4 voor betere
snellere uitvoering; en dan de hostnaam.
Voorbeeld 1. A vertegenwoordiger Nmap aftasten
# nmap -A -T4 scanme.nmap.org
Nmap-scanrapport voor scanme.nmap.org (74.207.244.221)
Host is up (0.029s latentie).
rDNS-record voor 74.207.244.221: li86-221.members.linode.com
Niet getoond: 995 gesloten poorten
HAVENSTAAT SERVICE VERSIE
22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (protocol 2.0)
| ssh-hostkey: 1024 8d:60:f1:7c:ca:b7:3d:0a:d6:67:54:9d:69:d9:b9:dd (DSA)
|_2048 79:f8:09:ac:d4:e2:32:42:10:49:d3:bd:20:82:85:ec (RSA)
80/tcp open http Apache httpd 2.2.14 ((Ubuntu))
|_http-title: Ga je gang en ScanMe!
646/tcp gefilterd ldp
1720/tcp gefilterd H.323/Q.931
9929/tcp open nping-echo Nping-echo
Apparaattype: algemeen gebruik
Draait: Linux 2.6.X
Besturingssysteem CPE: cpe:/o:linux:linux_kernel:2.6.39
OS-details: Linux 2.6.39
Netwerkafstand: 11 hops
Service-info: OS: Linux; CPE: cpe:/o:linux:kernel
TRACEROUTE (via poort 53/tcp)
HOP RTT ADRES
[Snijd de eerste 10 hops af voor beknoptheid]
11 17.65 ms li86-221.members.linode.com (74.207.244.221)
Nmap gedaan: 1 IP-adres (1 host omhoog) gescand in 14.40 seconden
De nieuwste versie van Nmap is verkrijgbaar via https://nmap.org. De nieuwste versie van
deze man-pagina is beschikbaar op https://nmap.org/book/man.html. Het is ook opgenomen als een
hoofdstuk van Nmap Network Scanning: de officiële Nmap-projectgids voor netwerkdetectie en
Beveiligingsscanning (zie https://nmap.org/book/).
OPTIES OVERZICHT
Deze samenvatting van opties wordt afgedrukt wanneer Nmap wordt uitgevoerd zonder argumenten en met de nieuwste versie
is altijd bereikbaar op https://svn.nmap.org/nmap/docs/nmap.usage.txt. Het helpt mensen
onthoud de meest voorkomende opties, maar is geen vervanging voor de uitgebreide documentatie in
de rest van deze handleiding. Sommige obscure opties zijn hier niet eens opgenomen.
Nmap 7.01 (https://nmap.org)
Gebruik: nmap [Scantype(s)] [Opties] {doelspecificatie}
DOELSPECIFICATIE:
Kan hostnamen, IP-adressen, netwerken, enz.
Bijv.: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL : Invoer uit lijst met hosts/netwerken
-iR : Kies willekeurige doelen
--uitsluiten : Hosts/netwerken uitsluiten
--excludebestand : lijst uitsluiten van bestand
HOST ONTDEKKING:
-sL: List Scan - maak eenvoudig een lijst van doelen om te scannen
-sn: Ping Scan - poortscan uitschakelen
-Pn: behandel alle hosts als online -- sla hostdetectie over
-PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP of SCTP-detectie naar bepaalde poorten
-PE/PP/PM: ICMP echo-, tijdstempel- en netmaskerdetectieprobes
-PO [protocollijst]: IP-protocol Ping
-n/-R: DNS-omzetting nooit uitvoeren/Altijd oplossen [standaard: soms]
--dns-servers : geef aangepaste DNS-servers op
--system-dns: gebruik de DNS-resolver van het besturingssysteem
--traceroute: traceer hoppad naar elke host
SCANTECHNIEKEN:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon-scans
-sU: UDP-scan
-sN/sF/sX: TCP Null-, FIN- en Xmas-scans
--scanvlaggen : TCP-scanvlaggen aanpassen
-si : Inactieve scan
-sY/sZ: SCTP INIT/COOKIE-ECHO-scans
-sO: IP-protocolscan
-B : FTP-bounce-scan
POORTSPECIFICATIE EN SCANOPDRACHT:
-P : Alleen gespecificeerde poorten scannen
Bijv.: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
--uitsluiten-poorten : Sluit de opgegeven poorten uit van scannen
-F: Snelle modus - Scan minder poorten dan de standaardscan
-r: Poorten achtereenvolgens scannen - niet willekeurig maken
--toppoorten : Scannen meest voorkomende poorten
--poortverhouding : Scanpoorten komen vaker voor dan
SERVICE/VERSIE DETECTIE:
-sV: onderzoek open poorten om service-/versie-informatie te bepalen
--versie-intensiteit : Instellen van 0 (licht) tot 9 (probeer alle sondes)
--version-light: Beperk tot meest waarschijnlijke sondes (intensiteit 2)
--version-all: probeer elke afzonderlijke sonde (intensiteit 9)
--version-trace: Toon gedetailleerde versie-scanactiviteit (voor foutopsporing)
SCRIPTSCAN:
-sC: gelijk aan --script=standaard
--script= : is een door komma's gescheiden lijst van
mappen, scriptbestanden of scriptcategorieën
--script-args= : geef argumenten aan scripts
--script-args-file=filename: geef NSE script args in een bestand
--script-trace: Toon alle verzonden en ontvangen gegevens
--script-updatedb: Werk de scriptdatabase bij.
--script-help= : toon hulp over scripts.
is een door komma's gescheiden lijst met scriptbestanden of
script-categorieën.
OS-DETECTIE:
-O: OS-detectie inschakelen
--osscan-limit: Beperk OS-detectie tot veelbelovende doelen
--osscan-guest: raad OS agressiever
TIMING EN PRESTATIES:
Opties die nemen zijn in seconden, of voeg 'ms' (milliseconden) toe,
's' (seconden), 'm' (minuten) of 'h' (uren) naar de waarde (bijv. 30m).
-T<0-5>: timingsjabloon instellen (hoger is sneller)
--min-hostgroep/max-hostgroep : Grootte van parallelle hostscangroepen
--min-parallelisme/max-parallelisme : Probe parallellisatie
--min-rtt-time-out/max-rtt-time-out/initiële-rtt-time-out : specificeert
sonde rondreistijd.
--max-pogingen : Beperkt het aantal hertransmissies van poortscansondes.
--host-time-out : Geef het doel na zo lang op
--scan-vertraging/--max-scanvertraging : Vertraging tussen sondes aanpassen
--min-tarief : Verzend pakketten niet langzamer dan per seconde
--max-tarief : Verzend pakketten niet sneller dan per seconde
FIREWALL/IDS-ONTVALSING EN SPOOFING:
-F; --mtu : fragmentpakketten (optioneel met gegeven MTU)
-D : Verhul een scan met lokvogels
-S : Spoof-bronadres
-e : Gebruik de gespecificeerde interface
-g/--bron-poort : Gebruik het opgegeven poortnummer
--volmachten : Relay-verbindingen via HTTP/SOCKS1-proxy's
--gegevens : voeg een aangepaste payload toe aan verzonden pakketten
--gegevensreeks : voeg een aangepaste ASCII-tekenreeks toe aan verzonden pakketten
--data-lengte : voeg willekeurige gegevens toe aan verzonden pakketten
--ip-opties : Verzend pakketten met gespecificeerde ip-opties
--ttl : IP time-to-live-veld instellen
--spoof-mac : Spoof uw MAC-adres
--badsum: Verzend pakketten met een valse TCP/UDP/SCTP-controlesom
OUTPUT:
-oN/-oX/-oS/-oG : Uitvoerscan in normaal, XML, s|
en Grepable formaat, respectievelijk naar de opgegeven bestandsnaam.
-oA : uitvoer in de drie belangrijkste formaten tegelijk
-v: Verhoog het breedsprakigheidsniveau (gebruik -vv of meer voor meer effect)
-d: Verhoog het foutopsporingsniveau (gebruik -dd of meer voor meer effect)
--reason: Geef de reden weer waarom een poort een bepaalde status heeft
--open: Toon alleen open (of mogelijk open) poorten
--packet-trace: Toon alle verzonden en ontvangen pakketten
--iflist: hostinterfaces en routes afdrukken (voor foutopsporing)
--append-output: Voeg toe aan in plaats van te klooien gespecificeerde uitvoerbestanden
--cv : Hervat een afgebroken scan
--stijlblad : XSL-stylesheet om XML-uitvoer om te zetten in HTML
--webxml: Referentie-stylesheet van Nmap.Org voor meer overdraagbare XML
--no-stylesheet: voorkom dat een XSL-stylesheet met XML-uitvoer wordt gekoppeld
MISC:
-6: IPv6-scannen inschakelen
-A: OS-detectie, versiedetectie, scriptscanning en traceroute inschakelen
--gegevensmap : Geef de locatie van het aangepaste Nmap-gegevensbestand op
--send-eth/--send-ip: Verzenden met onbewerkte ethernetframes of IP-pakketten
--privileged: Stel dat de gebruiker volledig is bevoorrecht
--unprivileged: Stel dat de gebruiker geen raw socket-privileges heeft
-V: versienummer afdrukken
-h: druk deze help-overzichtspagina af.
Voorbeelden:
nmap -v -A scanme.nmap.org
nmap -v -sn 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -Pn -p 80
ZIE DE MAN-PAGINA (https://nmap.org/book/man.html) VOOR MEER OPTIES EN VOORBEELDEN
DOEL SPECIFICATIE
Alles op de opdrachtregel van Nmap dat geen optie (of optieargument) is, wordt behandeld
als doelhostspecificatie. Het eenvoudigste geval is om een doel-IP-adres op te geven of
hostnaam voor scannen.
Soms wilt u een heel netwerk van aangrenzende hosts scannen. Hiervoor ondersteunt Nmap
CIDR-stijl. aanspreken. U kunt /verdoofd naar een IPv4-adres of hostnaam en Nmap
scant elk IP-adres waarvoor de eerste verdoofd zijn dezelfde als voor de referentie
IP of hostnaam opgegeven. 192.168.10.0/24 scant bijvoorbeeld de 256 hosts tussen
192.168.10.0 (binair: 11000000 10101000 00001010 00000000) en 192.168.10.255 (binair:
11000000 10101000 00001010 11111111), inclusief. 192.168.10.40/24 zou precies het scannen
dezelfde doelen. Aangezien de host scanme.nmap.org. is op het IP-adres 64.13.134.52, de
specificatie scanme.nmap.org/16 zou de 65,536 IP-adressen tussen 64.13.0.0 en
64.13.255.255. De kleinst toegestane waarde is /0, die gericht is op het hele internet. De
grootste waarde is /32, die alleen de genoemde host of het IP-adres scant omdat alle adressen
bits zijn vast.
CIDR-notatie is kort maar niet altijd flexibel genoeg. U wilt bijvoorbeeld scannen
192.168.0.0/16 maar sla alle IP's die eindigen op .0 of .255 over omdat deze als subnet kunnen worden gebruikt
netwerk- en uitzendadressen. Nmap ondersteunt dit via octetbereikadressering. Liever
dan een normaal IP-adres specificeren, kunt u een door komma's gescheiden lijst met getallen opgeven of
reeksen voor elk octet. 192.168.0-255.1-254 slaat bijvoorbeeld alle adressen in de
bereik dat eindigt op .0 of .255, en 192.168.3-5,7.1 scant de vier adressen
192.168.3.1, 192.168.4.1, 192.168.5.1 en 192.168.7.1. Beide kanten van een bereik kunnen dat zijn
overgeslagen; de standaardwaarden zijn 0 aan de linkerkant en 255 aan de rechterkant. Gebruiken - op zich is dat wel
hetzelfde als 0-255, maar vergeet niet om 0- in het eerste octet te gebruiken, zodat de doelspecificatie
ziet er niet uit als een opdrachtregeloptie. Bereiken hoeven niet beperkt te zijn tot de laatste octetten:
de specificatie 0-255.0-255.13.37 voert een internetbrede scan uit voor alle IP-adressen
eindigend in 13.37. Dit soort brede steekproeven kan nuttig zijn voor internetenquêtes en
Onderzoek.
IPv6-adressen kunnen alleen worden opgegeven met hun volledig gekwalificeerde IPv6-adres of hostnaam.
CIDR- en octetbereiken worden nog niet ondersteund voor IPv6.
IPv6-adressen met een niet-wereldwijd bereik moeten een zone-ID-achtervoegsel hebben. Op Unix-systemen is dit
is een procentteken gevolgd door een interfacenaam; een volledig adres zou kunnen zijn
fe80::a8bb:ccff:fedd:eeff%eth0. Gebruik in Windows een interface-indexnummer in plaats van een
interfacenaam: fe80::a8bb:ccff:fedd:eeff%1. U kunt een lijst met interface-indexen bekijken op
het commando uitvoeren Netsh.exe interface ipv6 tonen interface.
Nmap accepteert meerdere hostspecificaties op de opdrachtregel en dat hoeft ook niet
dezelfde soort. Het bevel nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.- doet wat jij
zou verwachten.
Hoewel doelen meestal op de opdrachtregels worden opgegeven, zijn de volgende opties dat ook
beschikbaar om doelselectie te regelen:
-iL invoerbestandsnaam (Invoer uit lijst) .
Leest doelspecificaties van invoerbestandsnaam. Het passeren van een enorme lijst met hosts is vaak
onhandig op de opdrachtregel, maar het is een veel voorkomende wens. Bijvoorbeeld uw DHCP-server
exporteert mogelijk een lijst met 10,000 huidige huurovereenkomsten die u wilt scannen. Of misschien wil je
om alle IP-adressen te scannen behalve voor degenen om hosts te lokaliseren met behulp van ongeautoriseerde statische IP
adressen. Genereer eenvoudig de lijst met hosts om die bestandsnaam te scannen en door te geven aan Nmap as
een argument voor de -iL keuze. Inzendingen kunnen in elk van de formaten zijn die door Nmap worden geaccepteerd
op de opdrachtregel (IP-adres, hostnaam, CIDR, IPv6 of octetbereiken). Elke vermelding
moet worden gescheiden door een of meer spaties, tabs of nieuwe regels. U kunt een koppelteken opgeven
(-) als de bestandsnaam als u wilt dat Nmap hosts leest van standaardinvoer in plaats van een
werkelijke dossier.
Het invoerbestand kan opmerkingen bevatten die beginnen met # en doorlopen tot het einde van het
lijn.
-iR num hosts (Kies willekeurige doelen) .
Voor internetbrede enquêtes en ander onderzoek kunt u doelen kiezen op
willekeurig. De num hosts argument vertelt Nmap hoeveel IP's moeten worden gegenereerd. Ongewenste IP's
zoals die in bepaalde privé-, multicast- of niet-toegewezen adresbereiken zijn
automatisch overgeslagen. Het argument 0 kan worden opgegeven voor een nooit eindigende scan. Houden
Houd er rekening mee dat sommige netwerkbeheerders zich ergeren aan ongeautoriseerde scans van hun
netwerken en kunnen klagen. Gebruik deze optie op eigen risico! Als je jezelf vindt
echt verveeld op een regenachtige middag, probeer het commando nmap -Pn -H.H -p 80 -iR 0 --open. naar
zoek willekeurige webservers om te browsen.
--uitsluiten host1[,host2[,...]] (exclusief hosts/netwerken) .
Specificeert een door komma's gescheiden lijst met doelen die moeten worden uitgesloten van de scan, zelfs als ze
maken deel uit van het totale netwerkbereik dat u opgeeft. De lijst die u doorgeeft, gebruikt normaal
Nmap-syntaxis, zodat het hostnamen, CIDR-netblokken, octetbereiken, enz. kan bevatten.
handig zijn als het netwerk dat u wilt scannen onaantastbare missiekritieke bevat
servers, systemen waarvan bekend is dat ze negatief reageren op poortscans of subnetten
beheerd door andere mensen.
--excludebestand uitsluiten_bestand (Sluit lijst uit van bestand) .
Deze biedt dezelfde functionaliteit als de --uitsluiten optie, behalve dat de uitgesloten
doelen worden geleverd in een newline-, spatie- of tab-gescheiden uitsluiten_bestand dan
op de opdrachtregel.
Het uitsluitingsbestand kan opmerkingen bevatten die beginnen met # en doorlopen tot het einde van het
lijn.
HOST ONTDEKKING
Een van de allereerste stappen in elke netwerkverkenningsmissie is het verminderen van a
(soms enorme) reeks IP-bereiken in een lijst met actieve of interessante hosts. scannen
elke poort van elk afzonderlijk IP-adres is traag en meestal niet nodig. Natuurlijk wat
een host interessant maakt, hangt sterk af van de scandoeleinden. Netwerkbeheerders mogen
alleen geïnteresseerd zijn in hosts die een bepaalde service uitvoeren, terwijl beveiligingsauditors er misschien om geven
ongeveer elk apparaat met een IP-adres. Een beheerder kan comfortabel zijn om te gebruiken
slechts een ICMP-ping om hosts op zijn interne netwerk te lokaliseren, terwijl een externe penetratie
tester kan een gevarieerde set van tientallen sondes gebruiken in een poging om de firewall te omzeilen
beperkingen.
Omdat de behoeften voor het ontdekken van hosts zo divers zijn, biedt Nmap een breed scala aan opties voor
het aanpassen van de gebruikte technieken. Hostdetectie wordt soms ping-scan genoemd, maar het gaat
veel verder dan de eenvoudige ICMP-echoverzoekpakketten die horen bij de alomtegenwoordige ping-tool.
Gebruikers kunnen de ping-stap helemaal overslaan met een lijstscan (-sL) of door ping uit te schakelen (-Pn),
of schakel het netwerk in met willekeurige combinaties van multi-port TCP SYN/ACK, UDP, SCTP
INIT- en ICMP-sondes. Het doel van deze sondes is om reacties op te wekken die demonstreren
dat een IP-adres daadwerkelijk actief is (wordt gebruikt door een host of netwerkapparaat). Op velen
netwerken, is slechts een klein percentage van de IP-adressen op een bepaald moment actief. Dit is
vooral gebruikelijk bij privé-adresruimte zoals 10.0.0.0/8. Dat netwerk heeft er 16
miljoen IP's, maar ik heb het zien gebruiken door bedrijven met minder dan duizend machines. Gastheer
Discovery kan die machines vinden in een schaars toegewezen zee van IP-adressen.
Als er geen opties voor hostdetectie worden gegeven, verzendt Nmap een ICMP-echoverzoek, een TCP SYN-pakket
naar poort 443, een TCP ACK-pakket naar poort 80 en een ICMP-tijdstempelverzoek. (Voor IPv6, de
ICMP-tijdstempelverzoek is weggelaten omdat het geen deel uitmaakt van ICMPv6.) Deze standaardwaarden zijn
gelijk aan de -VOET -PS443 -PA80 -PP opties. Uitzondering hierop zijn de ARP (voor
IPv4) en Neighbor Discovery. (voor IPv6) scans die worden gebruikt voor alle doelen op een lokaal
ethernet-netwerk. Voor onbevoegde Unix shell-gebruikers zijn de standaardprobes een SYN-pakket
naar poorten 80 en 443 met behulp van de verbinden systeemoproep.. Deze hostdetectie is vaak
voldoende bij het scannen van lokale netwerken, maar een uitgebreidere set ontdekkingsprobes
wordt aanbevolen voor beveiligingscontroles.
De -P* opties (welke geselecteerde ping-types) kunnen worden gecombineerd. U kunt uw kansen vergroten
het binnendringen van strikte firewalls door vele typen sondes te verzenden met behulp van verschillende TCP-poorten/vlaggen
en ICMP-codes. Merk ook op dat ARP/Neighbor Discovery (-PR). wordt standaard tegen gedaan
doelen op een lokaal ethernet-netwerk, zelfs als u andere opgeeft -P* opties, omdat het zo is
bijna altijd sneller en effectiever.
Standaard doet Nmap hostdetectie en voert vervolgens een poortscan uit tegen elke host
bepaalt is online. Dit geldt zelfs als u niet-standaard typen hostdetectie opgeeft
zoals UDP-sondes (-PU). Lees over de -sn optie om te leren hoe u alleen host kunt uitvoeren
ontdekken of gebruiken -Pn om hostdetectie over te slaan en alle doelhosts te scannen. Het volgende
opties controle hostdetectie:
-sL (Lijst scannen).
De lijstscan is een gedegenereerde vorm van hostdetectie die eenvoudig elke host opsomt
het (de) opgegeven netwerk(en), zonder pakketten naar de doelhosts te sturen. Standaard,
Nmap doet nog steeds reverse-DNS-resolutie op de hosts om hun namen te leren. Het is vaak
verrassend hoeveel nuttige informatie eenvoudige hostnamen geven. Bijvoorbeeld fw.chi
is de naam van de firewall van een bedrijf in Chicago. Nmap rapporteert ook het totale aantal
IP-adressen aan het einde. De lijstscan is een goede controle om er zeker van te zijn dat u dat hebt gedaan
juiste IP-adressen voor uw doelen. Als de hosts sportdomeinnamen hebben, doe je dat niet
herkennen, is het de moeite waard om verder te onderzoeken om te voorkomen dat de verkeerde bedrijven worden gescand
netwerk.
Omdat het de bedoeling is om eenvoudig een lijst met doelhosts af te drukken, opties voor een hoger niveau
functies zoals poortscanning, OS-detectie of pingscanning kunnen niet worden gecombineerd
hiermee. Als u ping-scannen wilt uitschakelen terwijl u nog steeds zo hoger presteert
niveau functionaliteit, lees over de -Pn (ping overslaan) optie.
-sn (Geen poortscan).
Deze optie vertelt Nmap om geen poortscan uit te voeren na het ontdekken van de host, en alleen uit te printen
de beschikbare hosts die hebben gereageerd op de hostdetectiesondes. Dit is vaak bekend
als een “ping-scan”, maar u kunt ook verzoeken dat traceroute- en NSE-hostscripts worden gebruikt
loop. Dit is standaard een stap ingrijpender dan de lijstscan, en kan dat vaak ook zijn
gebruikt voor dezelfde doeleinden. Het maakt lichte verkenning van een doelnetwerk mogelijk zonder
veel aandacht trekken. Weten hoeveel hosts actief zijn, is waardevoller voor aanvallers
dan de lijst die wordt geleverd door de lijstscan van elk IP-adres en elke hostnaam.
Systeembeheerders vinden deze optie vaak ook waardevol. Het kan gemakkelijk worden gebruikt
om beschikbare machines op een netwerk te tellen of de beschikbaarheid van servers te bewaken. Dit is vaak
een ping-sweep genoemd, en is betrouwbaarder dan het ping-adres omdat
veel hosts reageren niet op uitzendvragen.
De standaard host-detectie gedaan met -sn bestaat uit een ICMP-echoverzoek, TCP SYN naar
poort 443, TCP ACK naar poort 80 en standaard een ICMP-tijdstempelverzoek. Wanneer uitgevoerd
door een onbevoegde gebruiker worden alleen SYN-pakketten verzonden (met behulp van een verbinden call) naar poort 80
en 443 op het doel. Wanneer een bevoorrechte gebruiker doelen probeert te scannen op een local
ethernet-netwerk, worden ARP-verzoeken gebruikt, tenzij --verzend-ip werd gespecificeerd. De -sn optie
kan worden gecombineerd met elk van de typen ontdekkingssondes (de -P* opties, excl -Pn)
voor meer flexibiliteit. Als een van deze sondetype- en poortnummeropties wordt gebruikt,
de standaard sondes worden overschreven. Als er strikte firewalls aanwezig zijn tussen de
bronhost waarop Nmap en het doelnetwerk worden uitgevoerd, met behulp van die geavanceerde technieken
aanbevolen. Anders kunnen hosts worden gemist wanneer de firewall sondes of hun laat vallen
reacties.
In eerdere releases van Nmap, -sn stond bekend als -sp..
-Pn (Geen ping).
Deze optie slaat de Nmap-ontdekkingsfase helemaal over. Normaal gesproken gebruikt Nmap deze fase
om actieve machines te bepalen voor zwaarder scannen. Standaard presteert Nmap alleen
zware onderzoeken zoals poortscans, versiedetectie of OS-detectie tegen hosts
die blijken op te zijn. Hostdetectie uitschakelen met -Pn zorgt ervoor dat Nmap de
aangevraagde scanfuncties tegen elk doel-IP-adres opgegeven. Dus als een klasse
B doeladresruimte (/16) wordt opgegeven op de opdrachtregel, alle 65,536 IP-adressen
worden gescand. Correcte hostdetectie wordt overgeslagen zoals bij de lijstscan, maar in plaats van
het stoppen en afdrukken van de doellijst, Nmap gaat door met het uitvoeren van gevraagde functies
alsof elk doel-IP actief is. Ping-scan overslaan en poortscan, terwijl het nog steeds mogelijk is
NSE om uit te voeren, gebruik de twee opties -Pn -sn samen.
Voor machines op een lokaal ethernet-netwerk wordt ARP-scanning nog steeds uitgevoerd (tenzij
--arp-ping uitschakelen or --verzend-ip is gespecificeerd) omdat Nmap MAC-adressen nodig heeft om
doelhosts verder scannen. In eerdere versies van Nmap, -Pn was -P0. en -PN..
-PS port lijst (TCP SYN-ping) .
Deze optie verzendt een leeg TCP-pakket met de SYN-vlag ingesteld. De standaardbestemming
poort is 80 (configureerbaar tijdens het compileren door het wijzigen van DEFAULT_TCP_PROBE_PORT_SPEC. in
nmap.h).. Alternatieve poorten kunnen als parameter worden opgegeven. De syntaxis is hetzelfde als
voor de -p behalve dat poorttypespecificaties zoals T: niet zijn toegestaan. Voorbeelden zijn
-PS22 en -PS22-25,80,113,1050,35000. Merk op dat er geen spatie tussen mag staan -PS en
de havenlijst. Als er meerdere sondes zijn opgegeven, worden deze parallel verzonden.
De SYN-vlag suggereert aan het systeem op afstand dat u probeert een verbinding tot stand te brengen
verbinding. Normaal gesproken is de bestemmingspoort gesloten en een RST-pakket (reset).
terugsturen. Als de poort toevallig open is, zal het doelwit de tweede stap van a nemen
TCP drieweg-handshake. door te reageren met een SYN/ACK TCP-pakket. De automaat draait
Nmap verbreekt vervolgens de ontluikende verbinding door te reageren met een RST in plaats van
het verzenden van een ACK-pakket dat de three-way-handshake zou voltooien en een
volledige verbinding. Het RST-pakket wordt verzonden door de kernel van de machine waarop Nmap draait
reactie op de onverwachte SYN/ACK, niet door Nmap zelf.
Het maakt Nmap niet uit of de poort open of gesloten is. Ofwel de RST of SYN/ACK
antwoord dat eerder is besproken, vertel Nmap dat de host beschikbaar is en reageert.
Op Unix-boxen, alleen de bevoorrechte gebruiker root. is over het algemeen in staat om te verzenden en te ontvangen
onbewerkte TCP-pakketten. Voor niet-geprivilegieerde gebruikers wordt automatisch een tijdelijke oplossing gebruikt.
waarbij de verbinden systeemaanroep wordt geïnitieerd tegen elke doelpoort. Dit heeft de
effect van het verzenden van een SYN-pakket naar de doelhost, in een poging om een
verbinding. Als verbinden keert terug met een snel succes of een ECONNREFUSED mislukking, de
onderliggende TCP-stack moet een SYN/ACK of RST hebben ontvangen en de host is gemarkeerd
beschikbaar. Als de verbindingspoging blijft hangen totdat een time-out is bereikt, wordt de
host is gemarkeerd als down.
-VADER port lijst (TCP ACK-ping).
De TCP ACK-ping lijkt veel op de zojuist besproken SYN-ping. Het verschil, zoals
je zou waarschijnlijk kunnen raden, is dat de TCP ACK-vlag is ingesteld in plaats van de SYN-vlag. Zo een
een ACK-pakket beweert gegevens te bevestigen via een bestaande TCP-verbinding,
maar zo'n verbinding bestaat niet. Hosts op afstand moeten dus altijd reageren met een RST
pakket, onthullend hun bestaan in het proces.
De -VADER optie gebruikt dezelfde standaardpoort als de SYN-sonde (80) en kan ook een
lijst met bestemmingspoorten in hetzelfde formaat. Als een niet-geprivilegieerde gebruiker dit probeert, wordt de
verbinden eerder besproken oplossing wordt gebruikt. Deze tijdelijke oplossing is onvolmaakt omdat
verbinden verzendt eigenlijk een SYN-pakket in plaats van een ACK.
De reden om zowel SYN- als ACK-pingprobes aan te bieden, is om de kans op
firewalls omzeilen. Veel beheerders configureren routers en andere eenvoudige firewalls
om inkomende SYN-pakketten te blokkeren, behalve die bestemd zijn voor openbare diensten zoals de
bedrijfswebsite of mailserver. Dit voorkomt dat andere inkomende verbindingen naar de
organisatie, terwijl gebruikers onbelemmerde uitgaande verbindingen kunnen maken met de
internetten. Deze niet-stateful benadering neemt weinig middelen in beslag op de firewall/router en
wordt breed ondersteund door hardware- en softwarefilters. De Linux Netfilter/iptables.
firewall-software biedt de --syn gemaksoptie om dit stateless te implementeren
benadering. Wanneer stateless firewall regels zoals deze van kracht zijn, SYN ping probes
(-PS) worden waarschijnlijk geblokkeerd wanneer ze naar gesloten doelpoorten worden verzonden. In dergelijke gevallen is de
ACK-sonde schittert terwijl het dwars door deze regels heen snijdt.
Een ander veel voorkomend type firewall gebruikt stateful-regels die onverwachte pakketten laten vallen. Dit
functie werd aanvankelijk vooral gevonden op geavanceerde firewalls, hoewel het veel is geworden
door de jaren heen vaker voorkomen. Het Linux Netfilter/iptables-systeem ondersteunt dit door en door
the --staat optie, die pakketten categoriseert op basis van de verbindingsstatus. Een SYN-sonde
heeft meer kans om tegen een dergelijk systeem te werken, aangezien onverwachte ACK-pakketten dat over het algemeen zijn
herkend als nep en gedropt. Een oplossing voor dit dilemma is om zowel SYN als
ACK onderzoekt door te specificeren -PS en -VADER.
-PU port lijst (UDP-ping).
Een andere hostdetectieoptie is de UDP-ping, die een UDP-pakket naar het gegeven stuurt
havens. Voor de meeste poorten zal het pakket leeg zijn, hoewel sommige een protocolspecifiek gebruiken
payload die waarschijnlijker een reactie uitlokt. De payload-database wordt beschreven
at https://nmap.org/book/nmap-payloads.html.. --gegevens, --gegevensreeksen
--data-lengte opties.
De poortlijst heeft hetzelfde formaat als de eerder besproken -PS en -VADER
opties. Als er geen poorten zijn opgegeven, is de standaardwaarde 40125.. Deze standaardwaarde kan zijn
geconfigureerd tijdens het compileren door te wijzigen DEFAULT_UDP_PROBE_PORT_SPEC. in nmap.h.. A
zeer ongebruikelijke poort wordt standaard gebruikt omdat verzenden naar open poorten vaak is
ongewenst voor dit specifieke scantype.
Bij het raken van een gesloten poort op de doelmachine, zou de UDP-sonde een ICMP moeten opwekken
poort onbereikbaar pakket terug. Dit betekent voor Nmap dat de machine actief is
beschikbaar. Veel andere soorten ICMP-fouten, zoals host/netwerk onbereikbaar of TTL
overschreden zijn indicatief voor een down of onbereikbare host. Een gebrek aan respons is dat ook
op deze manier geïnterpreteerd. Als een open poort wordt bereikt, negeren de meeste services de
leeg pakket en geen reactie terugsturen. Dit is waarom de standaard sondepoort is
40125, die hoogstwaarschijnlijk niet in gebruik zal zijn. Enkele diensten, zoals de Character
Generator (chargen) protocol, zal reageren op een leeg UDP-pakket en dus onthullen
aan Nmap dat de machine beschikbaar is.
Het belangrijkste voordeel van dit scantype is dat het firewalls omzeilt en filtert
alleen scherm-TCP. Ik had bijvoorbeeld ooit een Linksys BEFW11S4 draadloze breedband
router. De externe interface van dit apparaat filterde standaard alle TCP-poorten, maar
UDP-sondes zouden nog steeds poort-onbereikbare berichten uitlokken en zo het apparaat weggeven.
-PY port lijst (SCTP INIT-ping).
Deze optie verzendt een SCTP-pakket met een minimale INIT-brok. De standaard
bestemmingspoort is 80 (configureerbaar tijdens het compileren door het wijzigen van
DEFAULT_SCTP_PROBE_PORT_SPEC. in nmap.h). Alternatieve poorten kunnen worden opgegeven als een
parameter. De syntaxis is dezelfde als voor de -p behalve dat poorttypespecificaties zoals
S: zijn niet toegestaan. Voorbeelden zijn -PY22 en -PY22,80,179,5060. Merk op dat er kan zijn
geen ruimte tussen -PY en de havenlijst. Als er meerdere sondes zijn opgegeven, zijn ze dat ook
parallel verzonden.
Het INIT-blok suggereert aan het externe systeem dat u probeert een
vereniging. Normaal gesproken is de bestemmingspoort gesloten en is een ABORT-chunk gesloten
terugsturen. Als de poort toevallig open is, zal het doelwit de tweede stap van een
SCTP vierweg-handshake. door te reageren met een INIT-ACK-brok. Als de machine draait
Nmap heeft een functionele SCTP-stack, waarna het de ontluikende associatie afbreekt
reageren met een ABORT-brok in plaats van een COOKIE-ECHO-brok te sturen, wat zou zijn
de volgende stap in de viervoudige handdruk. Het ABORT-pakket wordt verzonden door de kernel van het
machine waarop Nmap wordt uitgevoerd als reactie op de onverwachte INIT-ACK, niet door Nmap zelf.
Het maakt Nmap niet uit of de poort open of gesloten is. Ofwel de ABORT of INIT-ACK
antwoord dat eerder is besproken, vertel Nmap dat de host beschikbaar is en reageert.
Op Unix-boxen, alleen de bevoorrechte gebruiker root. is over het algemeen in staat om te verzenden en te ontvangen
onbewerkte SCTP-pakketten.. Het gebruik van SCTP INIT Pings is momenteel niet mogelijk voor onbevoegden
gebruikers..
-VOET; -PP; -P.M (ICMP-pingtypes) .
Naast de ongebruikelijke TCP-, UDP- en SCTP-hostdetectietypen die zijn besproken
voorheen kon Nmap de standaardpakketten verzenden die door het alomtegenwoordige ping-programma werden verzonden.
Nmap stuurt een ICMP type 8 (echo request) pakket naar de doel-IP-adressen, verwachtend
een type 0 (echo-antwoord) in ruil voor beschikbare hosts.. Helaas voor het netwerk
verkenners blokkeren veel hosts en firewalls deze pakketten nu in plaats van te reageren als
vereist door RFC 1122[2]. Om deze reden zijn alleen ICMP-scans zelden betrouwbaar genoeg
tegen onbekende doelen via internet. Maar voor systeembeheerders die een
intern netwerk, kunnen ze een praktische en efficiënte aanpak zijn. Gebruik de -VOET optie
om dit echo-verzoekgedrag in te schakelen.
Hoewel echoverzoek de standaard ICMP-pingquery is, houdt Nmap daar niet op. De ICMP
normen (RFC 792[3]. En RFC 950[4]. ) specificeer ook tijdstempelverzoek, informatie
request- en address mask request-pakketten als respectievelijk de codes 13, 15 en 17. Terwijl
het ogenschijnlijke doel van deze vragen is om informatie te leren, zoals adresmaskers
en huidige tijden, kunnen ze gemakkelijk worden gebruikt voor het ontdekken van hosts. Een systeem dat antwoordt
is op en beschikbaar. Nmap implementeert momenteel geen informatieverzoekpakketten, zoals
ze worden niet breed ondersteund. RFC 1122 benadrukt dat “een host NIET MOET implementeren
deze berichten”. Vragen over tijdstempels en adresmaskers kunnen worden verzonden met de -PP en -P.M
respectievelijk opties. Een tijdstempelantwoord (ICMP-code 14) of adresmaskerantwoord (code
18) geeft aan dat de host beschikbaar is. Deze twee vragen kunnen waardevol zijn wanneer
beheerders blokkeren specifiek echo-verzoekpakketten terwijl ze die andere vergeten
ICMP-query's kunnen voor hetzelfde doel worden gebruikt.
-BEETJE protocol lijst (IP-Protocol Ping) .
Een van de nieuwere opties voor hostdetectie is het IP-protocol ping, dat IP verzendt
pakketten met het opgegeven protocolnummer dat is ingesteld in hun IP-header. De protocollijst
heeft hetzelfde formaat als poortlijsten in de eerder besproken TCP, UDP en SCTP
opties voor het ontdekken van hosts. Als er geen protocollen zijn opgegeven, is de standaardinstelling om meerdere te verzenden
IP-pakketten voor ICMP (protocol 1), IGMP (protocol 2) en IP-in-IP (protocol 4). De
standaardprotocollen kunnen tijdens het compileren worden geconfigureerd door ze te wijzigen
DEFAULT_PROTO_PROBE_PORT_SPEC. in nmap.h. Merk op dat voor de ICMP, IGMP, TCP (protocol
6), UDP (protocol 17) en SCTP (protocol 132), worden de pakketten verzonden met de juiste
protocolkoppen. terwijl andere protocollen worden verzonden zonder aanvullende gegevens buiten de
IP-header (tenzij een van --gegevens, --gegevensreeksof --data-lengte opties zijn
opgegeven).
Deze host-ontdekkingsmethode zoekt naar antwoorden met hetzelfde protocol als a
sonde of ICMP-protocol onbereikbare berichten die aangeven dat het gegeven protocol
wordt niet ondersteund op de bestemmingshost. Elk type reactie betekent dat de
doelhost leeft.
-PR (ARP-ping).
Een van de meest voorkomende Nmap-gebruiksscenario's is het scannen van een ethernet-LAN. Op de meeste LAN's,
vooral degenen die privé-adresbereiken gebruiken die zijn gespecificeerd door RFC 1918[5], de uitgestrekte
de meeste IP-adressen zijn op een bepaald moment ongebruikt. Wanneer Nmap een raw
IP-pakket, zoals een ICMP-echoverzoek, moet het besturingssysteem bepalen
bestemmingshardwareadres (ARP) dat overeenkomt met het doel-IP, zodat dit kan
het ethernetframe correct adresseren. Dit is vaak traag en problematisch, aangezien
besturingssystemen zijn niet geschreven met de verwachting dat ze het zouden moeten doen
miljoenen ARP-verzoeken tegen niet-beschikbare hosts in korte tijd.
ARP-scan geeft Nmap en zijn geoptimaliseerde algoritmen de leiding over ARP-verzoeken. En als het
krijgt een reactie terug, hoeft Nmap zich niet eens zorgen te maken over de IP-gebaseerde ping-pakketten
omdat het al weet dat de host actief is. Dit maakt ARP-scan veel sneller en meer
betrouwbaarder dan op IP gebaseerde scans. Het wordt dus standaard gedaan bij het scannen van ethernethosts
die Nmap detecteert zich op een lokaal ethernetnetwerk bevinden. Zelfs als verschillende ping-types (zoals
as -VOET or -PS) zijn opgegeven, gebruikt Nmap in plaats daarvan ARP voor elk van de doelen die dat wel zijn
op hetzelfde LAN. Als u absoluut geen ARP-scan wilt uitvoeren, geeft u dit op
--arp-ping uitschakelen.
Voor IPv6 (-6 optie), -PR gebruikt ICMPv6 Neighbor Discovery in plaats van ARP. Buurman
Discovery, gedefinieerd in RFC 4861, kan worden gezien als het IPv6-equivalent van ARP.
--arp-ping uitschakelen (Geen ARP of ND Ping) .
Nmap doet normaal gesproken ARP of IPv6 Neighbor Discovery (ND) ontdekking van lokaal verbonden
ethernet-hosts, zelfs als andere opties voor het ontdekken van hosts, zoals -Pn or -VOET worden gebruikt. Naar
schakel dit impliciete gedrag uit, gebruik de --arp-ping uitschakelen optie.
Het standaardgedrag is normaal gesproken sneller, maar deze optie is handig op netwerken die gebruikmaken van
proxy ARP, waarin een router speculatief antwoordt op alle ARP-verzoeken, waarbij elke
doel lijkt omhoog te zijn volgens ARP-scan.
--traceroute (Traceer pad naar host).
Traceroutes worden na de scan uitgevoerd met behulp van informatie uit de scanresultaten naar
bepalen welke poort en protocol het meest waarschijnlijk het doel zullen bereiken. Het werkt met iedereen
scantypen behalve verbindingsscans (-st) en inactieve scans (-si). Alle sporen gebruiken Nmap's
dynamisch timingmodel en worden parallel uitgevoerd.
Traceroute werkt door pakketten met een lage TTL (time-to-live) te verzenden in een poging om
ontlokken ICMP Time Exceeded-berichten van tussentijdse hops tussen de scanner en de
doelwit gastheer. Standaard traceroute-implementaties beginnen met een TTL van 1 en stijgen
de TTL totdat de bestemmingshost is bereikt. De traceroute van Nmap begint met een high
TTL en verlaagt vervolgens de TTL totdat deze nul bereikt. Door het achterstevoren te doen, kan Nmap
gebruik slimme caching-algoritmen om traceringen over meerdere hosts te versnellen. Gemiddeld
Nmap verzendt 5 tot 10 pakketten minder per host, afhankelijk van de netwerkomstandigheden. Als een enkele
subnet wordt gescand (dwz 192.168.0.0/24) Nmap hoeft mogelijk maar twee pakketten te verzenden
voor de meeste gastheren.
-n (Geen DNS-resolutie) .
Vertelt Nmap dat nooit doe reverse DNS-resolutie op de actieve IP-adressen die het vindt.
Aangezien DNS traag kan zijn, zelfs met de ingebouwde parallelle stub-resolver van Nmap, is deze optie
scantijden kunnen verkorten.
-R (DNS-resolutie voor alle doelen) .
Vertelt Nmap dat altijd doe omgekeerde DNS-resolutie op de doel-IP-adressen. Normaal gesproken
reverse DNS wordt alleen uitgevoerd tegen responsieve (online) hosts.
--systeem-dns (Gebruik de DNS-resolver van het systeem).
Standaard lost Nmap IP-adressen op door vragen rechtstreeks naar de naamservers te sturen
geconfigureerd op uw host en vervolgens te luisteren naar reacties. Veel verzoeken (vaak tientallen)
worden parallel uitgevoerd om de prestaties te verbeteren. Geef deze optie op om uw
systeemresolver in plaats daarvan (één IP tegelijk via de krijgnaaminfo telefoongesprek). Dit is langzamer
en zelden nuttig, tenzij u een fout vindt in de Nmap-parallelresolver (laat ons alstublieft
weet of je dat doet). Voor IPv6-scans wordt altijd de systeemresolver gebruikt.
--dns-servers server1[,server2[,...]] (Servers om te gebruiken voor reverse DNS-query's) .
Nmap bepaalt standaard uw DNS-servers (voor rDNS-resolutie) van uw
resolv.conf-bestand (Unix) of het register (Win32). Als alternatief kunt u dit gebruiken
optie om alternatieve servers op te geven. Deze optie wordt niet gehonoreerd als u gebruikt
--systeem-dns of een IPv6-scan. Vooral het gebruik van meerdere DNS-servers is vaak sneller
als u gezaghebbende servers kiest voor uw doel-IP-ruimte. Deze optie kan ook
verbeter de stealth, aangezien uw verzoeken kunnen worden teruggestuurd door vrijwel elke recursieve DNS
servers op internet.
Deze optie is ook handig bij het scannen van privénetwerken. Soms maar een paar
naamservers bieden de juiste rDNS-informatie en u weet misschien niet eens waar ze zijn
Zijn. U kunt het netwerk scannen op poort 53 (misschien met versiedetectie) en het dan proberen
Nmap lijst scant (-sL) waarbij elke naamserver één voor één wordt gespecificeerd --dns-servers
totdat je er een vindt die werkt.
PORT SCANNEN BASICS
Hoewel Nmap in de loop der jaren qua functionaliteit is gegroeid, begon het als een efficiënte poort
scanner, en dat blijft de kernfunctie. De simpele opdracht nmap doel scant 1,000
TCP-poorten op de host doel. Terwijl veel poortscanners traditioneel alle poorten op één hoop hebben gegooid
in de open of gesloten toestanden is Nmap veel gedetailleerder. Het verdeelt poorten in zes
toestanden: open, gesloten, gefilterd, ongefilterd, open|gefilterd of gesloten|gefilterd.
Deze toestanden zijn geen intrinsieke eigenschappen van de poort zelf, maar beschrijven hoe Nmap ziet
hen. Een Nmap-scan van hetzelfde netwerk als het doel kan bijvoorbeeld poort 135/tcp tonen
als open, terwijl een scan tegelijkertijd met dezelfde opties van over het hele internet
zou die poort als gefilterd kunnen tonen.
De zes port staten erkend by Nmap
Een toepassing accepteert actief TCP-verbindingen, UDP-datagrammen of SCTP
verenigingen op deze haven. Het vinden van deze is vaak het primaire doel van poortscannen.
Beveiligingsbewuste mensen weten dat elke open poort een aanvalsroute is. Aanvallers en
pentesters willen de openstaande poorten uitbuiten, terwijl beheerders or
bescherm ze met firewalls zonder legitieme gebruikers te dwarsbomen. Open poorten zijn dat ook
interessant voor niet-beveiligingsscans omdat ze services laten zien die beschikbaar zijn voor gebruik op de
netwerk.
Een gesloten poort is toegankelijk (deze ontvangt en reageert op Nmap-sondepakketten), maar
er luistert geen applicatie naar. Ze kunnen nuttig zijn om te laten zien dat een gastheer is
op een IP-adres (hostdetectie of ping-scanning) en als onderdeel van OS-detectie.
Omdat gesloten poorten bereikbaar zijn, kan het de moeite waard zijn om later te scannen voor het geval er enkele open zijn
omhoog. Beheerders kunnen overwegen dergelijke poorten te blokkeren met een firewall. Toen ... ze
zou verschijnen in de gefilterde staat, hierna besproken.
Nmap kan niet bepalen of de poort open is omdat pakketfiltering dit verhindert
sondes van het bereiken van de haven. De filtering kan afkomstig zijn van een speciale firewall
apparaat, routerregels of hostgebaseerde firewallsoftware. Deze poorten frustreren aanvallers
omdat ze zo weinig informatie geven. Soms reageren ze met een ICMP-fout
berichten zoals type 3 code 13 (bestemming onbereikbaar: communicatie
administratief verboden), maar filters die simpelweg sondes laten vallen zonder te reageren
komen veel vaker voor. Dit dwingt Nmap om het meerdere keren opnieuw te proberen voor het geval de sonde
is verwijderd vanwege netwerkcongestie in plaats van filtering. Dit vertraagt de scan
dramatisch.
De ongefilterde status betekent dat een poort toegankelijk is, maar dat Nmap dit niet kan bepalen
of het nu open of gesloten is. Alleen de ACK-scan, die wordt gebruikt om de firewall in kaart te brengen
regelsets, classificeert poorten in deze status. Ongefilterde poorten scannen met andere scan
typen zoals Windows-scan, SYN-scan of FIN-scan kunnen helpen bepalen of de poort is
geopend.
Nmap plaatst poorten in deze status wanneer het niet kan bepalen of een poort open is
of gefilterd. Dit gebeurt bij scantypes waarbij open poorten geen reactie geven. Het gebrek aan
van reactie kan ook betekenen dat een pakketfilter de sonde of een reactie daarop heeft laten vallen
uitgelokt. Nmap weet dus niet zeker of de poort open staat of gefilterd wordt.
De UDP-, IP-protocol-, FIN-, NULL- en Xmas-scans classificeren poorten op deze manier.
Deze status wordt gebruikt wanneer Nmap niet kan bepalen of een poort gesloten is of
gefilterd. Het wordt alleen gebruikt voor de IP ID inactieve scan.
PORT SCANNEN TECHNIEKEN
Als een beginner die autoreparaties uitvoert, kan ik urenlang worstelen om mijn
rudimentair gereedschap (hamer, ducttape, moersleutel, enz.) voor de taak die voorhanden is. Wanneer ik faal
ellendig en sleep mijn jalopy naar een echte monteur, hij vist steevast rond in een enorm stuk gereedschap
borst tot het uittrekken van de perfecte gizmo waardoor het werk moeiteloos lijkt. De kunst van
poort scannen is vergelijkbaar. Experts begrijpen de tientallen scantechnieken en kiezen de
geschikte (of combinatie) voor een bepaalde taak. Onervaren gebruikers en script
kinderen,. probeer aan de andere kant elk probleem op te lossen met de standaard SYN-scan. Sinds
Nmap is gratis, de enige barrière voor meesterschap in het scannen van poorten is kennis. Dat klopt zeker
de automobielwereld, waar het grote vaardigheid kan vergen om te bepalen dat je een veerpoot nodig hebt
veercompressor, dan moet je er alsnog duizenden euro's voor betalen.
De meeste scantypen zijn alleen beschikbaar voor bevoorrechte gebruikers. Dit komt omdat ze verzenden
en onbewerkte pakketten ontvangen. waarvoor root-toegang op Unix-systemen vereist is. Een gebruiken
administrator-account op Windows wordt aanbevolen, hoewel Nmap soms werkt
onbevoegde gebruikers op dat platform wanneer WinPcap al in het besturingssysteem is geladen.
Het vereisen van rootrechten was een ernstige beperking toen Nmap in 1997 werd uitgebracht, zoals velen
gebruikers hadden alleen toegang tot gedeelde shell-accounts. Nu is de wereld anders. Computers zijn
goedkoper, veel meer mensen hebben altijd directe internettoegang en Unix-desktopsystemen
(inclusief Linux en Mac OS X) heersen. Er is nu een Windows-versie van Nmap beschikbaar,
waardoor het op nog meer desktops kan worden uitgevoerd. Om al deze redenen hebben gebruikers er minder behoefte aan
voer Nmap uit vanuit beperkte gedeelde shell-accounts. Dit is gelukkig, net als de bevoorrechte opties
maak Nmap veel krachtiger en flexibeler.
Hoewel Nmap probeert nauwkeurige resultaten te produceren, moet u er rekening mee houden dat al zijn inzichten dat wel zijn
op basis van pakketten die worden geretourneerd door de doelmachines (of firewalls ervoor). Zo een
hosts kunnen onbetrouwbaar zijn en antwoorden sturen die bedoeld zijn om Nmap te verwarren of te misleiden. Veel
vaker komen niet-RFC-compatibele hosts voor die niet reageren zoals zou moeten op Nmap-sondes.
FIN-, NULL- en Xmas-scans zijn bijzonder gevoelig voor dit probleem. Zulke problemen zijn
specifiek zijn voor bepaalde scantypes en worden daarom besproken in de individuele scantypevermeldingen.
Deze sectie documenteert de tientallen poortscantechnieken die door Nmap worden ondersteund. Maar een
methode kan tegelijkertijd worden gebruikt, behalve dat UDP-scan (-zijn) en een van de SCTP-scans
soorten (-sY, -sZ) kan worden gecombineerd met elk van de TCP-scantypen. Als geheugensteuntje, port
opties voor het scantype zijn van het formulier -sC, Waar C is een prominent personage in de scannaam,
meestal de eerste. De enige uitzondering hierop is de verouderde FTP-bouncescan (-b). Door
standaard voert Nmap een SYN-scan uit, hoewel het een verbindingsscan vervangt als de gebruiker dat doet
niet de juiste rechten hebben om onbewerkte pakketten te verzenden (vereist root-toegang op Unix). Van de
scans die in deze sectie worden vermeld, kunnen niet-geprivilegieerde gebruikers alleen connect en FTP bounce uitvoeren
scant.
-H.H (TCP SYN-scan).
SYN-scan is om goede redenen de standaard en meest populaire scanoptie. Het kan zijn
snel uitgevoerd, het scannen van duizenden poorten per seconde op een snel netwerk niet
gehinderd door beperkende firewalls. Het is ook relatief onopvallend en onopvallend
omdat het nooit TCP-verbindingen voltooit. SYN-scan werkt tegen elke compatibele TCP
stapelen in plaats van afhankelijk te zijn van eigenaardigheden van specifieke platforms zoals die van Nmap
FIN/NULL/Xmas, Maimon en inactieve scans wel. Het maakt ook duidelijk, betrouwbaar
onderscheid te maken tussen de open, gesloten en gefilterde toestanden.
Deze techniek wordt vaak halfopen scannen genoemd, omdat u geen a
volledige TCP-verbinding. Je verstuurt een SYN-pakket, alsof je een real gaat openen
verbinding maken en wachten op een reactie. Een SYN/ACK geeft aan dat de poort luistert
(open), terwijl een RST (reset) duidt op een niet-luisteraar. Als er geen reactie is
ontvangen na verschillende heruitzendingen, wordt de poort gemarkeerd als gefilterd. De haven is
ook gemarkeerd als gefilterd als een ICMP onbereikbare fout (type 3, code 0, 1, 2, 3, 9, 10 of
13) is ontvangen. De poort wordt ook als open beschouwd als een SYN-pakket (zonder de ACK
vlag) wordt als reactie ontvangen. Dit kan te wijten zijn aan een uiterst zeldzame bekende TCP-functie
als gelijktijdige open of gedeelde handshake-verbinding (zie
https://nmap.org/misc/split-handshake.pdf).
-st (TCP-verbindingsscan).
TCP Connect-scan is het standaard TCP-scantype wanneer SYN-scan geen optie is. Dit is
het geval wanneer een gebruiker geen onbewerkte pakketprivileges heeft. In plaats van rauw te schrijven
pakketten zoals de meeste andere scantypes doen, vraagt Nmap het onderliggende besturingssysteem om
breng een verbinding tot stand met de doelmachine en poort door het verbinden system
telefoongesprek. Dit is dezelfde systeemoproep op hoog niveau die webbrowsers, P2P-clients en de meeste gebruiken
andere netwerktoepassingen gebruiken om een verbinding tot stand te brengen. Het maakt deel uit van een
programmeerinterface bekend als de Berkeley Sockets API. In plaats van onbewerkt pakket te lezen
reacties van de draad, Nmap gebruikt deze API om statusinformatie over elk te verkrijgen
verbindingspoging.
Wanneer SYN-scan beschikbaar is, is dit meestal een betere keuze. Nmap heeft er minder controle over
het hoge niveau verbinden bellen dan met onbewerkte pakketten, waardoor het minder efficiënt is. De
systeemaanroep voltooit verbindingen om doelpoorten te openen in plaats van het uitvoeren van de
halfopen reset die SYN-scan doet. Dit duurt niet alleen langer en vereist meer
pakketten om dezelfde informatie te verkrijgen, maar het is waarschijnlijker dat doelmachines de
verbinding. Een fatsoenlijk IDS zal beide opvangen, maar de meeste machines hebben zo'n alarm niet
systeem. Veel services op uw gemiddelde Unix-systeem voegen een notitie toe aan syslog, en
soms een cryptische foutmelding, wanneer Nmap verbinding maakt en vervolgens de verbinding verbreekt
zonder gegevens te verzenden. Echt zielige services crashen wanneer dit gebeurt, hoewel dat zo is
ongewoon. Een beheerder die een aantal verbindingspogingen ziet in haar logboeken van een
enkel systeem zou moeten weten dat ze is gescand.
-zijn (UDP-scans).
Hoewel de meeste populaire services op internet via het TCP-protocol lopen, UDP[6] diensten
worden breed ingezet. DNS, SNMP en DHCP (geregistreerde poorten 53, 161/162 en 67/68) zijn
drie van de meest voorkomende. Omdat UDP-scannen over het algemeen langzamer en moeilijker is
dan TCP, negeren sommige beveiligingsauditors deze poorten. Dit is een vergissing, aangezien misbruik kan worden gemaakt
UDP-services komen vrij vaak voor en aanvallers negeren zeker niet het hele protocol.
Gelukkig kan Nmap helpen bij het inventariseren van UDP-poorten.
UDP-scan wordt geactiveerd met de -zijn keuze. Het kan worden gecombineerd met een TCP-scantype
zoals SYN-scan (-H.H) om beide protocollen tijdens dezelfde run te controleren.
UDP-scan werkt door een UDP-pakket naar elke beoogde poort te sturen. Voor enkele veelgebruikte poorten
zoals 53 en 161, wordt een protocolspecifieke payload verzonden om de respons te verhogen, maar
voor de meeste poorten is het pakket leeg, tenzij de --gegevens, --gegevensreeksof --data-lengte
opties zijn opgegeven. Als een ICMP-poort onbereikbare fout (type 3, code 3) wordt geretourneerd,
de haven is gesloten. Andere ICMP onbereikbare fouten (type 3, codes 0, 1, 2, 9, 10 of
13) markeer de poort als gefilterd. Af en toe reageert een service met een UDP-pakket,
bewijzen dat het open is. Als er geen reactie wordt ontvangen na opnieuw verzenden, is de poort
geclassificeerd als open|gefilterd. Dit betekent dat de poort open kan zijn, of misschien pakket
filters blokkeren de communicatie. Versiedetectie (-sV) kan worden gebruikt om te helpen
onderscheid de echt open poorten van de gefilterde.
Een grote uitdaging bij UDP-scannen is om het snel te doen. Open en gefilterde poorten zelden
stuur een reactie, laat Nmap een time-out krijgen en voer vervolgens opnieuw verzendingen uit
geval de sonde of respons verloren ging. Gesloten poorten zijn vaak een nog groter probleem.
Ze sturen meestal een ICMP-poort onbereikbare fout terug. Maar in tegenstelling tot de verzonden RST-pakketten
door gesloten TCP-poorten als reactie op een SYN- of connect-scan, beperken veel hosts de snelheid. ICMP
poort onbereikbare berichten standaard. Linux en Solaris zijn bijzonder streng
dit. De Linux 2.4.20-kernel beperkt bijvoorbeeld tot onbereikbare bestemmingsberichten
één per seconde (in net/ipv4/icmp.c).
Nmap detecteert snelheidsbeperking en vertraagt dienovereenkomstig om overstroming van het netwerk te voorkomen
met nutteloze pakketten die de doelmachine zal laten vallen. Helaas, een Linux-stijl
limiet van één pakket per seconde zorgt ervoor dat een scan van 65,536 poorten meer dan 18 uur duurt. Ideeën
voor het versnellen van uw UDP-scans omvatten het parallel scannen van meer hosts, snel doen
scan eerst alleen de populaire poorten, scan van achter de firewall en gebruik
--host-time-out om langzame hosts over te slaan.
-sY (SCTP INIT-scan).
SCTP[7] is een relatief nieuw alternatief voor de TCP- en UDP-protocollen, waarbij de meeste worden gecombineerd
kenmerken van TCP en UDP, en ook het toevoegen van nieuwe functies zoals multi-homing en
multi-streaming. Het wordt meestal gebruikt voor SS7/SIGTRAN-gerelateerde diensten, maar heeft de
potentieel ook voor andere toepassingen te gebruiken. SCTP INIT-scan is de SCTP
equivalent van een TCP SYN-scan. Het kan snel worden uitgevoerd door duizenden poorten te scannen
per seconde op een snel netwerk dat niet wordt gehinderd door beperkende firewalls. Zoals SYN-scan,
INIT-scan is relatief onopvallend en onopvallend, omdat SCTP nooit wordt voltooid
verenigingen. Het maakt ook een duidelijk, betrouwbaar onderscheid mogelijk tussen de open, gesloten,
en gefilterde staten.
Deze techniek wordt vaak halfopen scannen genoemd, omdat u geen a
volledige SCTP-associatie. Je stuurt een INIT-brok, alsof je een real gaat openen
koppeling en wacht op een reactie. Een INIT-ACK-blok geeft aan dat de poort is
luisteren (open), terwijl een stuk ABORT een indicatie is van een niet-luisteraar. Indien geen reactie
wordt ontvangen na verschillende heruitzendingen, wordt de poort gemarkeerd als gefilterd. De haven is
ook gemarkeerd als gefilterd als een ICMP onbereikbare fout (type 3, code 0, 1, 2, 3, 9, 10 of
13) is ontvangen.
-sN; -sF; -sX (TCP NULL-, FIN- en Xmas-scans) .
Deze drie soorten scans (er zijn er nog meer mogelijk met de --scanvlaggen optie beschreven
in de volgende sectie) exploiteren een subtiele maas in de TCP RFC[8] om te differentiëren
tussen open en gesloten poorten. Pagina 65 van RFC 793 zegt dat “als de [bestemming] poort
status is GESLOTEN .... een binnenkomend segment dat geen RST bevat, zorgt ervoor dat een RST wordt verzonden
in antwoord." Vervolgens bespreekt de volgende pagina pakketten die naar open poorten zijn verzonden zonder de
SYN-, RST- of ACK-bits ingesteld, waarin staat dat: "het is onwaarschijnlijk dat u hier komt, maar als u dat doet,
laat het segment vallen en keer terug.
Bij het scannen van systemen die voldoen aan deze RFC-tekst, wordt elk pakket dat geen SYN bevat,
RST- of ACK-bits resulteren in een geretourneerde RST als de poort is gesloten en er geen reactie is
helemaal niet als de poort open is. Zolang geen van deze drie bits is opgenomen, geen
combinatie van de andere drie (FIN, PSH en URG) is OK. Nmap maakt hier gebruik van
drie soorten scans:
Null-scan (-sN)
Stelt geen bits in (TCP-vlagkop is 0)
FIN-scan (-sF)
Stelt alleen het TCP FIN-bit in.
Kerstscan (-sX)
Stelt de FIN-, PSH- en URG-vlaggen in, waardoor het pakket oplicht als een kerstboom.
Deze drie scantypes zijn exact hetzelfde in gedrag behalve de ingestelde TCP-vlaggen
in sondepakketten. Als een RST-pakket wordt ontvangen, wordt de poort als gesloten beschouwd, terwijl nee
antwoord betekent dat het open|gefilterd is. De poort wordt gemarkeerd als gefilterd als een ICMP onbereikbaar is
fout (type 3, code 0, 1, 2, 3, 9, 10 of 13) is ontvangen.
Het belangrijkste voordeel van deze scantypes is dat ze er doorheen kunnen sluipen
niet-stateful firewalls en pakketfilterrouters. Een ander voordeel is dat deze
scantypen zijn iets onopvallender dan zelfs een SYN-scan. Reken hier niet op
de meeste moderne IDS-producten kunnen echter worden geconfigureerd om ze te detecteren. Het grote nadeel is
dat niet alle systemen RFC 793 letterlijk volgen. Een aantal systemen sturen RST
reacties op de sondes, ongeacht of de poort open is of niet. Dit veroorzaakt alles
van de poorten die als gesloten moeten worden bestempeld. De belangrijkste besturingssystemen die dit doen, zijn Microsoft
Windows, veel Cisco-apparaten, BSDI en IBM OS/400. Deze scan werkt tegen de meesten
Unix-gebaseerde systemen wel. Een ander nadeel van deze scans is dat ze dat niet kunnen
onderscheid te maken tussen open poorten en bepaalde gefilterde poorten, zodat u het antwoord krijgt
open|gefilterd.
-sA (TCP ACK-scan).
Deze scan is anders dan de andere die tot nu toe zijn besproken, omdat deze nooit bepaalt
open (of zelfs open|gefilterde) poorten. Het wordt gebruikt om firewallregelsets in kaart te brengen,
bepalen of ze stateful zijn of niet en welke poorten worden gefilterd.
Het ACK-scanprobepakket heeft alleen de ACK-vlag ingesteld (tenzij u --scanvlaggen). Wanneer
bij het scannen van ongefilterde systemen, zullen open en gesloten poorten beide een RST-pakket retourneren. Nmap
labelt ze vervolgens als ongefilterd, wat betekent dat ze bereikbaar zijn voor het ACK-pakket, maar
of ze open of gesloten zijn, is onbepaald. Poorten die niet reageren of verzenden
bepaalde ICMP-foutmeldingen terug (type 3, code 0, 1, 2, 3, 9, 10 of 13), zijn gelabeld
gefilterd.
-sW (TCP-vensterscan).
Windows-scan is precies hetzelfde als ACK-scan, behalve dat het gebruik maakt van een implementatie
detail van bepaalde systemen om open poorten te onderscheiden van gesloten, in plaats van
altijd ongefilterd afdrukken wanneer een RST wordt geretourneerd. Het doet dit door het TCP te onderzoeken
Vensterveld van de geretourneerde RST-pakketten. Op sommige systemen gebruiken open poorten een positieve
venstergrootte (zelfs voor RST-pakketten), terwijl gesloten pakketten een nulvenster hebben. Dus in plaats van
altijd een poort vermelden als ongefilterd wanneer deze een RST terug ontvangt, geeft Windows Scan de
poort als open of gesloten als de waarde van het TCP-venster in die reset positief of nul is,
respectievelijk.
Deze scan is gebaseerd op een implementatiedetail van een minderheid van systemen op de
Internet, dus je kunt het niet altijd vertrouwen. Systemen die dit niet ondersteunen, zullen dat meestal wel doen
zet alle poorten terug gesloten. Het kan natuurlijk zijn dat de automaat echt geen open heeft
havens. Als de meeste gescande poorten gesloten zijn maar een paar gemeenschappelijke poortnummers (zoals 22, 25,
53) worden gefilterd, is het systeem hoogstwaarschijnlijk vatbaar. Af en toe zullen systemen dat doen
vertonen zelfs precies het tegenovergestelde gedrag. Als uw scan 1,000 open poorten en drie
gesloten of gefilterde poorten, dan zijn die drie misschien wel de echt open poorten.
-sM (TCP Maimon-scan).
De Maimon-scan is genoemd naar zijn ontdekker, Uriel Maimon. Hij beschreef de
techniek in Phrack Magazine nummer #49 (november 1996).. Nmap, waarin dit was opgenomen
techniek, werd twee nummers later uitgebracht. Deze techniek is precies hetzelfde als NULL,
FIN- en Xmas-scans, behalve dat de sonde FIN/ACK is. Volgens RFC 793[8] (TCP),
er moet een RST-pakket worden gegenereerd als reactie op een dergelijke test of de poort open is
of gesloten. Het viel Uriel echter op dat veel van BSD afgeleide systemen het pakket gewoon laten vallen
als de poort open is.
--scanvlaggen (Aangepaste TCP-scan).
Echt geavanceerde Nmap-gebruikers hoeven zich niet te beperken tot de aangeboden ingeblikte scantypes.
De --scanvlaggen Met deze optie kunt u uw eigen scan ontwerpen door willekeurige TCP op te geven
flags.. Laat uw creatieve sappen stromen, terwijl u inbraakdetectiesystemen ontwijkt.
wiens leveranciers eenvoudigweg door de manpagina van Nmap bladerden en specifieke regels toevoegden!
De --scanvlaggen argument kan een numerieke vlagwaarde zijn, zoals 9 (PSH en FIN), maar
het gebruik van symbolische namen is gemakkelijker. Pureer gewoon elke combinatie van URG, ACK, PSH,
RST, SYN en FIN. Bijvoorbeeld, --scanvlaggen URGACKPSHRSTSYNFIN stelt echter alles in
het is niet erg handig om te scannen. De volgorde waarin deze worden gespecificeerd is niet relevant.
Naast het specificeren van de gewenste vlaggen, kunt u een TCP-scantype specificeren (zoals
-sA or -sF). Dat basistype vertelt Nmap hoe antwoorden moeten worden geïnterpreteerd. Bijvoorbeeld een SYN
scan beschouwt geen reactie om een gefilterde poort aan te geven, terwijl een FIN-scan de
hetzelfde als open|gefilterd. Nmap zal zich op dezelfde manier gedragen als voor het basisscantype,
behalve dat het in plaats daarvan de TCP-vlaggen gebruikt die u opgeeft. Als u geen basis opgeeft
type, wordt SYN-scan gebruikt.
-sZ (SCTP COOKIE ECHO-scan).
SCTP COOKIE ECHO-scan is een geavanceerdere SCTP-scan. Het profiteert van het feit
dat SCTP-implementaties stilzwijgend pakketten moeten laten vallen die COOKIE ECHO-brokken bevatten
op open poorten, maar stuur een ABORT als de poort gesloten is. Het voordeel van deze scan
type is dat een poortscan niet zo vanzelfsprekend is als een INIT-scan. Ook kan er zijn
niet-stateful firewallregelsets die INIT-chunks blokkeren, maar geen COOKIE ECHO-chunks. Niet doen
laat u misleiden door te denken dat dit een poortscan onzichtbaar maakt; een goede IDS zal zijn
kan ook SCTP COOKIE ECHO-scans detecteren. Het nadeel is dat SCTP COOKIE ECHO scant
kan geen onderscheid maken tussen open en gefilterde poorten, waardoor u bij de staat blijft
open|gefilterd in beide gevallen.
-si zombie gastheer[:peilen] (inactief scannen) .
Deze geavanceerde scanmethode maakt een echt blinde TCP-poortscan van het doel mogelijk
(wat betekent dat er geen pakketten naar het doel worden verzonden vanaf uw echte IP-adres). In plaats daarvan een
unieke side-channel-aanval maakt gebruik van voorspelbare IP-fragmentatie-ID-reeks
genereren op de zombiehost om informatie te verzamelen over de open poorten op het doelwit.
IDS-systemen zullen de scan weergeven alsof deze afkomstig is van de zombiemachine die u opgeeft (welke
moet in orde zijn en aan bepaalde criteria voldoen). Dit fascinerende scantype is te complex om
volledig beschrijven in deze naslaggids, dus schreef en plaatste ik een informeel artikel met
volledige details op https://nmap.org/book/idlescan.html.
Behalve dat het buitengewoon onopvallend is (vanwege zijn blinde karakter), is dit scantype
maakt het mogelijk om IP-gebaseerde vertrouwensrelaties tussen machines in kaart te brengen. De havenlijst
toont open poorten van the perspectief of the zombie gastheer. U kunt dus proberen een
richten met behulp van verschillende zombies waarvan je denkt dat ze te vertrouwen zijn. (via router/pakket
filterregels).
U kunt een dubbele punt gevolgd door een poortnummer toevoegen aan de zombiehost als u wilt onderzoeken
een bepaalde poort op de zombie voor IP ID-wijzigingen. Anders zal Nmap de port gebruiken
standaard gebruikt voor TCP-pings (80).
-Dus (IP-protocolscan).
Met IP-protocolscan kunt u bepalen welke IP-protocollen (TCP, ICMP, IGMP, enz.)
worden ondersteund door doelmachines. Dit is technisch gezien geen poortscan, omdat het cyclisch is
via IP-protocolnummers in plaats van TCP- of UDP-poortnummers. Toch gebruikt het nog steeds de
-p optie om gescande protocolnummers te selecteren, rapporteert de resultaten binnen het normale
port-tabelformaat en gebruikt zelfs dezelfde onderliggende scan-engine als de echte port
scannen methoden. Dus het is dicht genoeg bij een poortscan dat het hier thuishoort.
Behalve dat het op zichzelf nuttig is, demonstreert protocolscan de kracht van
open source software. Hoewel het fundamentele idee vrij eenvoudig is, had ik er niet over nagedacht
om het toe te voegen, noch verzoeken voor dergelijke functionaliteit ontvangen. Dan in de zomer van
2000, Gerhard Rieger. bedacht het idee, schreef een uitstekende patch om het te implementeren,
en stuurde het naar de aankondigingenmailinglijst. (toen nmap-hackers genoemd).. I
nam die patch op in de Nmap-boom en bracht de volgende dag een nieuwe versie uit.
Weinig commerciële software heeft gebruikers enthousiast genoeg om te ontwerpen en te ontwikkelen
dragen hun eigen verbeteringen bij!
Protocolscan werkt op dezelfde manier als UDP-scan. In plaats van itereren door de
poortnummerveld van een UDP-pakket, verzendt het IP-pakketheaders en herhaalt het door het
acht-bits IP-protocolveld. De headers zijn meestal leeg, bevatten geen gegevens en niet
zelfs de juiste header voor het geclaimde protocol. De uitzonderingen zijn TCP, UDP, ICMP,
SCTP en IGMP. Een goede protocolheader daarvoor is bij sommige systemen inbegrepen
zal ze anders niet verzenden en omdat Nmap al functies heeft om ze te maken.
In plaats van te letten op ICMP-poort onbereikbare berichten, is protocolscan aan de gang
kijk uit voor ICMP protocol onbereikbare berichten. Als Nmap een reactie ontvangt in any
protocol van de doelhost, markeert Nmap dat protocol als open. Een ICMP-protocol
onbereikbare fout (type 3, code 2) zorgt ervoor dat het protocol wordt gemarkeerd als gesloten terwijl
poort onbereikbaar (type 3, code 3) markeert het protocol open. Andere ICMP onbereikbaar
fouten (type 3, code 0, 1, 9, 10 of 13) zorgen ervoor dat het protocol wordt gemarkeerd als gefilterd
(hoewel ze bewijzen dat ICMP tegelijkertijd open is). Als er geen reactie komt
na heruitzendingen wordt het protocol gemarkeerd als open|gefilterd
-b FTP relais gastheer (FTP-bounce-scan).
Een interessant kenmerk van het FTP-protocol (RFC 959[9]) is ondersteuning voor zogenaamde proxy
FTP-verbindingen. Hierdoor kan een gebruiker verbinding maken met één FTP-server en vervolgens die bestanden opvragen
worden verzonden naar een server van derden. Zo'n functie is op veel niveaus rijp voor misbruik, dus
de meeste servers ondersteunen het niet meer. Een van de misbruiken die deze functie toestaat, is
waardoor de FTP-server andere hosts gaat scannen. Vraag gewoon aan de FTP-server om een
bestand op zijn beurt naar elke interessante poort van een doelhost. De foutmelding zal
beschrijf of de poort open is of niet. Dit is een goede manier om firewalls te omzeilen
omdat organisatorische FTP-servers vaak worden geplaatst waar ze meer toegang hebben
andere interne hosts dan welke oude internethost dan ook. Nmap ondersteunt FTP-bounce-scan
met de -b keuze. Er is een argument van de vorm nodig gebruikersnaam:wachtwoord@server:port.
Server is de naam of het IP-adres van een kwetsbare FTP-server. Net als bij een normale URL, jij
mag weglaten gebruikersnaam:wachtwoord, in welk geval anonieme inloggegevens (gebruiker: anonymous
wachtwoord:-wwwuser@) worden gebruikt. Het poortnummer (en de voorafgaande dubbele punt) mag worden weggelaten als
wel, in dat geval de standaard FTP-poort (21) aan server is gebruikt.
Deze kwetsbaarheid was wijdverspreid in 1997 toen Nmap werd uitgebracht, maar is grotendeels verdwenen
vast. Kwetsbare servers zijn er nog steeds, dus het is de moeite waard om het te proberen als al het andere faalt.
Als het omzeilen van een firewall uw doel is, scan dan het doelnetwerk op poort 21 (of zelfs op poort XNUMX).
eventuele FTP-services als u alle poorten scant met versiedetectie) en ftp-bounce gebruikt.
NSE-script. Nmap zal u vertellen of de host kwetsbaar is of niet. Als je gewoon bent
als je probeert je sporen uit te wissen, hoef je je niet te beperken (en zou je dat eigenlijk ook niet moeten doen).
jezelf naar hosts op het doelnetwerk. Voordat je willekeurig internet gaat scannen
adressen voor kwetsbare FTP-servers, houd er dan rekening mee dat systeembeheerders u misschien niet waarderen
op deze manier hun servers misbruiken.
PORT SPECIFICATIE EN SCAN BESTELLEN
Naast alle eerder besproken scanmethoden biedt Nmap opties voor
specificeren welke poorten worden gescand en of de scanvolgorde willekeurig of sequentieel is.
Standaard scant Nmap de meest voorkomende 1,000 poorten voor elk protocol.
-p port ranges (Alleen gespecificeerde poorten scannen) .
Deze optie specificeert welke poorten u wilt scannen en overschrijft de standaard.
Individuele poortnummers zijn OK, net als reeksen gescheiden door een koppelteken (bijv. 1-1023).
De begin- en/of eindwaarden van een bereik kunnen worden weggelaten, waardoor Nmap 1 en gebruikt
65535, respectievelijk. U kunt dus specificeren -P- om poorten van 1 tot en met 65535 te scannen.
Poort nul scannen. is toegestaan als u dit expliciet opgeeft. Voor het scannen van IP-protocollen
(-Dus), specificeert deze optie de protocolnummers waarnaar u wilt scannen (0-255).
Bij het scannen van een combinatie van protocollen (bijv. TCP en UDP), kunt u een
bepaald protocol door de poortnummers vooraf te laten gaan door T: voor TCP, U: voor UDP, S: voor
SCTP, of P: voor IP-protocol. De kwalificatie duurt totdat u een andere kwalificatie opgeeft.
Bijvoorbeeld de argumentatie -p U:53,111,137,T:21-25,80,139,8080 zou UDP-poorten 53 scannen,
111 en 137, evenals de vermelde TCP-poorten. Merk op dat om zowel UDP als TCP te scannen, u
moeten specificeren -zijn en ten minste één TCP-scantype (zoals -H.H, -sFof -st). Als Nee
protocolkwalificatie wordt gegeven, worden de poortnummers toegevoegd aan alle protocollijsten. Poorten
kan ook op naam worden gespecificeerd op basis van waarnaar de poort wordt verwezen in de
nmap-services. U kunt zelfs de wildcards * en ? met de namen. Bijvoorbeeld naar
scan FTP en alle poorten waarvan de naam begint met "http", gebruik -p ftp,http*. Wees voorzichtig
over shell-uitbreidingen en citeer het argument aan -p indien onzeker.
Bereiken van poorten kunnen worden omgeven door vierkante haken om poorten daarbinnen aan te geven
bereik dat verschijnt in nmap-services. Het volgende scant bijvoorbeeld alle poorten in
nmap-services gelijk aan of lager dan 1024: -p [-1024]. Wees voorzichtig met shell-uitbreidingen en
citeer het argument aan -p indien onzeker.
--uitsluiten-poorten port ranges (Sluit de gespecificeerde poorten uit van scannen) .
Deze optie geeft aan welke poorten Nmap moet uitsluiten van scannen. De port
ranges zijn gespecificeerd vergelijkbaar met -p. Voor IP-protocol scannen (-Dus), deze optie
specificeert de protocolnummers die u wilt uitsluiten (0–255).
Wanneer wordt gevraagd om poorten uit te sluiten, worden ze uitgesloten van alle soorten scans (bijv
ze worden in geen geval gescand). Dit omvat ook de ontdekking
fase.
-F (Snelle (beperkte poort) scan).
Geeft aan dat u minder poorten wilt scannen dan standaard. Normaal gesproken scant Nmap de
meest voorkomende 1,000 poorten voor elk gescand protocol. Met -F, wordt dit teruggebracht tot 100.
Nmap heeft een nmap-services-bestand met frequentie-informatie nodig om te weten welke
havens zijn de meest voorkomende. Als er misschien geen poortfrequentie-informatie beschikbaar is
vanwege het gebruik van een aangepast nmap-services-bestand, scant Nmap alle benoemde poorten plus
poorten 1-1024. In dat geval, -F betekent dat alleen poorten worden gescand die in de services worden genoemd
bestand.
-r (Maak poorten niet willekeurig).
Standaard maakt Nmap de gescande poortvolgorde willekeurig (behalve dat bepaalde algemeen
toegankelijke poorten worden om efficiëntieredenen naar het begin verplaatst). Dit
randomisatie is normaal gesproken wenselijk, maar u kunt dit specificeren -r voor sequentieel (gesorteerd
van laag naar hoog) in plaats daarvan poortscannen.
--poortverhouding verhouding<decimaal aantal tussen 0 en 1>
Scant alle poorten in het nmap-services-bestand met een verhouding die groter is dan de opgegeven verhouding. verhouding
moet tussen 0.0 en 1.1 liggen.
--toppoorten n
Scant de n poorten met de hoogste verhouding gevonden in het nmap-services-bestand na uitsluiting van alle poorten
gespecificeerd door --uitsluiten-poorten. n moet 1 of groter zijn.
SERVICE EN VERSIE OPSPORING
Richt Nmap op een externe machine en het kan u vertellen dat poorten 25/tcp, 80/tcp en 53/udp
zijn open. Gebruikmakend van zijn nmap-services. database van ongeveer 2,200 bekende diensten. Nmap
zou melden dat die poorten waarschijnlijk overeenkomen met een mailserver (SMTP), webserver
(HTTP) en naamserver (DNS) respectievelijk. Deze zoekopdracht is meestal nauwkeurig: de enorme
de meeste daemons die op TCP-poort 25 luisteren, zijn in feite mailservers. Echter, jij
moet uw veiligheid hier niet op inzetten! Mensen kunnen services op vreemde poorten uitvoeren en zullen dat ook doen.
Zelfs als Nmap gelijk heeft en de hypothetische server hierboven SMTP, HTTP en DNS draait
servers, dat is niet veel informatie. Bij het uitvoeren van kwetsbaarheidsbeoordelingen (of zelfs
eenvoudige netwerkinventarissen) van uw bedrijven of klanten, wilt u echt weten welke
mail- en DNS-servers en -versies draaien. Het hebben van een nauwkeurig versienummer helpt
dramatisch bij het bepalen voor welke exploits een server kwetsbaar is. Versie detectie
helpt u deze informatie te verkrijgen.
Nadat TCP- en/of UDP-poorten zijn ontdekt met een van de andere scanmethoden, versie
detectie ondervraagt die poorten om meer te bepalen over wat er werkelijk draait. De
nmap-service-probes. database bevat sondes voor het opvragen van verschillende services en match
uitdrukkingen om reacties te herkennen en te ontleden. Nmap probeert het serviceprotocol te bepalen
(bijv. FTP, SSH, Telnet, HTTP), de applicatienaam (bijv. ISC BIND, Apache httpd, Solaris
telnetd), het versienummer, de hostnaam, het apparaattype (bijv. printer, router), de OS-familie
(bijv. Windows, Linux). Waar mogelijk krijgt Nmap ook de Common Platform Enumeration
(CPE). weergave van deze informatie. Soms diverse details zoals of
een X-server staat open voor verbindingen, de SSH-protocolversie of de KaZaA-gebruikersnaam zijn
beschikbaar. Natuurlijk bieden de meeste services niet al deze informatie. Als Nmap was
gecompileerd met OpenSSL-ondersteuning, zal het verbinding maken met SSL-servers om de service af te leiden
luisteren achter die coderingslaag.. Sommige UDP-poorten blijven open|gefilterd
staat nadat een UDP-poortscan niet kan bepalen of de poort open of gefilterd is.
Versiedetectie zal proberen een reactie van deze poorten uit te lokken (net zoals bij
poorten openen) en verander de status naar open als dit lukt. open|gefilterde TCP-poorten zijn
op dezelfde manier behandeld. Merk op dat de Nmap -A optie maakt onder andere versiedetectie mogelijk
dingen. Een document dat de werking, het gebruik en de aanpassing van versiedetectie documenteert
is verkrijgbaar bij https://nmap.org/book/vscan.html.
Wanneer RPC-services worden ontdekt, wordt de Nmap RPC-grinder. is automatisch gewend
het RPC-programma en de versienummers bepalen. Het neemt alle gedetecteerde TCP/UDP-poorten als
RPC en overspoelt ze met SunRPC-programma NULL-opdrachten in een poging om te bepalen of
het zijn RPC-poorten, en zo ja, welk programma en versienummer ze aanbieden. Zo kan het
effectief dezelfde informatie verkrijgen als rpcinfo -p zelfs als de portmapper van het doel zich achter een
firewall (of beschermd door TCP-wrappers). Lokvogels werken momenteel niet met RPC-scan..
Wanneer Nmap antwoorden ontvangt van een service maar deze niet kan matchen met zijn database, is het
drukt een speciale vingerafdruk af en een URL die u kunt indienen als u het zeker weet
wat er op de poort draait. Neem een paar minuten de tijd om de indiening te maken, zodat
uw vondst kan iedereen ten goede komen. Dankzij deze inzendingen heeft Nmap ongeveer 6,500 patronen
komt overeen met meer dan 650 protocollen zoals SMTP, FTP, HTTP, enz.
Versiedetectie wordt ingeschakeld en beheerd met de volgende opties:
-sV (Versiedetectie).
Schakelt versiedetectie in, zoals hierboven besproken. Als alternatief kunt u gebruiken -A, welke
maakt onder andere versiedetectie mogelijk.
-sR. is een alias voor -sV. Vóór maart 2011 werd het gebruikt om de RPC-slijpmachine te activeren
apart van versiedetectie, maar nu worden deze opties altijd gecombineerd.
--alle poorten (Sluit geen poorten uit van versiedetectie).
Standaard slaat Nmap-versiedetectie TCP-poort 9100 over, omdat sommige printers dat gewoon doen
druk alles af dat naar die poort wordt verzonden, wat leidt tot tientallen pagina's met HTTP GET-verzoeken,
binaire SSL-sessieverzoeken, enz. Dit gedrag kan worden gewijzigd door of aan te passen
de Exclude-richtlijn verwijderen in nmap-service-probes, of u kunt specificeren --alle poorten
om alle poorten te scannen, ongeacht een Exclude-richtlijn.
--versie-intensiteit intensiteit (Stel de scanintensiteit van de versie in) .
Bij het uitvoeren van een versiescan (-sV), stuurt Nmap een reeks sondes, die elk zijn
een zeldzaamheidswaarde toegewezen tussen één en negen. De lager genummerde sondes zijn effectief
tegen een grote verscheidenheid aan gemeenschappelijke diensten, terwijl de hoger genummerde dat zelden zijn
bruikbaar. Het intensiteitsniveau geeft aan welke sondes moeten worden toegepast. Hoe hoger de
nummer, hoe groter de kans dat de service correct wordt geïdentificeerd. Echter hoog
intensiteitsscans duren langer. De intensiteit moet tussen 0 en 9 liggen. De standaardwaarde is
7.. Wanneer een sonde is geregistreerd op de doelpoort via de nmap-service-probesports
richtlijn, wordt die sonde geprobeerd ongeacht het intensiteitsniveau. Dit zorgt ervoor dat de
DNS-probes zullen altijd worden geprobeerd tegen elke open poort 53, de SSL-probe zal dat zijn
gedaan tegen 443, enz.
--versie-licht (Lichtmodus inschakelen) .
Dit is een gemaksalias voor --versie-intensiteit 2. Deze lichtmodus maakt versie
scant veel sneller, maar het is iets minder waarschijnlijk dat services worden geïdentificeerd.
--versie-alles (Probeer elke sonde) .
Een alias voor --versie-intensiteit 9, om ervoor te zorgen dat elke afzonderlijke sonde wordt geprobeerd
tegen elke haven.
--versie-trace (Trace versie scanactiviteit) .
Dit zorgt ervoor dat Nmap uitgebreide foutopsporingsinformatie afdrukt over welke versie scannen is
aan het doen. Het is een subset van wat je krijgt --pakket-trace.
OS OPSPORING
Een van de bekendste functies van Nmap is detectie van besturingssystemen op afstand met behulp van TCP/IP-stack
vingerafdrukken. Nmap stuurt een reeks TCP- en UDP-pakketten naar de externe host en onderzoekt deze
praktisch elk stukje in de reacties. Na het uitvoeren van tientallen tests zoals TCP ISN
bemonstering, ondersteuning en bestelling van TCP-opties, IP-ID-bemonstering en de initiële venstergrootte
check, Nmap vergelijkt de resultaten met zijn nmap-os-db. database van meer dan 2,600 bekende besturingssystemen
vingerafdrukken en drukt de OS-details af als er een match is. Elke vingerafdruk omvat
een tekstuele beschrijving in vrije vorm van het besturingssysteem en een classificatie die de leverancier levert
naam (bijv. Sun), onderliggend besturingssysteem (bijv. Solaris), OS-generatie (bijv. 10) en apparaattype
(algemeen doel, router, switch, gameconsole, enz.). De meeste vingerafdrukken hebben ook een Common
Platformopsomming (CPE). representatie, zoals cpe:/o:linux:linux_kernel:2.6.
Als Nmap het besturingssysteem van een machine niet kan raden en de omstandigheden goed zijn (bijvoorbeeld ten minste één
open poort en één gesloten poort gevonden), geeft Nmap een URL die u kunt gebruiken om in te dienen
de vingerafdruk als u (zeker) weet welk besturingssysteem op de machine draait. Door dit te doen u
bijdragen aan de pool van besturingssystemen die bekend zijn bij Nmap en dus zal het meer zijn
nauwkeurig voor iedereen.
OS-detectie maakt enkele andere tests mogelijk die gebruik maken van verzamelde informatie
in ieder geval tijdens het proces. Een daarvan is TCP Sequence Predictability Classification.
Dit meet ongeveer hoe moeilijk het is om een vervalste TCP-verbinding tot stand te brengen
de externe host. Het is handig voor het exploiteren van op bron-IP gebaseerde vertrouwensrelaties (rlogin,
firewallfilters, enz.) of voor het verbergen van de bron van een aanval. Dit soort spoofing is
zelden meer uitgevoerd, maar veel machines zijn er nog steeds kwetsbaar voor. De daadwerkelijke
moeilijkheidsgraad is gebaseerd op statistische steekproeven en kan fluctueren. Het is over het algemeen
het is beter om de Engelse classificatie te gebruiken, zoals "waardige uitdaging" of "triviale grap".
Dit wordt alleen gerapporteerd in normale uitvoer in verbose (-v) modus. Wanneer de uitgebreide modus is ingeschakeld
met -O, wordt ook het genereren van IP-ID-reeksen gerapporteerd. De meeste machines staan in de
"incrementele" klasse, wat betekent dat ze het ID-veld in de IP-header verhogen voor
elk pakket dat ze verzenden. Dit maakt ze kwetsbaar voor verschillende geavanceerde informatie
verzamelen en spoofing-aanvallen.
Een ander stukje extra informatie dat mogelijk wordt gemaakt door OS-detectie, is een schatting van de uptime van een doelwit.
Dit gebruikt de TCP-tijdstempeloptie (RFC 1323[10]) om te raden wanneer een machine voor het laatst was
opnieuw opgestart. De schatting kan onnauwkeurig zijn doordat de tijdstempelteller niet wordt geïnitialiseerd
naar nul of de teller loopt over en wikkelt zich rond, dus het wordt alleen breedsprakig afgedrukt
modus.
Een paper waarin de werking, het gebruik en de aanpassing van OS-detectie wordt gedocumenteerd, is beschikbaar op
https://nmap.org/book/osdetect.html.
OS-detectie wordt ingeschakeld en beheerd met de volgende opties:
-O (OS-detectie inschakelen) .
Schakelt OS-detectie in, zoals hierboven besproken. Als alternatief kunt u gebruiken -A om het besturingssysteem in te schakelen
detectie samen met andere dingen.
--osscan-limiet (Beperk OS-detectie tot veelbelovende doelen) .
OS-detectie is veel effectiever als er ten minste één open en één gesloten TCP-poort is
gevonden. Stel deze optie in en Nmap zal zelfs geen OS-detectie proberen tegen hosts die dat wel doen
niet aan dit criterium voldoen. Dit kan veel tijd besparen, vooral op -Pn scant
tegen veel gastheren. Het maakt alleen uit wanneer OS-detectie wordt aangevraagd met -O or -A.
--osscan-gok; --vaag (Raad de OS-detectieresultaten) .
Wanneer Nmap geen perfecte OS-overeenkomst kan detecteren, biedt het soms bijna-overeenkomsten
als mogelijkheden. De match moet heel dichtbij zijn voor Nmap om dit standaard te doen.
Elk van deze (equivalente) opties zorgt ervoor dat Nmap agressiever gokt. Nmap zal
je nog steeds vertellen wanneer een onvolmaakte match wordt afgedrukt en het betrouwbaarheidsniveau weergeven
(percentage) voor elke gok.
--max-os-pogingen (Stel het maximale aantal OS-detectiepogingen tegen een doel in) .
Wanneer Nmap OS-detectie uitvoert tegen een doelwit en geen perfecte match vindt, is het
herhaalt de poging meestal. Standaard probeert Nmap vijf keer als de voorwaarden dat zijn
gunstig voor het indienen van vingerafdrukken van het besturingssysteem, en twee keer wanneer de omstandigheden niet zo goed zijn.
Een lagere specificeren --max-os-pogingen waarde (zoals 1) versnelt Nmap, hoewel je mist
uit bij nieuwe pogingen die mogelijk het besturingssysteem kunnen identificeren. Als alternatief een hoge waarde
kan worden ingesteld om nog meer nieuwe pogingen mogelijk te maken wanneer de omstandigheden gunstig zijn. Dit is zelden
gedaan, behalve om betere vingerafdrukken te genereren voor indiening en integratie in de
Nmap OS-database.
nmap SCHRIJVEN MOTOR (NSE)
De Nmap Scripting Engine (NSE) is een van de krachtigste en meest flexibele functies van Nmap. Het
stelt gebruikers in staat om eenvoudige scripts te schrijven (en te delen) (met behulp van de Lua programmering taal[11].
) om een breed scala aan netwerktaken te automatiseren. Die scripts worden parallel uitgevoerd
met de snelheid en efficiëntie die u van Nmap verwacht. Gebruikers kunnen vertrouwen op de groeiende en
diverse set scripts gedistribueerd met Nmap, of schrijf ze zelf om aan aangepaste behoeften te voldoen.
Taken die we in gedachten hadden bij het maken van het systeem, zijn onder meer netwerkdetectie
geavanceerde versiedetectie, kwetsbaarheidsdetectie. NSE kan zelfs worden gebruikt voor
misbruik van kwetsbaarheden.
Om die verschillende toepassingen weer te geven en om de keuze te vereenvoudigen welke scripts elk moeten worden uitgevoerd
script bevat een veld dat het associeert met een of meer categorieën. Momenteel gedefinieerd
categorieën zijn auth, uitzending, standaard. ontdekking, dos, exploit, extern, fuzzer,
opdringerig, malware, veilig, versie en vuln. Deze staan allemaal beschreven op
https://nmap.org/book/nse-usage.html#nse-categories.
Scripts worden niet uitgevoerd in een sandbox en kunnen dus per ongeluk of kwaadwillig uw
systeem of uw privacy schenden. Voer nooit scripts van derden uit, tenzij u het
auteurs of de scripts zelf zorgvuldig hebben gecontroleerd.
De Nmap Scripting Engine wordt in detail beschreven op https://nmap.org/book/nse.html en
bestuurd door de volgende opties:
-sC .
Voert een scriptscan uit met behulp van de standaardset scripts. Het is gelijk aan
--script=standaard. Sommige van de scripts in deze categorie worden beschouwd als opdringerig en
mag niet zonder toestemming op een doelnetwerk worden uitgevoerd.
--script bestandsnaam|categorie|directory|uitdrukking[,...] .
Voert een scriptscan uit met behulp van de door komma's gescheiden lijst met bestandsnamen, scriptcategorieën en
mappen. Elk element in de lijst kan ook een Booleaanse uitdrukking zijn die a beschrijft
complexere reeks scripts. Elk element wordt eerst geïnterpreteerd als een uitdrukking, daarna
als een categorie en ten slotte als een bestands- of mapnaam.
Er zijn twee speciale functies alleen voor gevorderde gebruikers. Een daarvan is om scriptnamen vooraf te laten gaan
en uitdrukkingen met + om ze te dwingen te worden uitgevoerd, zelfs als ze dat normaal niet zouden doen (bijv. de
relevante service is niet gedetecteerd op de doelpoort). De andere is dat het argument
all kan worden gebruikt om elk script in de database van Nmap te specificeren. Wees hier voorzichtig mee
omdat NSE gevaarlijke scripts bevat, zoals exploits, brute force-authenticatie
crackers en denial of service-aanvallen.
Bestands- en mapnamen kunnen relatief of absoluut zijn. Er worden absolute namen gebruikt
direct. Relatieve paden worden gezocht in de scripts van elk van de volgende plaatsen
tot gevonden: --gegevensmap
$NMAPDIR.
~/.nmap (niet gezocht op Windows).
HOME\AppData\Roaming\nmap (alleen op Windows).
de directory die het uitvoerbare nmap-bestand bevat
de map met het uitvoerbare nmap-bestand, gevolgd door ../share/nmap
NMAPDATADIR.
de huidige map.
Wanneer een mapnaam wordt gegeven, laadt Nmap elk bestand in de map waarvan de naam eindigt
met .nse. Alle andere bestanden worden genegeerd en mappen worden niet recursief doorzocht. Wanneer
er wordt een bestandsnaam opgegeven, deze hoeft niet de extensie .nse te hebben; het zal worden toegevoegd
automatisch indien nodig. Nmap-scripts worden opgeslagen in een scripts-subdirectory van de Nmap
datadirectory standaard (zie https://nmap.org/book/data-files.html). Voor efficiëntie,
scripts worden geïndexeerd in een database die is opgeslagen in scripts/script.db. waarin de categorie wordt vermeld
of categorieën waartoe elk script behoort. Bij verwijzing naar scripts uit script.db door
naam, kunt u een jokerteken in shell-stijl '*' gebruiken.
nmap --script "http-*"
Laadt alle scripts waarvan de naam begint met http-, zoals http-auth en http-open-proxy.
Het argument om --script moest tussen aanhalingstekens staan om de wildcard tegen de shell te beschermen.
Meer gecompliceerde scriptselectie kan worden gedaan met behulp van de operatoren and, or, and not to
Booleaanse uitdrukkingen bouwen. De exploitanten hebben hetzelfde voorrang[12] zoals in Lua: niet is
de hoogste, gevolgd door en en dan of. U kunt de prioriteit wijzigen door haakjes te gebruiken.
Omdat uitdrukkingen spaties bevatten, is het noodzakelijk om ze tussen aanhalingstekens te plaatsen.
nmap --script "niet opdringerig"
Laadt elk script behalve die in de categorie opdringerig.
nmap --script "standaard or veilig"
Dit is functioneel gelijk aan nmap --script "standaard, veilig". Het laadt alle scripts
die in de standaardcategorie of de veilige categorie of beide vallen.
nmap --script "standaard en veilig"
Laadt de scripts die erin staan zowel de standaard en veilige categorieën.
nmap --script "(standaard or veilig or opdringerig) en niet http-*"
Laadt scripts in de categorieën standaard, veilig of opdringerig, behalve degenen wiens
namen beginnen met http-.
--script-args n1=v1,n2={n3=v3},n4={v4,v5} .
Hiermee kunt u argumenten aan NSE-scripts geven. Argumenten zijn een door komma's gescheiden lijst van
naam=waarde paren. Namen en waarden kunnen tekenreeksen zijn die geen witruimte bevatten of de
tekens '{', '}', '=' of ','. Om een van deze karakters in een string op te nemen,
zet de string tussen enkele of dubbele aanhalingstekens. Binnen een tekenreeks tussen aanhalingstekens ontsnapt '\' aan a
citaat. Een backslash wordt in dit speciale geval alleen gebruikt om aanhalingstekens te ontwijken; in alles
andere gevallen wordt een backslash letterlijk geïnterpreteerd. Waarden kunnen ook ingesloten tabellen zijn
in {}, net als in Lua. Een tabel kan eenvoudige tekenreekswaarden of meer naam-waarde bevatten
paren, inclusief geneste tabellen. Veel scripts kwalificeren hun argumenten met het script
name, zoals in xmpp-info.server_name. U kunt die volledig gekwalificeerde versie gebruiken om invloed uit te oefenen
alleen het opgegeven script, of u kunt de niet-gekwalificeerde versie doorgeven (server_name in
dit geval) om alle scripts die die argumentnaam gebruiken te beïnvloeden. Een script zal eerst controleren
voor zijn volledig gekwalificeerde argumentnaam (de naam die is opgegeven in de documentatie) ervoor
het accepteert een ongekwalificeerde argumentnaam. Een complex voorbeeld van scriptargumenten is
--script-args
'user=foo,pass=",{}=bar",whois={whodb=nofollow+rijp},xmpp-info.server_name=localhost'.
Het online NSE-documentatieportaal op https://nmap.org/nsedoc/ somt de argumenten op
dat elk script accepteert.
--script-args-bestand bestandsnaam .
Hiermee kunt u vanuit een bestand argumenten naar NSE-scripts laden. Eventuele argumenten op de opdrachtregel
vervangen die in het bestand. Het bestand kan een absoluut pad zijn of een relatief pad ten opzichte van
Het gebruikelijke zoekpad van Nmap (NMAPDIR, enz.) Argumenten kunnen worden gescheiden door komma's of
newline-separed, maar volg verder dezelfde regels als voor --script-args, zonder
waarvoor speciale aanhalingstekens en escape-tekens nodig zijn, aangezien ze niet door de shell worden geparseerd.
--script-help bestandsnaam|categorie|directory|uitdrukking|alles[,...] .
Toont hulp over scripts. Voor elk script dat overeenkomt met de gegeven specificatie, wordt Nmap
drukt de scriptnaam, de categorieën en de beschrijving af. De specificaties zijn
dezelfde als die geaccepteerd door --script; dus bijvoorbeeld als je hulp wilt over de
ftp-anon-script, zou je uitvoeren nmap --script-help ftp-anoniem. Naast het krijgen
help voor individuele scripts, kunt u dit gebruiken als een voorbeeld van welke scripts zullen worden uitgevoerd
voor een specificatie, bijvoorbeeld met nmap --script-help verzuim.
--script-trace .
Deze optie doet wat --pakket-trace doet, slechts één ISO-laag hoger. Als deze optie
wordt opgegeven, wordt alle inkomende en uitgaande communicatie die door een script wordt uitgevoerd, afgedrukt.
De weergegeven informatie omvat het communicatieprotocol, de bron, het doel
en de verzonden gegevens. Als meer dan 5% van alle verzonden gegevens niet kan worden afgedrukt,
dan is de trace-uitvoer in een hex-dumpformaat. specificeren --pakket-trace maakt
scripttracering ook.
--script-bijgewerktb .
Deze optie werkt de scriptdatabase bij die wordt gevonden in scripts/script.db en die wordt gebruikt door
Nmap om de beschikbare standaardscripts en categorieën te bepalen. Het is alleen nodig
om de database bij te werken als u standaard NSE-scripts hebt toegevoegd of verwijderd
scripts-directory of als u de categorieën van een script hebt gewijzigd. Deze optie is
over het algemeen alleen gebruikt: nmap --script-bijgewerktb.
TIMING EN PRESTATIES
Een van mijn hoogste Nmap-ontwikkelingsprioriteiten is altijd prestatie geweest. Een standaardscan
(nmap hostname) van een host op mijn lokale netwerk duurt een vijfde van een seconde. Dat is amper
genoeg tijd om te knipperen, maar telt op wanneer u honderden of duizenden hosts scant.
Bovendien kunnen bepaalde scanopties zoals UDP-scanning en versiedetectie toenemen
scantijden aanzienlijk. Dat geldt ook voor bepaalde firewallconfiguraties, met name respons
snelheidsbeperking. Terwijl Nmap parallellisme en veel geavanceerde algoritmen gebruikt om te versnellen
deze scans heeft de gebruiker de ultieme controle over hoe Nmap werkt. Deskundige gebruikers zorgvuldig
maak Nmap-opdrachten om alleen de informatie te verkrijgen waar ze om geven terwijl ze hun ontmoeten
tijdsdruk.
Technieken voor het verbeteren van scantijden zijn onder meer het weglaten van niet-kritieke tests en het upgraden naar
de nieuwste versie van Nmap (er worden regelmatig prestatieverbeteringen aangebracht). optimaliseren
timingparameters kunnen ook een aanzienlijk verschil maken. Die opties staan hieronder vermeld.
Sommige opties accepteren een tijdparameter. Dit wordt standaard in seconden opgegeven, hoewel jij
kan 'ms', 's', 'm' of 'h' aan de waarde toevoegen om milliseconden, seconden, minuten,
of uren. Dus de --host-time-out argumenten 900000ms, 900, 900s en 15m doen allemaal hetzelfde
ding.
--min-hostgroep aantalhosts; --max-hostgroep aantalhosts (Pas de grootte van parallelle scangroepen aan) .
Nmap heeft de mogelijkheid om meerdere hosts parallel te scannen of versies te scannen. Nmap
doet dit door de doel-IP-ruimte in groepen te verdelen en vervolgens één groep per a te scannen
tijd. Over het algemeen zijn grotere groepen efficiënter. Het nadeel is dat host resultaten
kan pas worden verstrekt als de hele groep klaar is. Dus als Nmap begon met een
groepsgrootte van 50, zou de gebruiker geen rapporten ontvangen (behalve de updates
aangeboden in uitgebreide modus) totdat de eerste 50 hosts zijn voltooid.
Nmap neemt standaard een compromisbenadering voor dit conflict. Het begint met een
groepsgrootte zo laag als vijf, dus de eerste resultaten komen snel en nemen daarna toe
groepsgrootte tot wel 1024. De exacte standaardnummers zijn afhankelijk van de gegeven opties.
Om redenen van efficiëntie gebruikt Nmap grotere groepsgroottes voor UDP- of TCP-scans met weinig poorten.
Wanneer een maximale groepsgrootte is opgegeven met --max-hostgroep, zal Nmap nooit overschrijden
die maat. Specificeer een minimale grootte met --min-hostgroep en Nmap zal proberen de groep te behouden
maten boven dat niveau. Het is mogelijk dat Nmap kleinere groepen moet gebruiken dan u opgeeft als die er zijn
zijn er niet genoeg doelhosts over op een bepaalde interface om aan het gespecificeerde te voldoen
minimum. Beide kunnen echter worden ingesteld om de groepsgrootte binnen een bepaald bereik te houden
is zelden gewenst.
Deze opties hebben geen effect tijdens de hostdetectiefase van een scan. Dit
omvat gewone ping-scans (-sn). Hostdetectie werkt altijd in grote groepen hosts
snelheid en nauwkeurigheid te verbeteren.
Het primaire gebruik van deze opties is om een grote minimale groepsgrootte op te geven, zodat de
volledige scan wordt sneller uitgevoerd. Een gebruikelijke keuze is 256 om een netwerk in Klasse C-formaat te scannen
brokken. Voor een scan met veel poorten zal het overschrijden van dat aantal waarschijnlijk niet veel helpen.
Voor scans van slechts een paar poortnummers kunnen hostgroepen van 2048 of meer nuttig zijn.
--min-parallelisme nummerprobes; --max-parallelisme nummerprobes (Pas de parallellisatie van de sonde aan) .
Deze opties regelen het totale aantal sondes dat voor een host kan uitstaan
groep. Ze worden gebruikt voor poortscanning en hostdetectie. Standaard berekent Nmap
een steeds veranderend ideaal parallellisme op basis van netwerkprestaties. Als pakketten worden
weggevallen, vertraagt Nmap en staan minder uitstaande sondes toe. Het ideale sondenummer
stijgt langzaam naarmate het netwerk zichzelf waardig bewijst. Deze opties plaatsen minimaal of
maximumgrenzen voor die variabele. Standaard kan de ideale parallelliteit dalen tot één als
het netwerk blijkt onbetrouwbaar en stijgt tot enkele honderden in perfecte omstandigheden.
Het meest voorkomende gebruik is om in te stellen --min-parallelisme naar een getal hoger dan één om te versnellen
scans van slecht presterende hosts of netwerken. Dit is een riskante optie om mee te spelen,
omdat een te hoge instelling de nauwkeurigheid kan beïnvloeden. Als u dit instelt, vermindert ook het vermogen van Nmap
om parallellisme dynamisch te regelen op basis van netwerkomstandigheden. Een waarde van 10 zou kunnen zijn
redelijk, hoewel ik deze waarde alleen als laatste redmiddel aanpas.
De --max-parallelisme optie is soms ingesteld op één om te voorkomen dat Nmap meer verzendt
dan één sonde tegelijk naar hosts. De --scan-vertraging optie, later besproken, is
een andere manier om dit te doen.
--min-rtt-time-out tijd, --max-rtt-time-out tijd, --initial-rtt-time-out tijd (Stel de sonde af
time-outs).
Nmap houdt een lopende time-outwaarde bij om te bepalen hoe lang het zal wachten op een
sondereactie voordat u de sonde opgeeft of opnieuw verzendt. Dit wordt berekend op basis van
op de reactietijden van eerdere sondes.
Als de netwerklatentie aanzienlijk en variabel blijkt te zijn, kan deze time-out dat wel
oplopen tot enkele seconden. Het begint ook op een conservatief (hoog) niveau en kan blijven
op die manier voor een tijdje wanneer Nmap niet-reagerende hosts scant.
Een lagere specificeren --max-rtt-time-out en --initial-rtt-time-out dan de standaardwaarden kunnen
scantijden aanzienlijk verkorten. Dit geldt met name voor pingloze (-Pn) scannen, en
die tegen zwaar gefilterde netwerken. Wees echter niet te agressief. De scan kan
uiteindelijk duurt het langer als u zo'n lage waarde opgeeft dat veel sondes een time-out krijgen
en opnieuw verzenden terwijl het antwoord onderweg is.
Als alle hosts zich op een lokaal netwerk bevinden, 100 milliseconden (--max-rtt-time-out 100ms) is
een redelijke agressieve waarde. Als er sprake is van routering, ping dan een host op het netwerk
eerst met het ICMP-ping-hulpprogramma of met een aangepaste pakketbewerker zoals Nping. Dat
meer kans om door een firewall te komen. Kijk naar de maximale heen- en terugreistijd
tien pakjes of zo. Misschien wil je dat verdubbelen voor de --initial-rtt-time-out en
verdrievoudig of verviervoudig het voor de --max-rtt-time-out. Ik stel over het algemeen niet het maximum in
RTT onder de 100 ms, ongeacht de ping-tijden. Ik kom ook niet boven de 1000 ms.
--min-rtt-time-out is een zelden gebruikte optie die handig kan zijn als een netwerk zo is
onbetrouwbaar dat zelfs de standaardinstelling van Nmap te agressief is. Omdat Nmap alleen de
time-out tot het minimum wanneer het netwerk betrouwbaar lijkt, deze behoefte is
ongebruikelijk en zou als een bug gerapporteerd moeten worden aan de nmap-dev mailinglijst..
--max-pogingen getallen (Specificeer het maximum aantal hertransmissies van poortscansondes) .
Wanneer Nmap geen reactie ontvangt op een poortscansonde, kan dit betekenen dat de poort dat wel is
gefilterd. Of misschien is de sonde of het antwoord gewoon verloren gegaan op het netwerk. Het is ook
mogelijk dat de doelhost snelheidsbeperking heeft ingeschakeld die de
antwoord. Dus Nmap probeert het opnieuw door de initiële sonde opnieuw te verzenden. Als Nmap detecteert
slechte netwerkbetrouwbaarheid, het kan het nog vele malen proberen voordat het een poort opgeeft. Terwijl
dit komt de nauwkeurigheid ten goede, het verlengt ook de scantijden. Wanneer prestaties cruciaal zijn,
scans kunnen worden versneld door het aantal toegestane hertransmissies te beperken. Je kan zelfs
specificeren --max-pogingen 0 om eventuele heruitzendingen te voorkomen, hoewel dat alleen is
aanbevolen voor situaties zoals informele enquêtes waarbij af en toe een haven wordt gemist en
gastheren zijn acceptabel.
De standaard (met nr -T sjabloon) is om tien heruitzendingen mogelijk te maken. Als er een netwerk lijkt
betrouwbaar en de doelhosts zijn niet snelheidsbeperkend, Nmap doet er meestal maar één
heruitzending. Dus de meeste doelscans worden niet eens beïnvloed door het laten vallen --max-pogingen naar
een lage waarde zoals drie. Dergelijke waarden kunnen scans van langzame (rate
beperkte) gastheren. U verliest meestal wat informatie wanneer Nmap de poorten vroegtijdig opgeeft,
hoewel dat misschien beter is dan het verhuren van de --host-time-out vervallen en alles verliezen
informatie over het doel.
--host-time-out tijd (Geef langzame doelhosts op) .
Sommige hosts nemen gewoon een lang tijd om te scannen. Dit kan te wijten zijn aan slecht presterende of
onbetrouwbare netwerkhardware of -software, beperking van de pakketsnelheid of een restrictieve
firewall. De langzaamste paar procent van de gescande hosts kan een meerderheid van de
scan tijd. Soms is het het beste om uw verliezen te beperken en die hosts in eerste instantie over te slaan.
Specificeren --host-time-out met de maximale hoeveelheid tijd die u bereid bent te wachten. Voor
geef bijvoorbeeld 30m op om ervoor te zorgen dat Nmap niet meer dan een half uur verspilt aan een
enkele gastheer. Merk op dat Nmap mogelijk tegelijkertijd andere hosts scant
een half uur, dus het is geen volledig verlies. Een host die een time-out krijgt, wordt overgeslagen. Geen poort
tabel, OS-detectie of versiedetectieresultaten voor die host worden afgedrukt.
--scan-vertraging tijd; --max-scanvertraging tijd (Pas vertraging tussen sondes aan) .
Deze optie zorgt ervoor dat Nmap ten minste de opgegeven hoeveelheid tijd tussen elke sonde wacht
het stuurt naar een bepaalde host. Dit is vooral handig in het geval van snelheidsbeperking.
Solaris-machines (naast vele andere) reageren meestal op UDP-scansondepakketten
met slechts één ICMP-bericht per seconde. Meer dan dat verzonden door Nmap zal zijn
verkwistend. A --scan-vertraging van 1s zal Nmap op die lage snelheid houden. Nmap probeert te detecteren
snelheidsbeperking en pas de scanvertraging dienovereenkomstig aan, maar het kan geen kwaad om dit te specificeren
expliciet als je al weet welk tarief het beste werkt.
Wanneer Nmap de scanvertraging naar boven bijstelt om met snelheidsbeperking om te gaan, vertraagt de scan
dramatisch naar beneden. De --max-scanvertraging optie specificeert de grootste vertraging die Nmap
zal toestaan. Een lage --max-scanvertraging kan Nmap versnellen, maar het is riskant. Dit instellen
een te lage waarde kan leiden tot verspillende herverzending van pakketten en mogelijk gemiste poorten
wanneer het doelwit een strikte snelheidsbeperking toepast.
een ander gebruik van --scan-vertraging is om op drempel gebaseerde inbraakdetectie te omzeilen en
preventiesystemen (IDS/IPS)..
--min-tarief aantal; --max-tarief aantal (Controleer rechtstreeks de scansnelheid).
De dynamische timing van Nmap is goed in het vinden van een geschikte snelheid
scannen. Soms weet u echter een geschikte scansnelheid voor een
netwerk, of u moet garanderen dat een scan op een bepaalde tijd voltooid zal zijn.
Of misschien moet u voorkomen dat Nmap te snel scant. De --min-tarief en --max-tarief
opties zijn ontworpen voor deze situaties.
Wanneer de --min-tarief optie wordt gegeven Nmap zal zijn best doen om pakketten zo snel als te verzenden
of sneller dan de opgegeven snelheid. Het argument is een positief reëel getal dat a vertegenwoordigt
pakketsnelheid in pakketten per seconde. Bijvoorbeeld specificeren --min-tarief 300 betekent dat
Nmap zal proberen de verzendsnelheid op of boven de 300 pakketten per seconde te houden. specificeren
een minimumtarief weerhoudt Nmap er niet van om sneller te gaan als de omstandigheden dit rechtvaardigen.
Evenzo --max-tarief beperkt de verzendsnelheid van een scan tot een bepaald maximum. Gebruik --max-tarief
100, bijvoorbeeld om het verzenden te beperken tot 100 pakketten per seconde op een snel netwerk. Gebruik
--max-tarief 0.1 voor een langzame scan van één pakket per tien seconden. Gebruik --min-tarief en
--max-tarief samen om de koers binnen een bepaald bereik te houden.
Deze twee opties zijn globaal en hebben betrekking op een volledige scan, niet op individuele hosts. Zij
hebben alleen invloed op poortscans en hostdetectiescans. Andere functies zoals OS-detectie
hun eigen timing toepassen.
Er zijn twee voorwaarden wanneer de werkelijke scansnelheid lager kan zijn dan de gevraagde
minimum. De eerste is als het minimum sneller is dan de hoogste snelheid waarmee Nmap kan
verzenden, dat afhankelijk is van hardware. In dit geval zal Nmap gewoon pakketten verzenden als
snel mogelijk, maar houd er rekening mee dat dergelijke hoge tarieven waarschijnlijk verlies van
nauwkeurigheid. Het tweede geval is wanneer Nmap niets te verzenden heeft, bijvoorbeeld aan het einde van
een scan wanneer de laatste sondes zijn verzonden en Nmap wacht tot ze een time-out hebben of
beantwoord worden. Het is normaal dat de scansnelheid daalt aan het einde van een scan of in
tussen gastgroepen. De verzendsnelheid kan tijdelijk het maximum overschrijden om dit goed te maken
onvoorspelbare vertragingen, maar gemiddeld blijft het tarief op of onder het maximum.
Het specificeren van een minimumtarief dient zorgvuldig te gebeuren. Scannen sneller dan een netwerk kan
ondersteuning kan leiden tot verlies van nauwkeurigheid. In sommige gevallen kan het gebruik van een hoger tarief een
scannen nemen langer dan bij een lagere snelheid. Dit komt omdat Nmap adaptief is
hertransmissie-algoritmen zullen de netwerkcongestie detecteren die wordt veroorzaakt door een overmatige
scansnelheid en verhoog het aantal heruitzendingen om de nauwkeurigheid te verbeteren.
Dus hoewel pakketten sneller worden verzonden, worden er in totaal meer pakketten verzonden. Kap
het aantal heruitzendingen met de --max-pogingen optie als u een
bovengrens van de totale scantijd.
--versla-eerste-tarieflimiet .
Veel hosts gebruiken al lang snelheidsbeperkingen. om het aantal ICMP-foutmeldingen te verminderen
(zoals poortonbereikbare fouten) die ze verzenden. Sommige systemen passen nu een vergelijkbaar tarief toe
limieten aan de RST-pakketten (reset) die ze genereren. Dit kan Nmap dramatisch vertragen
terwijl het zijn timing aanpast om die tarieflimieten weer te geven. U kunt Nmap vertellen om te negeren
die snelheidslimieten (voor poortscans zoals SYN-scan welke niet niet-reagerende behandelen
poorten als open) door op te geven --versla-eerste-tarieflimiet.
Het gebruik van deze optie kan de nauwkeurigheid verminderen, aangezien sommige poorten niet lijken te reageren
omdat Nmap niet lang genoeg heeft gewacht op een RST-reactie met beperkte snelheid. Met een SYN-scan,
de non-respons resulteert erin dat de poort wordt gelabeld als gefilterd in plaats van als gesloten
staat die we zien wanneer RST-pakketten worden ontvangen. Deze optie is handig wanneer het u alleen maar kan schelen
over open poorten, en onderscheid maken tussen gesloten en gefilterde poorten is het niet waard
extra tijd.
--nsock-motor epoll|kqueue|poll|selecteren .
Dwing het gebruik van een bepaalde nsock IO-multiplexing-engine af. Alleen de kiezen(2)-gebaseerde fallback
engine is gegarandeerd beschikbaar op uw systeem. Motoren zijn vernoemd naar de naam
van de IO-beheerfaciliteit die ze gebruiken. Engines die momenteel geïmplementeerd zijn, zijn epoll,
kqueue, poll en select, maar niet alle zullen op elk platform aanwezig zijn. Gebruik nmap -V naar
zien welke motoren worden ondersteund.
-T paranoïde|stiekem|beleefd|normaal|agressief|krankzinnig (Stel een timingsjabloon in) .
Terwijl de fijnmazige timingcontroles die in de vorige sectie zijn besproken, krachtig zijn
en effectief, sommige mensen vinden ze verwarrend. Bovendien, het kiezen van de juiste
waarden kunnen soms meer tijd kosten dan de scan die u probeert te optimaliseren. Dus Nmap
biedt een eenvoudigere aanpak, met zes timingsjablonen. U kunt ze specificeren met de -T
optie en hun nummer (0–5) of hun naam. De sjabloonnamen zijn paranoïde (0),
sneaky (1), beleefd (2), een (3), agressief (4), En krankzinnig (5). De eerste twee zijn
voor IDS-ontduiking. De beleefde modus vertraagt de scan om minder bandbreedte en doel te gebruiken
machine middelen. Normale modus is de standaard en zo -T3 doet niets. Agressieve modus
versnelt scans door ervan uit te gaan dat u redelijk snel bent en
betrouwbaar netwerk. Eindelijk krankzinnige modus. gaat ervan uit dat u op een buitengewoon
snel netwerk of zijn bereid enige nauwkeurigheid op te offeren voor snelheid.
Met deze sjablonen kan de gebruiker specificeren hoe agressief ze willen zijn, terwijl
Nmap verlaten om de exacte timingwaarden te kiezen. De sjablonen maken ook wat kleine snelheid
aanpassingen waarvoor momenteel geen fijnmazige besturingsopties bestaan. Voor
voorbeeld, -T4. verbiedt de dynamische scanvertraging van meer dan 10 ms voor TCP-poorten en
-T5 caps die waarde op 5 ms. Sjablonen kunnen worden gebruikt in combinatie met fijnkorrelig
besturingselementen, en de fijnmazige besturingselementen die u opgeeft, hebben voorrang op de
standaard timingtemplate voor die parameter. Ik raad aan om te gebruiken -T4 bij het scannen
redelijk moderne en betrouwbare netwerken. Behoud die optie, zelfs wanneer u toevoegt
fijnmazige besturingselementen, zodat u profiteert van die extra kleine optimalisaties die het
mogelijk maakt.
Als je een fatsoenlijke breedband- of ethernetverbinding hebt, zou ik altijd aanraden
gebruik -T4. Sommige mensen houden van -T5 hoewel het te agressief is naar mijn smaak. Mensen
specificeer soms -T2 omdat ze denken dat het minder waarschijnlijk is dat hosts crashen of omdat
ze beschouwen zichzelf in het algemeen als beleefd. Ze beseffen vaak niet hoe
traag -T beleefd. echt is. Hun scan kan tien keer langer duren dan een standaardscan.
Machinecrashes en bandbreedteproblemen zijn zeldzaam met de standaard timingopties (-T3)
en dus raad ik dat normaal gesproken aan voor voorzichtige scanners. Het weglaten van versiedetectie is
veel effectiever dan spelen met timingwaarden om deze problemen te verminderen.
Terwijl -T0. en -T1. kan nuttig zijn om IDS-waarschuwingen te vermijden, ze zullen een
buitengewoon lange tijd om duizenden machines of poorten te scannen. Zo lang
scan, geeft u er misschien de voorkeur aan de exacte timingwaarden in te stellen die u nodig hebt in plaats van te vertrouwen op de
ingeblikt -T0 en -T1 waarden.
De belangrijkste effecten van T0 de scan serialiseren zodat slechts één poort tegelijk wordt gescand,
en vijf minuten wachten tussen het verzenden van elke sonde. T1 en T2 zijn vergelijkbaar, maar ze
wacht slechts respectievelijk 15 seconden en 0.4 seconden tussen de sondes. T3. is van Nmap
standaardgedrag, inclusief parallellisatie. -T4 doet het equivalent van
--max-rtt-time-out 1250ms --min-rtt-time-out 100ms --initial-rtt-time-out 500ms
--max-pogingen 6 en stelt de maximale TCP-scanvertraging in op 10 milliseconden. T5 doet de
equivalent van --max-rtt-time-out 300ms --min-rtt-time-out 50ms --initial-rtt-time-out
250ms --max-pogingen 2 --host-time-out 15m evenals het instellen van de maximale TCP-scanvertraging
tot 5 ms.
FIREWALL/IDS ONTRUIMING EN SPOOFEN
Veel internetpioniers stelden zich een wereldwijd open netwerk voor met een universele IP-adresruimte
waardoor virtuele verbindingen tussen twee willekeurige knooppunten mogelijk zijn. Hierdoor kunnen hosts zich als waar gedragen
collega's, die informatie van elkaar dienen en ophalen. Mensen hadden toegang tot alle
hun thuissystemen van het werk, het wijzigen van de instellingen van de klimaatbeheersing of het ontgrendelen van de deuren
voor vroege gasten. Deze visie van universele connectiviteit is verstikt door de adresruimte
tekorten en veiligheidsproblemen. Begin jaren negentig begonnen organisaties met de implementatie
firewalls met het uitdrukkelijke doel de connectiviteit te verminderen. Enorme netwerken werden afgezet
weg van het ongefilterde internet door toepassingsproxy's, netwerkadresvertaling en
pakket filters. De onbeperkte informatiestroom maakte plaats voor een strakke regulering van
goedgekeurde communicatiekanalen en de inhoud die daar overheen gaat.
Netwerkobstakels zoals firewalls kunnen het in kaart brengen van een netwerk buitengewoon moeilijk maken.
Makkelijker zal het er niet op worden, aangezien het verstikken van terloopse verkenning vaak een belangrijk doel is
het implementeren van de apparaten. Desalniettemin biedt Nmap veel functies om deze te helpen begrijpen
complexe netwerken en om te controleren of filters werken zoals bedoeld. Het ondersteunt zelfs
mechanismen om slecht geïmplementeerde verdedigingen te omzeilen. Een van de beste methoden van
het begrijpen van uw netwerkbeveiligingshouding is proberen deze te verslaan. Plaats jezelf in de
mentaliteit van een aanvaller en implementeer technieken uit deze sectie tegen uw netwerken.
Start een FTP-bouncescan, inactieve scan, fragmentatieaanval of probeer er doorheen te tunnelen
van uw eigen volmachten.
Naast het beperken van de netwerkactiviteit, houden bedrijven steeds meer het verkeer in de gaten
met inbraakdetectiesystemen (IDS). Alle grote IDS'en worden geleverd met regels die zijn ontworpen om
Nmap-scans detecteren omdat scans soms een voorbode zijn van aanvallen. Veel van deze
producten zijn onlangs veranderd in inbraak het voorkomen systemen (IPS). dat actief
blokkeer verkeer dat als kwaadaardig wordt beschouwd. Helaas voor netwerkbeheerders en IDS-leveranciers,
het betrouwbaar detecteren van slechte bedoelingen door pakketgegevens te analyseren, is een moeilijk probleem. Aanvallers
met geduld, vaardigheid en de hulp van bepaalde Nmap-opties kunnen IDS'en meestal passeren
onopgemerkt. Ondertussen hebben beheerders te maken met grote aantallen fout-positieven
resultaten waar onschuldige activiteit verkeerd wordt gediagnosticeerd en gewaarschuwd of geblokkeerd.
Af en toe suggereren mensen dat Nmap geen functies zou moeten bieden om firewallregels te omzeilen
of langs IDS'en sluipen. Ze beweren dat deze functies net zo goed kunnen worden misbruikt door
aanvallers zoals gebruikt door beheerders om de beveiliging te verbeteren. Het probleem met deze logica is
dat deze methoden nog steeds zouden worden gebruikt door aanvallers, die gewoon andere tools zouden vinden of
patch de functionaliteit in Nmap. Ondertussen zouden beheerders het zo erg vinden
moeilijker om hun werk te doen. Het inzetten van alleen moderne, gepatchte FTP-servers is veel krachtiger
verdediging dan proberen de distributie van tools te voorkomen die de FTP-bounce implementeren
aanval.
Er is geen magische kogel (of Nmap-optie) voor het detecteren en ondermijnen van firewalls en IDS
systemen. Het vereist vaardigheid en ervaring. Een zelfstudie valt buiten het bestek van deze referentie
gids, die alleen de relevante opties opsomt en beschrijft wat ze doen.
-f (fragmentpakketten); --mtu (met behulp van de opgegeven MTU) .
De -f optie zorgt ervoor dat de aangevraagde scan (inclusief ping-scans) uiterst gefragmenteerd wordt gebruikt
IP-pakketten. Het idee is om de TCP-header op te splitsen over verschillende pakketten om er een te maken
moeilijker te detecteren voor pakketfilters, inbraakdetectiesystemen en andere ergernissen
wat ben je aan het doen. Wees hier voorzichtig mee! Sommige programma's hebben hier moeite mee
kleine pakketjes. De old-school sniffer genaamd Sniffit-segmentatie gaf onmiddellijk een fout
bij ontvangst van het eerste fragment. Geef deze optie één keer op en Nmap splitst het
pakketten in acht bytes of minder na de IP-header. Dus een 20-byte TCP-header zou zijn
opgedeeld in drie pakketten. Twee met acht bytes van de TCP-header en één met de
laatste vier. Natuurlijk heeft elk fragment ook een IP-header. Specificeer -f opnieuw om 16 te gebruiken
bytes per fragment (vermindering van het aantal fragmenten).. Of u kunt uw eigen fragmenten specificeren
offset-formaat met de --mtu keuze. Geef ook niet aan -f als je gebruikt --mtu. De offset
moet een veelvoud van acht zijn. Hoewel gefragmenteerde pakketten niet door pakketfilters en
firewalls die alle IP-fragmenten in de wachtrij plaatsen, zoals de CONFIG_IP_ALWAYS_DEFRAG optie
de Linux-kernel, sommige netwerken kunnen zich de prestaties niet veroorloven die dit veroorzaakt en dus
laat het uitgeschakeld. Anderen kunnen dit niet inschakelen omdat fragmenten er anders uit kunnen zien
routes naar hun netwerken. Sommige bronsystemen defragmenteren uitgaande pakketten in de
pit. Linux met de iptables. module voor het volgen van verbindingen is zo'n voorbeeld. Doe een
scannen terwijl een sniffer zoals Wireshark. wordt uitgevoerd om ervoor te zorgen dat verzonden pakketten zijn
gefragmenteerd. Als uw host-besturingssysteem problemen veroorzaakt, probeer dan de --zend-eth. optie om te omzeilen
de IP-laag en stuur onbewerkte ethernetframes.
Fragmentatie wordt alleen ondersteund voor de onbewerkte pakketfuncties van Nmap, waaronder TCP en
UDP-poortscans (behalve verbindingsscan en FTP-bouncescan) en OS-detectie. Functies
zoals versiedetectie en de Nmap Scripting Engine ondersteunen over het algemeen niet
fragmentatie omdat ze afhankelijk zijn van de TCP-stack van uw host om met het doel te communiceren
services.
-D lokvogel1[,lokvogel2][,MIJ][,...] (Verberg een scan met lokvogels) .
Zorgt ervoor dat er een lokaasscan wordt uitgevoerd, waardoor het voor de externe host lijkt dat de
host(s) die u specificeert als lokvogels scannen ook het doelnetwerk. Aldus hun IDS
rapporteert mogelijk 5-10 poortscans van unieke IP-adressen, maar weet niet welk IP-adres
was ze aan het scannen en dat waren onschuldige lokvogels. Terwijl dit kan worden verslagen door
routerpadtracering, het laten vallen van reacties en andere actieve mechanismen, is het over het algemeen
een effectieve techniek om uw IP-adres te verbergen.
Scheid elke lokaashost met komma's en u kunt optioneel ME gebruiken. als een van de
lokvogels om de positie voor uw echte IP-adres weer te geven. Als je ME in de zesde zet
positie of later, sommige veelgebruikte poortscandetectoren (zoals Solar Designer's.
uitstekende scanlogd). het is onwaarschijnlijk dat uw IP-adres helemaal wordt weergegeven. Als je niet gebruikt
ME, Nmap zal je in een willekeurige positie plaatsen. U kunt ook RND gebruiken. om een te genereren
willekeurig, niet-gereserveerd IP-adres of RND:aantal genereren aantal adressen.
Houd er rekening mee dat de hosts die u als lokvogels gebruikt, actief moeten zijn, anders kunt u per ongeluk SYN overstromen
uw doelen. Het zal ook vrij eenvoudig zijn om te bepalen welke host aan het scannen is, al was het maar
een is daadwerkelijk op het netwerk. Misschien wilt u IP-adressen gebruiken in plaats van namen
(zodat de loknetwerken je niet zien in hun nameserver-logboeken).
Lokvogels worden zowel gebruikt bij de initiële ping-scan (met ICMP, SYN, ACK of wat dan ook) als
tijdens de eigenlijke poortscanfase. Lokvogels worden ook gebruikt tijdens detectie van besturingssystemen op afstand
(-O). Lokvogels werken niet met versiedetectie of TCP-verbindingsscan. Wanneer een scanvertraging
van kracht is, wordt de vertraging afgedwongen tussen elke partij vervalste sondes, niet tussen
elke afzonderlijke sonde. Omdat lokvogels in één keer als een batch worden verzonden, is dat mogelijk
tijdelijk de limieten voor congestiecontrole overtreden.
Het is vermeldenswaard dat het gebruik van te veel lokvogels uw scan kan vertragen en mogelijk zelfs
maak het minder nauwkeurig. Ook zullen sommige ISP's uw vervalste pakketten eruit filteren, maar veel
beperk spoofed IP-pakketten helemaal niet.
-S IP adres (Spoof-bronadres).
In sommige omstandigheden kan Nmap uw bronadres (Nmap
zal u vertellen of dit het geval is). Gebruik in deze situatie -S met het IP-adres van
de interface waar u pakketten doorheen wilt sturen.
Een ander mogelijk gebruik van deze vlag is om de scan te vervalsen om de doelen dat te laten denken
iemand anders is ze aan het scannen. Stel je voor dat een bedrijf herhaaldelijk wordt gescand door een
concurrent! De -e optie en -Pn zijn over het algemeen vereist voor dit soort gebruik. Opmerking
dat u meestal geen antwoordpakketten terugkrijgt (ze worden geadresseerd aan het IP
je bent aan het spoofen), dus Nmap zal geen bruikbare rapporten produceren.
-e interface (Gebruik gespecificeerde interface) .
Vertelt Nmap op welke interface pakketten moeten worden verzonden en ontvangen. Nmap zou dat moeten kunnen
detecteert dit automatisch, maar het zal u vertellen of dit niet kan.
--bron-poort poortnummer; -g poortnummer (Spoof-bronpoortnummer) .
Een verrassend veel voorkomende verkeerde configuratie is om verkeer alleen te vertrouwen op basis van de bron
poortnummer. Het is gemakkelijk te begrijpen hoe dit komt. Een beheerder zal instellen
een glimmende nieuwe firewall opzetten, alleen om te worden overspoeld met klachten van ondankbare gebruikers
wiens applicaties niet meer werken. Met name DNS kan worden verbroken omdat de UDP
DNS-antwoorden van externe servers kunnen het netwerk niet meer binnenkomen. FTP is een andere
algemeen voorbeeld. Bij actieve FTP-overdrachten probeert de externe server een
verbinding terug naar de client om het gevraagde bestand over te dragen.
Er bestaan veilige oplossingen voor deze problemen, vaak in de vorm van applicatieniveau
proxy's of firewallmodules die protocollen parseren. Helaas zijn er ook makkelijkere,
onveilige oplossingen. Merk op dat DNS-antwoorden afkomstig zijn van poort 53 en actieve FTP van poort
20 zijn veel beheerders in de val getrapt om gewoon inkomend verkeer toe te staan
van die havens. Ze gaan er vaak van uit dat geen enkele aanvaller dit zou opmerken en misbruiken
firewall gaten. In andere gevallen beschouwen beheerders dit als een noodoplossing voor de korte termijn
meten totdat ze een veiligere oplossing kunnen implementeren. Dan vergeten ze de beveiliging
upgrade.
Overwerkte netwerkbeheerders zijn niet de enigen die in deze val trappen.
Er zijn talloze producten verzonden met deze onveilige regels. Zelfs Microsoft is geweest
schuldig. De IPsec-filters die bij Windows 2000 en Windows XP werden geleverd, bevatten een
impliciete regel die al het TCP- of UDP-verkeer vanaf poort 88 (Kerberos) toestaat. In een andere
bekende zaak, versies van de persoonlijke firewall van Zone Alarm tot 2.1.25 toegestaan
inkomende UDP-pakketten met de bronpoort 53 (DNS) of 67 (DHCP).
Nmap biedt de -g en --bron-poort opties (ze zijn gelijkwaardig) om deze te exploiteren
zwakke punten. Geef gewoon een poortnummer op en Nmap verzendt pakketten vanaf die poort
waar mogelijk. De meeste scanbewerkingen die raw-sockets gebruiken, waaronder SYN en UDP
scans, ondersteun de optie volledig. De optie heeft met name geen effect op
alle bewerkingen die normale sockets van het besturingssysteem gebruiken, inclusief DNS-verzoeken, TCP
verbinden scannen,. versiedetectie en scriptscanning. Ook de bronpoort instellen
werkt niet voor OS-detectie, omdat Nmap daarvoor verschillende poortnummers moet gebruiken
bepaalde OS-detectietests correct werken.
--gegevens hex snaar (Voeg aangepaste binaire gegevens toe aan verzonden pakketten) .
Met deze optie kunt u binaire gegevens opnemen als payload in verzonden pakketten. hex snaar mei
worden gespecificeerd in een van de volgende formaten: 0xAABBCCDDEEFF..., AABBCCDDEEFF... or
\xAA\xBB\xCC\xDD\xEE\xFF.... Gebruiksvoorbeelden zijn --gegevens 0xdoodvlees en --gegevens
\xCA\xFE\x09. Houd er rekening mee dat als u een getal als 0x00ff opgeeft, er geen bytevolgordeconversie plaatsvindt
is uitgevoerd. Zorg ervoor dat u de informatie opgeeft in de bytevolgorde die wordt verwacht door de
ontvanger.
--gegevensreeks snaar (Voeg aangepaste tekenreeks toe aan verzonden pakketten) .
Met deze optie kunt u een normale tekenreeks opnemen als payload in verzonden pakketten. snaar blikje
elke tekenreeks bevatten. Houd er echter rekening mee dat sommige tekens afhankelijk kunnen zijn van die van uw systeem
locale en de ontvanger zien mogelijk niet dezelfde informatie. Zorg er ook voor dat je insluit
de string tussen dubbele aanhalingstekens en ontwijk eventuele speciale tekens uit de shell.
Voorbeelden: --gegevensreeks "Scannen uitgevoerd by Veiligheid Oeps, uitbreiding 7192 " or
--gegevensreeks "Ph34r my l33t vaardigheden". Houd er rekening mee dat waarschijnlijk niemand dat daadwerkelijk zal doen
bekijk eventuele opmerkingen die door deze optie zijn achtergelaten, tenzij ze het netwerk nauwlettend in de gaten houden
met een sniffer of aangepaste IDS-regels.
--data-lengte aantal (Voeg willekeurige gegevens toe aan verzonden pakketten) .
Normaal gesproken stuurt Nmap minimalistische pakketten die alleen een header bevatten. Dus zijn TCP-pakketten
zijn over het algemeen 40 bytes en ICMP-echoverzoeken zijn slechts 28. Sommige UDP-poorten. en IP
protocollen. krijg standaard een aangepaste payload. Deze optie vertelt Nmap om het
gegeven aantal willekeurige bytes aan de meeste pakketten die het verzendt, en om er geen te gebruiken
protocolspecifieke payloads. (Gebruik --data-lengte 0 voor geen willekeurig of protocolspecifiek
payloads.. OS-detectie (-O) pakketten worden niet beïnvloed. omdat nauwkeurigheid daar
vereist sondeconsistentie, maar de meeste ping- en portscan-pakketten ondersteunen dit. Het
vertraagt de zaken een beetje, maar kan een scan iets minder opvallend maken.
--ip-opties S|R [route]|L [route]|T|U ... ; --ip-opties hex snaar (Stuur pakketjes mee
gespecificeerde ip-opties).
De IP protocol[13] biedt verschillende opties die in pakketkoppen kunnen worden geplaatst.
In tegenstelling tot de alomtegenwoordige TCP-opties, worden IP-opties zelden gezien vanwege praktische redenen en
veiligheidsoverwegingen. Veel internetrouters blokkeren zelfs de gevaarlijkste opties
zoals bronroutering. Toch kunnen opties in sommige gevallen nog nuttig zijn om te bepalen
en het manipuleren van de netwerkroute naar doelmachines. U kunt het bijvoorbeeld wel
gebruik de record route-optie om een pad naar een doel te bepalen, zelfs als het meer traditioneel is
benaderingen in traceroute-stijl mislukken. Of als uw pakketten door een bepaalde persoon worden gedropt
firewall, kunt u mogelijk een andere route specificeren met de strikte of losse broncode
routing opties.
De krachtigste manier om IP-opties te specificeren, is door simpelweg waarden door te geven als de
argument voor --ip-opties. Laat elk hexadecimaal getal voorafgaan door \x en daarna de twee cijfers. Je kan
herhaal bepaalde karakters door ze te volgen met een sterretje en dan het aantal
keer dat u ze wilt herhalen. \x01\x07\x04\x00*36\x01 is bijvoorbeeld een hexadecimale tekenreeks
met 36 NUL-bytes.
Nmap biedt ook een snelkoppelingsmechanisme voor het specificeren van opties. Geef gewoon de brief door
R, T of U om een recordroute aan te vragen. record-tijdstempel,. of beide opties samen,
respectievelijk. Losse of strikte bronroutering. kan worden gespecificeerd met een L of S
gevolgd door een spatie en vervolgens een door spaties gescheiden lijst met IP-adressen.
Als u de opties in verzonden en ontvangen pakketten wilt zien, geeft u dit op --pakket-trace.
Zie voor meer informatie en voorbeelden van het gebruik van IP-opties met Nmap
http://seclists.org/nmap-dev/2006/q3/52.
--ttl waarde (Set IP time-to-live veld) .
Stelt het veld IPv4 time-to-live in verzonden pakketten in op de opgegeven waarde.
--randomize-hosts (Willekeurige doelhostvolgorde) .
Vertelt Nmap om elke groep van maximaal 16384 hosts in willekeurige volgorde af te spelen voordat ze worden gescand. Dit kan
maken de scans minder duidelijk voor verschillende netwerkbewakingssystemen, vooral wanneer u
combineer het met opties voor langzame timing. Als u wilt randomiseren over grotere groepsgroottes,
toename PING_GROUP_SZ. in nmap.h. en opnieuw compileren. Een alternatieve oplossing is om
genereer de doel-IP-lijst met een lijstscan (-sL -n -op bestandsnaam), randomiseer het met
een Perl-script en geef vervolgens de hele lijst door aan Nmap -iL..
--spoof-mac MAC-adres adres, voorvoegsel, or verkoper naam (Spoof MAC-adres).
Vraagt Nmap om het opgegeven MAC-adres te gebruiken voor alle onbewerkte ethernetframes die het verzendt.
Deze optie houdt in: --zend-eth. om ervoor te zorgen dat Nmap daadwerkelijk op ethernetniveau verzendt
pakketten. De gegeven MAC kan verschillende formaten aannemen. Als het gewoon het getal 0 is, Nmap
kiest een volledig willekeurig MAC-adres voor de sessie. Als de gegeven string een
even aantal hexadecimale cijfers (met de paren optioneel gescheiden door een dubbele punt), zal Nmap
gebruik die als de MAC. Als er minder dan 12 hexadecimale cijfers worden opgegeven, vult Nmap het
rest van de zes bytes met willekeurige waarden. Als het argument geen nul of hex is
string, zoekt Nmap door nmap-mac-prefixen om een leveranciersnaam te vinden die de
gegeven string (deze is niet hoofdlettergevoelig). Als er een overeenkomst wordt gevonden, gebruikt Nmap de OUI van de leverancier
(prefix van drie bytes). en vult de resterende drie bytes willekeurig in. Geldig
--spoof-mac voorbeelden van argumenten zijn Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2,
en Cisco. Deze optie is alleen van invloed op onbewerkte pakketscans zoals SYN-scan of OS-detectie,
niet-verbindingsgerichte functies zoals versiedetectie of de Nmap Scripting
Motor.
--volmachten Kommagescheiden lijst of volmacht URL's (Relay TCP-verbindingen via een keten van
volmachten).
Vraagt Nmap om TCP-verbindingen tot stand te brengen met een einddoel via de geleverde keten van
een of meer HTTP- of SOCKS4-proxy's. Proxy's kunnen helpen de ware bron van een scan te verbergen of
omzeilen bepaalde firewallbeperkingen, maar ze kunnen de scanprestaties belemmeren door
toenemende latentie. Gebruikers moeten mogelijk Nmap-time-outs en andere scanparameters aanpassen
overeenkomstig. Met name een lagere --max-parallelisme kan helpen omdat sommige proxy's
weiger om zoveel gelijktijdige verbindingen te verwerken als Nmap standaard opent.
Deze optie neemt een lijst met proxy's als argument, uitgedrukt als URL's in de indeling
proto://host:poort. Gebruik komma's om knooppunt-URL's in een keten te scheiden. Er is geen authenticatie
nog niet ondersteund. Geldige protocollen zijn HTTP en SOCKS4.
Waarschuwing: deze functie is nog in ontwikkeling en heeft beperkingen. Het is
geïmplementeerd in de nsock-bibliotheek en heeft dus geen effect op de ping, poortscanning
en OS-ontdekkingsfasen van een scan. Alleen NSE en versiescan profiteren van deze optie
tot nu toe - andere functies kunnen uw echte adres onthullen. SSL-verbindingen zijn er nog niet
ondersteund, evenmin als proxy-side DNS-omzetting (hostnamen worden altijd opgelost door Nmap).
--badsom (Stuur pakketten met valse TCP/UDP-controlesommen) .
Vraagt Nmap om een ongeldige TCP-, UDP- of SCTP-controlesom te gebruiken voor pakketten die naar het doel worden verzonden
gastheren. Aangezien vrijwel alle host-IP-stacks deze pakketten op de juiste manier laten vallen, worden alle antwoorden
ontvangen zijn waarschijnlijk afkomstig van een firewall of IDS die niet de moeite heeft genomen om de
controlesom. Zie voor meer informatie over deze techniek https://nmap.org/p60-12.html
--adler32 (Gebruik verouderde Adler32 in plaats van CRC32C voor SCTP-controlesommen) .
Vraagt Nmap om het verouderde Adler32-algoritme te gebruiken voor het berekenen van de SCTP-controlesom.
If --adler32 niet wordt gegeven, wordt CRC-32C (Castagnoli) gebruikt. RFC 2960[14] oorspronkelijk
definieerde Adler32 als checksum-algoritme voor SCTP; RFC 4960[7] heeft later de SCTP opnieuw gedefinieerd
checksums om CRC-32C te gebruiken. Huidige SCTP-implementaties zouden CRC-32C moeten gebruiken, maar in
om reacties van oude, verouderde SCTP-implementaties op te wekken, kan dit de voorkeur hebben
om Adler32 te gebruiken.
OUTPUT
Elk beveiligingshulpmiddel is slechts zo nuttig als de output die het genereert. Complexe tests en
algoritmen hebben weinig waarde als ze niet georganiseerd en begrijpelijk worden gepresenteerd
mode. Gezien het aantal manieren waarop Nmap door mensen en andere software wordt gebruikt, geen enkele
formaat kan iedereen tevreden stellen. Nmap biedt dus verschillende formaten, waaronder de interactieve modus
voor mensen om direct te lezen en XML voor eenvoudige ontleding door software.
Naast het aanbieden van verschillende uitvoerformaten, biedt Nmap opties voor besturing
de breedsprakigheid van uitvoer en het debuggen van berichten. Uitvoertypes kunnen worden verzonden naar
standaarduitvoer of naar bestanden met een naam, die Nmap kan toevoegen of bewerken. Uitvoerbestanden kunnen
ook worden gebruikt om afgebroken scans te hervatten.
Nmap maakt uitvoer beschikbaar in vijf verschillende formaten. De standaard wordt interactief genoemd
uitvoer,. en het wordt verzonden naar standaarduitvoer (stdout). Er is ook normale uitvoer.
wat vergelijkbaar is met interactief, behalve dat het minder runtime-informatie weergeeft en
waarschuwingen omdat verwacht wordt dat het wordt geanalyseerd nadat de scan is voltooid in plaats van
interactief.
XML-uitvoer. is een van de belangrijkste uitvoertypes, omdat het kan worden geconverteerd naar HTML,
gemakkelijk geparseerd door programma's zoals grafische gebruikersinterfaces van Nmap, of geïmporteerd in
databases.
De twee overige uitvoertypes zijn de eenvoudige uitvoerbare uitvoer. waar de meeste in zitten
informatie voor een doelhost op een enkele regel, en sCRiPt KiDDi3 0utPUt. voor gebruikers die
beschouwen zichzelf als |<-r4d.
Hoewel interactieve uitvoer de standaard is en geen bijbehorende opdrachtregelopties heeft, is de
andere vier formaatopties gebruiken dezelfde syntaxis. Ze nemen één argument, namelijk de
bestandsnaam waarin de resultaten moeten worden opgeslagen. Er kunnen meerdere indelingen worden opgegeven, maar elk
formaat mag maar één keer worden opgegeven. U wilt bijvoorbeeld de normale uitvoer opslaan voor
uw eigen beoordeling terwijl u XML van dezelfde scan opslaat voor programmatische analyse. Misschien wel
dit met de opties -os mijnscan.xml -op mijnscan.nmap. Hoewel dit hoofdstuk de simple
namen zoals myscan.xml voor beknoptheid, meer beschrijvende namen worden over het algemeen aanbevolen. De
gekozen namen zijn een kwestie van persoonlijke voorkeur, hoewel ik lange namen gebruik die erin zijn verwerkt
de scandatum en een woord of twee die de scan beschrijven, geplaatst in een map vernoemd naar de
bedrijf dat ik aan het scannen ben.
Hoewel deze opties resultaten in bestanden opslaan, drukt Nmap nog steeds interactieve uitvoer af naar stdout
zoals gewoonlijk. Bijvoorbeeld de opdracht nmap -os mijnscan.xml doel drukt XML af naar myscan.xml en
vult standaarduitvoer met dezelfde interactieve resultaten die het zou hebben afgedrukt als -os
werd helemaal niet gespecificeerd. U kunt dit wijzigen door een koppelteken als argument door te geven
naar een van de formaattypes. Dit zorgt ervoor dat Nmap interactieve uitvoer deactiveert, en in plaats daarvan
druk resultaten af in de indeling die u hebt opgegeven voor de standaarduitvoerstroom. Dus de opdracht
nmap -os - doel zal alleen XML-uitvoer naar stdout sturen. Er kunnen nog steeds ernstige fouten zijn
afgedrukt naar de normale foutstroom, stderr..
In tegenstelling tot sommige Nmap-argumenten, is de spatie tussen de logfile-optievlag (zoals -os) en
de bestandsnaam of het koppelteken is verplicht. Als je de vlaggen weglaat en argumenten geeft zoals -oG-
or -oXscan.xml, zorgt een achterwaartse compatibiliteitsfunctie van Nmap ervoor dat
een formaat uitvoerbestanden genaamd respectievelijk G- en Xscan.xml.
Al deze argumenten ondersteunen tijd-leuk vinden. conversies in de bestandsnaam. %H, %M, %S,
%m, %d, %y en %Y zijn allemaal precies hetzelfde als in tijd. %T is hetzelfde als %H%M%S, %R
is hetzelfde als %H%M, en %D is hetzelfde als %m%d%y. Een % gevolgd door een ander teken
levert gewoon dat teken op (%% geeft je een procentsymbool). Dus -os 'scan-%T-%D.xml' wil
gebruik een XML-bestand met een naam in de vorm scan-144840-121307.xml.
Nmap biedt ook opties om de breedsprakigheid van scans te regelen en in plaats daarvan toe te voegen aan uitvoerbestanden
dan ze in elkaar te slaan. Al deze opties worden hieronder beschreven.
Nmap uitgang Formaten
-op bestandsspecificatie (normale uitvoer).
Verzoekt dat de normale uitvoer wordt omgeleid naar de opgegeven bestandsnaam. Zoals hierboven besproken,
dit wijkt enigszins af van interactieve uitvoer.
-os bestandsspecificatie (XML-uitvoer).
Verzoekt dat XML-uitvoer wordt omgeleid naar de opgegeven bestandsnaam. Nmap bevat een document
type definition (DTD) waarmee XML-parsers Nmap XML-uitvoer kunnen valideren. Terwijl het
is in de eerste plaats bedoeld voor programmatisch gebruik, het kan mensen ook helpen Nmap XML te interpreteren
uitgang. De DTD definieert de juridische elementen van het formaat en somt vaak de
attributen en waarden die ze kunnen aannemen. De laatste versie is altijd beschikbaar vanaf
https://svn.nmap.org/nmap/docs/nmap.dtd.
XML biedt een stabiel formaat dat gemakkelijk door software kan worden geparseerd. Gratis XML-parsers zijn
beschikbaar voor alle belangrijke computertalen, waaronder C/C++, Perl, Python en Java.
Mensen hebben zelfs bindingen geschreven voor de meeste van deze talen om Nmap-uitvoer te verwerken
en uitvoering specifiek. Voorbeelden zijn Nmap::Scanner[15]. En Nmap::Ontleder[16]. in
Perl CPAN. In bijna alle gevallen dat een niet-triviale applicatie een interface heeft met Nmap,
XML is het voorkeursformaat.
De XML-uitvoer verwijst naar een XSL-stylesheet die kan worden gebruikt om de resultaten op te maken als
HTML. De eenvoudigste manier om dit te gebruiken, is door de XML-uitvoer eenvoudig in een webbrowser te laden
zoals Firefox of IE. Standaard werkt dit alleen op de machine waarop u Nmap hebt uitgevoerd
(of een vergelijkbare configuratie) vanwege het hardgecodeerde bestandssysteempad nmap.xsl. Gebruik
the --webxml or --stijlblad opties om draagbare XML-bestanden te maken die worden weergegeven als HTML
op elke met internet verbonden machine.
-OS bestandsspecificatie (ScRipT KIDD|3 UITGANG) .
Scriptkiddie-uitvoer is als interactieve uitvoer, behalve dat het wordt nabewerkt
past beter bij de l33t HaXXorZ die eerder neerkeek op Nmap vanwege de consistentie
hoofdlettergebruik en spelling. Mensen met een humoristische beperking moeten er rekening mee houden dat deze optie dat wel is
de spot drijven met de scriptkiddies voordat ze me uitscholden omdat ik zogenaamd "hen hielp".
-oG bestandsspecificatie (grijpbare uitvoer).
Dit uitvoerformaat wordt als laatste behandeld omdat het verouderd is. Het XML-uitvoerformaat is
veel krachtiger en bijna net zo handig voor ervaren gebruikers. xml is een
standaard waarvoor tientallen uitstekende parsers beschikbaar zijn, terwijl uitvoerbare uitvoer dat wel is
mijn eigen simpele hack. XML is uitbreidbaar om nieuwe Nmap-functies te ondersteunen zoals ze zijn
vrijgegeven, terwijl ik die functies vaak moet weglaten uit uitvoerbare uitvoer bij gebrek aan een
plek om ze neer te zetten.
Desalniettemin is grijpbare uitvoer nog steeds behoorlijk populair. Het is een eenvoudig formaat dat lijsten
elke host op één regel en kan triviaal worden doorzocht en geparseerd met standaard Unix
tools zoals grep, awk, cut, sed, diff en Perl. Zelfs ik gebruik het meestal voor eenmalig
tests uitgevoerd op de opdrachtregel. Alle hosts vinden met de SSH-poort open of zo
draaien Solaris heeft slechts een simpele grep nodig om de hosts te identificeren, doorgesluisd naar een awk of
cut-opdracht om de gewenste velden af te drukken.
Grepable-uitvoer bestaat uit commentaar (regels die beginnen met een hekje (#)). en doel
lijnen. Een doelregel bevat een combinatie van zes gelabelde velden, gescheiden door tabs
en gevolgd door een dubbele punt. De velden zijn Host, Poorten, Protocollen, Genegeerde status, OS,
Seq-index, IP-ID en status.
De belangrijkste van deze velden is over het algemeen Ports, die details over elk geeft
interessante haven. Het is een door komma's gescheiden lijst met poortvermeldingen. Elke poortinvoer
vertegenwoordigt één interessante poort en heeft de vorm van zeven schuine streep (/) gescheiden
subvelden. Die subvelden zijn: Poortnummer, Staat, Protocol, Eigenaar, Service, SunRPC
info en versie-info.
Net als bij XML-uitvoer, staat deze man-pagina het niet toe om het volledige formaat te documenteren. A
meer gedetailleerde kijk op het Nmap grepable uitvoerformaat is beschikbaar vanaf
https://nmap.org/book/output-formats-grepable-output.html.
-oA basisnaam (Uitvoer naar alle formaten) .
Voor het gemak kunt u specificeren -oA basisnaam om scanresultaten op te slaan in normaal, XML,
en grepable formaten in een keer. Ze zijn erin opgeslagen basisnaam.nmap, basisnaam.xml, en
basisnaam.gnmap, respectievelijk. Zoals bij de meeste programma's, kunt u de bestandsnamen laten voorafgaan door
een mappad, zoals ~/nmaplogs/foocorp/ op Unix of c:\hacking\sco op Windows.
Breedsprakigheid en debugging opties
-v (Verhoog breedsprakigheidsniveau) .
Verhoogt het breedsprakigheidsniveau, waardoor Nmap meer informatie over de scan afdrukt
bezig. Open poorten worden weergegeven zoals ze zijn gevonden en schattingen van de voltooiingstijd zijn
verstrekt wanneer Nmap denkt dat een scan meer dan een paar minuten zal duren. Gebruik het twee keer of
meer voor nog meer breedsprakigheid: -vv, of geef bijvoorbeeld direct een breedsprakigheidsniveau
-v3..
De meeste wijzigingen zijn alleen van invloed op interactieve uitvoer, en sommige hebben ook invloed op normaal en script
kinderoutput. De andere uitvoertypen zijn bedoeld om door machines te worden verwerkt, dus Nmap
kan in die formaten standaard substantiële details geven zonder een mens te vermoeien
gebruiker. Er zijn echter enkele wijzigingen in andere modi waarbij de uitvoergrootte kan worden verkleind
grotendeels door een detail weg te laten. Bijvoorbeeld een commentaarregel in het bestand grepable
uitvoer met een lijst van alle gescande poorten wordt alleen in uitgebreide modus afgedrukt
want het kan best lang duren.
-d (Verhoog foutopsporingsniveau) .
Wanneer zelfs de uitgebreide modus niet voldoende gegevens voor u levert, is foutopsporing beschikbaar
om je met veel meer te overspoelen! Net als bij de breedsprakigheidsoptie (-v), is foutopsporing ingeschakeld
met een opdrachtregelvlag (-d) en het foutopsporingsniveau kan worden verhoogd door het op te geven
meerdere keren,. als in -ddof door direct een niveau in te stellen. Bijvoorbeeld, -d9 sets
niveau negen. Dat is het hoogste effectieve niveau en levert duizenden regels op
tenzij u een zeer eenvoudige scan uitvoert met zeer weinig poorten en doelen.
Debugging-uitvoer is handig wanneer een bug wordt vermoed in Nmap, of als u dat gewoon bent
verward over wat Nmap doet en waarom. Daar is deze functie vooral voor bedoeld
ontwikkelaars, zijn foutopsporingsregels niet altijd vanzelfsprekend. U kunt iets krijgen als:
Time-outwaarden: srtt: -1 rttvar: -1 tot: 1000000 delta 14987 ==> srtt: 14987 rttvar:
14987 naar: 100000. Als u een regel niet begrijpt, kunt u deze alleen negeren
het, zoek het op in de broncode of vraag hulp uit de ontwikkelingslijst
(nmap-dev).. Sommige regels spreken voor zich, maar de berichten worden onduidelijker naarmate
het foutopsporingsniveau wordt verhoogd.
--reden (Host- en poortstatusredenen) .
Toont de reden waarom elke poort is ingesteld op een specifieke status en de reden waarom elke host actief is
of naar beneden. Deze optie geeft het type pakket weer dat een poort of hosts heeft bepaald
staat. Bijvoorbeeld een RST-pakket van een gesloten poort of een echo-antwoord van een levend
gastheer. De informatie die Nmap kan leveren, wordt bepaald door het type scan of ping. De
SYN-scan en SYN-ping (-H.H en -PS) zijn zeer gedetailleerd, maar de TCP connect-scan (-st)
wordt beperkt door de uitvoering van de verbinden systeem oproep. Deze functie is
automatisch ingeschakeld door de foutopsporingsoptie (-d). en de resultaten worden opgeslagen in XML-logboek
bestanden, zelfs als deze optie niet is opgegeven.
--statistieken-elke tijd (Druk periodieke timingstatistieken af) .
Drukt periodiek een timingstatusbericht af na elk interval van tijd. De tijd is een
specificatie van het type beschreven in de sectie genaamd "TIMING EN PRESTATIE"; Dus
bijvoorbeeld gebruiken --statistieken-elke 10s om elke 10 seconden een statusupdate te krijgen. Updates
worden afgedrukt naar interactieve uitvoer (het scherm) en XML-uitvoer.
--pakket-trace (Traceer pakketten en verzonden en ontvangen gegevens).
Zorgt ervoor dat Nmap een samenvatting afdrukt van elk verzonden of ontvangen pakket. Hier wordt vaak gebruik van gemaakt
voor foutopsporing, maar is ook een waardevolle manier voor nieuwe gebruikers om precies te begrijpen wat
Nmap doet onder de dekens. Om te voorkomen dat u duizenden regels afdrukt, kunt u dit het beste doen
specificeer een beperkt aantal poorten om te scannen, zoals - p20-30. Als je alleen om de
reilen en zeilen van het versiedetectiesubsysteem, use --versie-trace in plaats van. Als je alleen
geef om scripttracering, specificeer --script-trace. Met --pakket-trace, je krijgt alles
Bovenstaande.
--open (Toon alleen open (of mogelijk open) poorten) .
Soms geeft u alleen om poorten waarmee u daadwerkelijk verbinding kunt maken (open poorten), en niet
resultaten willen die vol zitten met gesloten, gefilterde en gesloten|gefilterde poorten. Uitgang
aanpassing wordt normaal gesproken gedaan na de scan met behulp van tools zoals grep, awk en Perl,
maar deze functie is toegevoegd vanwege overweldigende verzoeken. Specificeer --open alleen te zien
hosts met ten minste één open, open|gefilterde of ongefilterde poort en zien alleen poorten in
die staten. Deze drie staten worden behandeld zoals ze normaal zijn, wat betekent
dat open|gefilterd en ongefilterd kan worden gecondenseerd in tellingen als er een is
overweldigend aantal van hen.
--iflijst (Lijst interfaces en routes) .
Drukt de interfacelijst en systeemroutes af zoals gedetecteerd door Nmap. Dit is handig voor
debuggen van routeringsproblemen of verkeerde karakterisering van apparaten (zoals Nmap die een PPP
verbinding als ethernet).
Diversen uitvoer opties
--toevoegen-uitvoer (Voeg toe aan uitvoerbestanden in plaats van te vertroebelen) .
Wanneer u een bestandsnaam opgeeft voor een uitvoerformaatvlag zoals -os or -op, dat bestand is
standaard overschreven. Als u liever de bestaande inhoud van het bestand en
voeg de nieuwe resultaten toe, specificeer de --toevoegen-uitvoer keuze. Alle uitvoerbestandsnamen
gespecificeerd in die Nmap-uitvoering zal dan worden toegevoegd aan in plaats van gecomprimeerd. Dit
werkt niet goed voor XML (-os) scangegevens omdat het resulterende bestand over het algemeen niet zal worden geparseerd
goed totdat u het met de hand repareert.
--hervat bestandsnaam (Hervat afgebroken scan) .
Sommige uitgebreide Nmap-runs duren erg lang, in de orde van dagen. Zulke scans doen dat niet
loopt altijd tot het einde. Beperkingen kunnen voorkomen dat Nmap wordt uitgevoerd tijdens het werken
uren kan het netwerk uitvallen, kan de machine waarop Nmap draait een
geplande of ongeplande herstart, of Nmap zelf kan crashen. De beheerder loopt
Nmap kan het ook om een andere reden annuleren door op ctrl-C te drukken. Het herstarten van de
hele scan vanaf het begin kan ongewenst zijn. Gelukkig, als normaal (-op) Of
grijpbaar (-oG) logs werden bijgehouden, kan de gebruiker Nmap vragen om het scannen te hervatten met de
doelwit waaraan het werkte toen de uitvoering stopte. Specificeer gewoon de --hervat optie en
geef het normale/grepable-uitvoerbestand door als argument. Andere argumenten zijn er niet
toegestaan, aangezien Nmap het uitvoerbestand ontleedt om dezelfde eerder gespecificeerde te gebruiken.
Noem gewoon Nmap as nmap --hervat logbestandsnaam. Nmap zal nieuwe resultaten toevoegen aan het
gegevensbestanden die zijn opgegeven in de vorige uitvoering. Hervatting ondersteunt de XML niet
uitvoerformaat omdat het combineren van de twee runs in één geldig XML-bestand zou zijn
moeilijk.
--stijlblad pad or URL (Stel XSL-stylesheet in om XML-uitvoer te transformeren) .
Nmap wordt geleverd met een XSL. stijlblad. genaamd nmap.xsl. voor het bekijken of vertalen van XML
uitvoer naar HTML.. De XML-uitvoer bevat een xml-stylesheet-richtlijn die verwijst naar
nmap.xml waar het oorspronkelijk door Nmap was geïnstalleerd. Voer het XML-bestand uit via een XSLT
verwerker zoals xsltproc[17]. om een HTML-bestand te maken. Direct openen van de XML
bestand in een browser werkt niet meer goed omdat moderne browsers de locaties a
stylesheet kan worden geladen vanuit. Als u een ander stylesheet wilt gebruiken, geeft u dit op
als argument voor --stijlblad. U moet de volledige padnaam of URL doorgeven. Een gemeenschappelijk
aanroeping is --stijlblad https://nmap.org/svn/docs/nmap.xsl. Dit vertelt een XSLT
processor om de nieuwste versie van de stylesheet van Nmap.Org te laden. De --webxml
optie doet hetzelfde met minder typen en onthouden. De XSL laden van
Nmap.Org maakt het gemakkelijker om resultaten te bekijken op een machine die geen Nmap heeft (en dus
nmap.xsl) geïnstalleerd. Dus de URL is vaak nuttiger, maar het lokale bestandssysteem
locatie van nmap.xsl wordt om privacyredenen standaard gebruikt.
--webxml (Laad stylesheet van Nmap.Org) .
Dit is een gemaksoptie, niets meer dan een alias voor --stijlblad
https://nmap.org/svn/docs/nmap.xsl.
--geen stijlblad (Laat XSL-stylesheetdeclaratie uit XML weg) .
Geef deze optie op om te voorkomen dat Nmap een XSL-stylesheet associeert met zijn XML
uitgang. De richtlijn xml-stylesheet is weggelaten.
DIVERSE OPTIES
In dit gedeelte worden enkele belangrijke (en niet zo belangrijke) opties beschreven die niet echt passen
ergens anders.
-6 (Schakel IPv6-scannen in) .
Nmap heeft IPv6-ondersteuning voor de meest populaire functies. Ping scannen, poort scannen,
versiedetectie en de Nmap Scripting Engine ondersteunen allemaal IPv6. De opdrachtsyntaxis
is hetzelfde als gewoonlijk, behalve dat u ook de -6 keuze. Natuurlijk moet je gebruiken
IPv6-syntaxis als u een adres opgeeft in plaats van een hostnaam. Een adres zou kunnen kijken
zoals 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, dus hostnamen worden aanbevolen. Het resultaat
ziet er hetzelfde uit als gewoonlijk, met het IPv6-adres op de regel "interessante poorten".
de enige weggeefactie voor IPv6.
Hoewel IPv6 de wereld niet echt stormenderhand heeft veroverd, wordt het door sommigen aanzienlijk gebruikt
(meestal Aziatische) landen en de meeste moderne besturingssystemen ondersteunen het. Om Nmap te gebruiken
met IPv6 moeten zowel de bron als het doel van uw scan zijn geconfigureerd voor IPv6. Als
uw ISP (zoals de meeste) kent u geen IPv6-adressen toe, vrije tunnel
makelaars zijn overal beschikbaar en werken prima met Nmap. Ik gebruik de gratis IPv6-tunnel
makelaar. dienst bij http://www.tunnelbroker.net. Andere tunnelmakelaars zijn dat wel opgesomd at
Wikipedia[18]. 6to4-tunnels zijn een andere populaire, gratis benadering.
Op Windows worden raw-socket IPv6-scans alleen ondersteund op ethernet-apparaten (niet
tunnels), en alleen op Windows Vista. en later. Gebruik de --onbevoorrecht. optie erin
andere situaties.
-A (Agressieve scanopties) .
Deze optie maakt extra geavanceerde en agressieve opties mogelijk. Momenteel maakt dit het mogelijk
OS-detectie (-O), versie scannen (-sV), scriptscannen (-sC) en traceroute
(--traceroute).. In de toekomst kunnen er meer functies worden toegevoegd. Het punt is om een
uitgebreide set scanopties zonder dat mensen een grote set hoeven te onthouden
vlaggen. Omdat het scannen van scripts met de standaardset echter als opdringerig wordt beschouwd,
je zou niet moeten gebruiken -A tegen doelnetwerken zonder toestemming. Alleen deze optie
maakt functies mogelijk, en geen timingopties (zoals -T4) of breedsprakigheidsopties (-v) dat
wil je misschien ook. Opties die privileges vereisen (bijv. root-toegang) zoals OS
detectie en traceroute worden alleen ingeschakeld als deze rechten beschikbaar zijn.
--gegevensmap directorynaam (Geef de locatie van het aangepaste Nmap-gegevensbestand op) .
Nmap verkrijgt enkele speciale gegevens tijdens runtime in bestanden met de naam nmap-service-probes,
nmap-services, nmap-protocollen, nmap-rpc, nmap-mac-prefixen en nmap-os-db. Als de
locatie van een van deze bestanden is opgegeven (met behulp van de --servicedb or
--versiedb opties), wordt die locatie gebruikt voor dat bestand. Daarna zoekt Nmap
deze bestanden in de map die is opgegeven met de --gegevensmap optie (indien aanwezig). Alle bestanden
daar niet gevonden, worden gezocht in de map die is opgegeven door de NMAPDIR.
omgevingsvariabele. Volgende komt ~/.nmap. voor echte en effectieve UID's; of op Windows,
HOME\AppData\Roaming\nmap (waar HOME is de thuismap van de gebruiker, zoals
C:\Gebruikers\gebruiker). Dit wordt gevolgd door de locatie van het nmap-uitvoerbare bestand en hetzelfde
locatie met ../share/nmap toegevoegd. Dan is een gecompileerde locatie zoals
/usr/local/share/nmap of /usr/share/nmap.
--servicedb diensten filet (Specificeer bestand met aangepaste services) .
Vraagt Nmap om het opgegeven services-bestand te gebruiken in plaats van het nmap-services-gegevensbestand
dat hoort bij Nmap. Het gebruik van deze optie veroorzaakt ook een snelle scan (-F) om gebruikt te worden. Zien
de beschrijving voor --gegevensmap voor meer informatie over de gegevensbestanden van Nmap.
--versiedb service probes filet (Specificeer bestand met aangepaste servicetests) .
Vraagt Nmap om het opgegeven bestand met serviceprobes te gebruiken in plaats van het bestand nmap-service-probes
gegevensbestand dat bij Nmap wordt geleverd. Zie de beschrijving voor --gegevensmap voor meer informatie
op de gegevensbestanden van Nmap.
--zend-eth (Gebruik raw ethernet-verzending).
Vraagt Nmap om pakketten naar de onbewerkte ethernetlaag (datalink) te sturen in plaats van naar de hogere laag
IP (netwerk) laag. Nmap kiest standaard degene die over het algemeen het beste is voor de
platform waarop het draait. Ruwe sockets (IP-laag). zijn over het algemeen het meest efficiënt voor
Unix-machines, terwijl ethernetframes sindsdien vereist zijn voor Windows-werking
Microsoft heeft ondersteuning voor raw-sockets uitgeschakeld. Ondanks dat gebruikt Nmap nog steeds onbewerkte IP-pakketten op Unix
deze optie wanneer er geen andere keuze is (zoals niet-ethernetverbindingen).
--verzend-ip (Verzenden op onbewerkt IP-niveau) .
Vraagt Nmap om pakketten via onbewerkte IP-sockets te verzenden in plaats van ethernet op een lager niveau te verzenden
kaders. Het is de aanvulling op de --zend-eth eerder besproken optie.
--bevoorrechte (Veronderstel dat de gebruiker volledig bevoorrecht is) .
Vertelt Nmap om simpelweg aan te nemen dat het bevoorrecht genoeg is om raw socket-verzendingen uit te voeren,
packet sniffing, en gelijkaardige operaties die gewoonlijk root-privileges vereisen. op Unix
systemen. Standaard stopt Nmap als dergelijke bewerkingen worden aangevraagd, maar getuid is niet
nul. --bevoorrechte is handig met Linux-kernelmogelijkheden en vergelijkbare systemen die
kan zo worden geconfigureerd dat onbevoegde gebruikers scans van onbewerkte pakketten kunnen uitvoeren. Zorg dat je
geef deze optievlag vóór eventuele vlaggen voor opties die privileges vereisen (SYN
scan, OS-detectie, enz.). De NMAP_PRIVILEGED. omgevingsvariabele kan worden ingesteld als een
gelijkwaardig alternatief voor --bevoorrechte.
--onbevoorrecht (Veronderstel dat de gebruiker geen raw socket-privileges heeft) .
Deze optie is het tegenovergestelde van --bevoorrechte. Het vertelt Nmap om de gebruiker te behandelen als
zonder onbewerkte netwerksocket en sniffing-privileges. Dit is handig voor het testen,
foutopsporing, of wanneer de onbewerkte netwerkfunctionaliteit van uw besturingssysteem op de een of andere manier is
gebroken. De NMAP_UNPRIVILEGED. omgevingsvariabele kan als equivalent worden ingesteld
een alternatief voor --onbevoorrecht.
--release-geheugen (Geheugen vrijgeven voordat u afsluit) .
Deze optie is alleen nuttig voor foutopsporing bij geheugenlekken. Het zorgt ervoor dat Nmap vrijkomt
toegewezen geheugen net voordat het stopt, zodat daadwerkelijke geheugenlekken gemakkelijker te herkennen zijn.
Normaal gesproken slaat Nmap dit over omdat het besturingssysteem dit toch doet bij beëindiging van het proces.
-V; --versie (Afgedrukt versienummer) .
Drukt het Nmap-versienummer af en sluit af.
-h; --help (Help-overzichtspagina afdrukken) .
Drukt een kort helpscherm af met de meest voorkomende opdrachtvlaggen. Nmap uitvoeren zonder
alle argumenten doen hetzelfde.
LOOPTIJD WISSELWERKING
Tijdens de uitvoering van Nmap worden alle toetsaanslagen vastgelegd. Hierdoor kun je interageren
met het programma zonder het af te breken en opnieuw te starten. Bepaalde speciale toetsen zullen veranderen
opties, terwijl alle andere toetsen een statusbericht afdrukken dat u over de scan informeert.
De conventie is dat kleine letters brieven toename de hoeveelheid afdrukken, en hoofdletters
brieven verlagen de bedrukking. U kunt ook op '?' voor hulp.
v / V
Verhoog / verlaag het breedsprakigheidsniveau
d / D
Verhoog / verlaag het foutopsporingsniveau
p / P
Schakel pakkettracering in of uit
?
Druk een helpscherm voor runtime-interactie af
Nog iets anders
Druk een statusbericht als volgt af:
Statistieken: 0:00:07 verstreken; 20 hosts voltooid (1 up), 1 ondergaat een servicescan
Servicescan Timing: ongeveer 33.33% voltooid; ETC: 20:57 (0:00:12 resterend)
Voorbeelden
Hier zijn enkele voorbeelden van Nmap-gebruik, van eenvoudig en routinematig tot iets complexer
en esoterisch. Sommige echte IP-adressen en domeinnamen worden gebruikt om dingen meer te maken
concreet. In plaats daarvan moet u adressen/namen vervangen door jouw het te bezitten. netwerk.
Hoewel ik niet denk dat het scannen van poorten op andere netwerken illegaal is of zou moeten zijn, een netwerk
beheerders stellen het ongevraagd scannen van hun netwerken niet op prijs en kunnen klagen.
Eerst toestemming krijgen is de beste aanpak.
Voor testdoeleinden heeft u toestemming om de host scanme.nmap.org te scannen. Dit
toestemming omvat alleen scannen via Nmap en niet het testen van exploits of denial of service
aanvallen. Start niet meer dan een dozijn scans om bandbreedte te besparen
die gastheer per dag. Als deze gratis scandoelservice wordt misbruikt, wordt deze verwijderd
en Nmap zal rapporteren Kan gegeven hostnaam/IP niet oplossen: scanme.nmap.org. Deze
machtigingen zijn echter ook van toepassing op de hosts scanme2.nmap.org, scanme3.nmap.org, enzovoort
die hosts bestaan momenteel niet.
nmap -v scanme.nmap.org.
Deze optie scant alle gereserveerde TCP-poorten op de machine scanme.nmap.org. De -v optie
maakt uitgebreide modus mogelijk.
nmap -H.H -O scanme.nmap.org/24.
Start een stealth SYN-scan tegen elke machine die hoger is dan de 256 IP's op de
klasse C-formaat netwerk waar Scanme zich bevindt. Het probeert ook te bepalen welke operatie
systeem draait op elke host die actief is. Hiervoor zijn rootrechten vereist
vanwege de SYN-scan en OS-detectie.
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127.
Start hostopsomming en een TCP-scan bij de eerste helft van elk van de 255 mogelijke
acht-bits subnetten in de 198.116 klasse B-adresruimte. Hiermee wordt getest of de systemen werken
SSH, DNS, POP3 of IMAP op hun standaardpoorten, of iets anders op poort 4564. Voor een van
Als deze poorten open worden gevonden, wordt versiedetectie gebruikt om te bepalen welke applicatie het is
uitgevoerd.
nmap -v -iR 100000 -Pn -p 80.
Vraagt Nmap om willekeurig 100,000 hosts te kiezen en ze te scannen op webservers (poort 80). Gastheer
opsomming is uitgeschakeld met -Pn sinds ik voor het eerst een paar sondes heb gestuurd om te bepalen of
een host is actief is verspilling als je toch maar één poort op elke doelhost onderzoekt.
nmap -Pn -p80 -os logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20.
Dit scant 4096 IP's voor alle webservers (zonder ze te pingen) en slaat de uitvoer op
grepable- en XML-indelingen.
nmap RESERVEER
Hoewel deze naslaggids alle materiële Nmap-opties beschrijft, kan deze niet volledig worden gedemonstreerd
hoe u deze functies kunt toepassen om snel real-world taken op te lossen. Daarvoor hebben we Nmap uitgebracht
Netwerkscannen: de officiële Nmap-projectgids voor netwerkdetectie en -beveiliging
scannen. Onderwerpen zijn onder meer het ondermijnen van firewalls en inbraakdetectiesystemen, optimaliseren
Nmap-prestaties en het automatiseren van algemene netwerktaken met de Nmap Scripting Engine.
Er worden hints en instructies gegeven voor algemene Nmap-taken, zoals het nemen van netwerk
inventarisatie, penetratietesten, detecteren van malafide draadloze toegangspunten en vernietigen
uitbraken van netwerkwormen. Voorbeelden en diagrammen tonen daadwerkelijke communicatie op de draad. Meer
meer dan de helft van het boek is gratis online beschikbaar. Zien https://nmap.org/book meer
informatie.
Gebruik nmap online met behulp van onworks.net-services