Aceasta este comanda nmap care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
nmap - Instrument de explorare a rețelei și scaner de securitate/port
REZUMAT
nmap [Scanda Tip...] [Opţiuni] {ţintă specificație}
DESCRIERE
Nmap („Network Mapper”) este un instrument open source pentru explorarea și securitatea rețelei
auditare. A fost conceput pentru a scana rapid rețele mari, deși funcționează bine împotriva
gazde singure. Nmap folosește pachete IP brute în moduri noi pentru a determina ce gazde sunt disponibile
în rețea, ce servicii (numele și versiunea aplicației) oferă acele gazde,
ce sisteme de operare (și versiunile OS) rulează, ce tip de pachet
filtre/firewall-uri sunt în uz și zeci de alte caracteristici. În timp ce Nmap este obișnuit
folosit pentru audituri de securitate, mulți administratori de sisteme și rețele îl consideră util pentru
sarcini de rutină, cum ar fi inventarul rețelei, gestionarea programelor de actualizare a serviciului și
monitorizarea timpului de funcționare a gazdei sau a serviciului.
Rezultatul de la Nmap este o listă de ținte scanate, cu informații suplimentare despre fiecare
in functie de optiunile folosite. Cheia dintre aceste informații este „porturile interesante
tabelul”.. Acest tabel listează numărul portului și protocolul, numele serviciului și starea. The
starea este fie deschisă, filtrată, închisă sau nefiltrată. Deschis. înseamnă că o aplicație
pe mașina țintă ascultă conexiuni/pachete pe acel port. Filtrată. mijloace
că un firewall, un filtru sau un alt obstacol de rețea blochează portul, astfel încât Nmap
nu pot spune dacă este deschis sau închis. Închis. porturile nu au nicio aplicație care să asculte
ei, deși se puteau deschide oricând. Porturile sunt clasificate ca nefiltrate. când
sunt receptivi la probele lui Nmap, dar Nmap nu poate determina dacă sunt deschise sau
închis. Nmap raportează combinațiile de stări deschise|filtrate. si inchis|filtrat. atunci când
nu poate determina care dintre cele două state descrie un port. Tabelul de porturi poate include, de asemenea
detalii despre versiunea software atunci când a fost solicitată detectarea versiunii. Când un protocol IP
se solicită scanarea (-asa de), Nmap oferă mai degrabă informații despre protocoalele IP acceptate decât
porturi de ascultare.
Pe lângă tabelul de porturi interesant, Nmap poate oferi informații suplimentare despre
ținte, inclusiv nume DNS inverse, presupuneri ale sistemului de operare, tipuri de dispozitive și MAC
adrese.
O scanare tipică Nmap este prezentată în Exemplul 1. Singurele argumente Nmap utilizate în acest exemplu
sunt -A, pentru a activa detectarea sistemului de operare și a versiunilor, scanarea scripturilor și trasarea; -T4 pentru
execuție mai rapidă; și apoi numele de gazdă.
Exemplu 1. A reprezentant Nmap scanare
# nmap -A -T4 scanme.nmap.org
Raport de scanare Nmap pentru scanme.nmap.org (74.207.244.221)
Gazda este în creștere (0.029s latență).
Înregistrare rDNS pentru 74.207.244.221: li86-221.members.linode.com
Nu este arătat: 995 de porturi închise
VERSIUNEA SERVICIULUI STATUL PORTULUI
22/tcp deschide 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 deschide http Apache httpd 2.2.14 ((Ubuntu))
|_http-title: Continuați și ScanMe!
646/tcp filtrat ldp
1720/tcp filtrat H.323/Q.931
9929/tcp deschide nping-echo Nping echo
Tip dispozitiv: de uz general
Rulează: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.39
Detalii OS: Linux 2.6.39
Distanța de rețea: 11 hop
Informații despre serviciu: OS: Linux; CPE: cpe:/o:linux:kernel
TRACEROUTE (folosind portul 53/tcp)
ADRESĂ RTT HOP
[Tăiați primele 10 hameiuri pentru concizie]
11 17.65 ms li86-221.members.linode.com (74.207.244.221)
Nmap finalizat: 1 adresă IP (1 gazdă în sus) scanată în 14.40 secunde
Cea mai nouă versiune de Nmap poate fi obținută de la https://nmap.org. Cea mai nouă versiune a
această pagină de manual este disponibilă la https://nmap.org/book/man.html. Este inclus și ca a
capitolul Nmap Network Scanning: Ghidul oficial al proiectului Nmap pentru descoperirea rețelei și
Scanare de securitate (vezi https://nmap.org/book/).
OPŢIUNI REZUMAT
Acest rezumat al opțiunilor este tipărit atunci când Nmap este rulat fără argumente și cea mai recentă versiune
este întotdeauna disponibil la https://svn.nmap.org/nmap/docs/nmap.usage.txt. Ajută oamenii
amintiți-vă cele mai comune opțiuni, dar nu înlocuiește documentația aprofundată din
restul acestui manual. Unele opțiuni obscure nici măcar nu sunt incluse aici.
Nmap 7.01 ( https://nmap.org )
Utilizare: nmap [Tipuri de scanare] [Opțiuni] {specificație țintă}
SPECIFICAȚIA ȚINTĂ:
Poate transmite nume de gazdă, adrese IP, rețele etc.
De exemplu: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL : Intrare din lista de gazde/rețele
-iR : Alegeți ținte aleatorii
--exclude : Exclude gazde/rețele
--excludefile : Excludeți lista din fișier
DEscoperirea gazdei:
-sL: List Scan - pur și simplu enumerați ținte de scanat
-sn: Ping Scan - dezactivează scanarea portului
-Pn: tratați toate gazdele ca fiind online -- ignorați descoperirea gazdei
-PS/PA/PU/PY[listă de porturi]: descoperire TCP SYN/ACK, UDP sau SCTP către porturi date
-PE/PP/PM: sonde de descoperire a cererilor de ecou ICMP, marca temporală și mască de rețea
-PO[listă de protocoale]: IP Protocol Ping
-n/-R: Nu faceți niciodată rezoluție DNS/Rezolvați întotdeauna [implicit: uneori]
--dns-server : Specificați servere DNS personalizate
--system-dns: Folosiți soluția DNS al sistemului de operare
--traceroute: Urmăriți calea hop către fiecare gazdă
TEHNICI DE SCANARE:
-sS/sT/sA/sW/sM: scanări TCP SYN/Connect()/ACK/Window/Maimon
-sU: Scanare UDP
-sN/sF/sX: scanări TCP Null, FIN și Xmas
--scanflag-uri : personalizați semnalizatoarele de scanare TCP
-si : Scanare inactiv
-sY/sZ: SCTP INIT/COOKIE-ECHO scanări
-sO: scanare protocol IP
-b : scanare de respingere FTP
SPECIFICAȚIILE PORTULUI ȘI COMANDA DE SCANARE:
-p : scanează numai porturile specificate
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
--exclude-porturi : excludeți porturile specificate de la scanare
-F: Mod rapid - Scanează mai puține porturi decât scanarea implicită
-r: Scanează porturile consecutiv - nu randomizați
--top-porturi : Scanează cele mai comune porturi
--port-raport : porturile de scanare sunt mai frecvente decât
DETECȚIA SERVICIULUI/VERSIUNII:
-sV: Sondați porturile deschise pentru a determina informații despre serviciu/versiune
--versiune-intensitate : Setați de la 0 (luminoasă) la 9 (încercați toate sondele)
--version-light: Limitați la cele mai probabile sonde (intensitate 2)
--version-all: Încercați fiecare sondă (intensitate 9)
--version-trace: Afișează activitatea de scanare detaliată a versiunii (pentru depanare)
SCANARE SCRIPT:
-sC: echivalent cu --script=implicit
--script= : este o listă separată prin virgulă
directoare, fișiere script sau categorii de script
--script-args= : oferă argumente scripturilor
--script-args-file=nume fișier: furnizează argumente de script NSE într-un fișier
--script-trace: Afișează toate datele trimise și primite
--script-updatedb: Actualizați baza de date de script.
--script-help= : Afișează ajutor despre scripturi.
este o listă de fișiere script separate prin virgulă sau
script-categorii.
DETECȚIA SO:
-O: Activați detectarea sistemului de operare
--osscan-limit: Limitează detectarea sistemului de operare la ținte promițătoare
--osscan-guess: Ghiciți OS mai agresiv
Timp și performanță:
Opțiuni care iau sunt în secunde sau adăugați „ms” (milisecunde),
„s” (secunde), „m” (minute) sau „h” (ore) la valoarea (de ex. 30 m).
-T<0-5>: Setați șablonul de sincronizare (mai mare este mai rapid)
--min-hostgroup/max-hostgroup : Dimensiunile grupului de scanare gazdă paralelă
--min-paralelism/max-paralelism : Paralelizarea sondei
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout : Specifică
sonda timp dus-întors.
--max-reîncercări : Limitează numărul de retransmisii de sonde de scanare porturi.
--host-timeout : Renunță la țintă după atât de mult timp
--scan-delay/--max-scan-delay : Reglați întârzierea dintre sonde
--min-rate : Trimiteți pachete nu mai lent decât pe secunda
--rată-max : Trimiteți pachete nu mai repede decât pe secunda
FIREWALL/EVAZIUNEA IDS ȘI SPOFING:
-f; --mtu : fragmente de pachete (opțional cu MTU dat)
-D : Înveliți o scanare cu momeli
-S : Falsificarea adresei sursei
-e : Utilizați interfața specificată
-g/--sursa-port : Folosiți numărul de port dat
--proxy : Retransmite conexiuni prin proxy HTTP/SOCKS1
--date : Adăugați o sarcină utilă personalizată la pachetele trimise
--data-string : Adăugați un șir ASCII personalizat la pachetele trimise
--lungimea-datelor : Adăugați date aleatorii la pachetele trimise
--ip-options : Trimite pachete cu opțiuni IP specificate
--ttl : Setați câmpul IP time-to-live
--spoof-mac : Falsifică-ți adresa MAC
--badsum: Trimite pachete cu o sumă de verificare TCP/UDP/SCTP falsă
IEȘIRE:
-oN/-oX/-oS/-oG : Scanarea de ieșire în normal, XML, s|
și, respectiv, formatul Grepable la numele fișierului dat.
-oA : Ieșire în cele trei formate majore simultan
-v: crește nivelul de verbozitate (utilizați -vv sau mai mult pentru un efect mai mare)
-d: Creșteți nivelul de depanare (utilizați -dd sau mai mult pentru un efect mai mare)
--reason: Afișează motivul pentru care un port se află într-o anumită stare
--open: Afișează numai porturile deschise (sau eventual deschise).
--packet-trace: Afișează toate pachetele trimise și primite
--iflist: Imprimați interfețele și rutele gazdei (pentru depanare)
--append-output: Adăugați la fișierele de ieșire specificate, mai degrabă decât la clobber
--relua : Reluați o scanare întreruptă
--foaia de stil : foaia de stil XSL pentru a transforma ieșirea XML în HTML
--webxml: Foaie de stil de referință de la Nmap.Org pentru XML mai portabil
--no-stylesheet: Preveniți asocierea foii de stil XSL cu ieșirea XML
MISC:
-6: Activați scanarea IPv6
-A: Activați detectarea sistemului de operare, detectarea versiunii, scanarea scripturilor și trasarea
--datadir : Specificați locația personalizată a fișierului de date Nmap
--send-eth/--send-ip: Trimite folosind cadre ethernet brute sau pachete IP
--privileged: Presupunem că utilizatorul este pe deplin privilegiat
--unprivileged: Să presupunem că utilizatorul nu are privilegii de socket brute
-V: Numărul versiunii tipărite
-h: Imprimați această pagină de rezumat de ajutor.
EXEMPLE:
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
VEZI PAGINA MAN (https://nmap.org/book/man.html) PENTRU MAI MULTE OPȚIUNI ȘI EXEMPLE
ŢINTĂ SPECIFICAȚIE
Tot ceea ce nu este o opțiune (sau argument opțiune) din linia de comandă Nmap este tratat
ca specificație a gazdei țintă. Cel mai simplu caz este să specificați o adresă IP țintă sau
nume de gazdă pentru scanare.
Uneori doriți să scanați o întreagă rețea de gazde adiacente. Pentru aceasta, Nmap acceptă
stil CIDR. adresarea. Puteți adăuga /amorțeală la o adresă IPv4 sau un nume de gazdă și Nmap
va scana fiecare adresă IP pentru care prima amorțeală sunt aceleași ca pentru referință
IP sau numele de gazdă dat. De exemplu, 192.168.10.0/24 ar scana cele 256 de gazde între
192.168.10.0 (binar: 11000000 10101000 00001010 00000000) și 192.168.10.255 (binar:
11000000 10101000 00001010 11111111), inclusiv. 192.168.10.40/24 ar scana exact
aceleași ținte. Având în vedere că gazda scanme.nmap.org. se află la adresa IP 64.13.134.52, the
specificația scanme.nmap.org/16 ar scana cele 65,536 de adrese IP între 64.13.0.0 și
64.13.255.255. Cea mai mică valoare permisă este /0, care vizează întregul Internet. The
cea mai mare valoare este /32, care scanează doar gazda numită sau adresa IP, deoarece toate adresele
biții sunt fixați.
Notația CIDR este scurtă, dar nu întotdeauna suficient de flexibilă. De exemplu, este posibil să doriți să scanați
192.168.0.0/16, dar omite orice IP-uri care se termină cu .0 sau .255, deoarece pot fi folosite ca subrețea
adrese de rețea și de difuzare. Nmap acceptă acest lucru prin adresarea intervalului de octeți. Mai degraba
decât să specificați o adresă IP normală, puteți specifica o listă de numere separate prin virgulă sau
intervale pentru fiecare octet. De exemplu, 192.168.0-255.1-254 va omite toate adresele din
interval care se termină în .0 sau .255 și 192.168.3-5,7.1 va scana cele patru adrese
192.168.3.1, 192.168.4.1, 192.168.5.1 și 192.168.7.1. Oricare parte a unui interval poate fi
omis; valorile implicite sunt 0 în stânga și 255 în dreapta. Utilizarea - de la sine este
la fel ca 0-255, dar nu uitați să utilizați 0- în primul octet, astfel încât specificația țintă
nu arată ca o opțiune de linie de comandă. Intervalele nu trebuie limitate la octeții finali:
specificatorul 0-255.0-255.13.37 va efectua o scanare la nivel de Internet pentru toate adresele IP
se încheie în 13.37. Acest tip de eșantionare amplă poate fi utilă pentru sondaje pe internet și
cercetare.
Adresele IPv6 pot fi specificate numai prin adresa lor IPv6 complet calificată sau numele gazdă.
Intervalele CIDR și octeți nu sunt încă acceptate pentru IPv6.
Adresele IPv6 cu domeniu non-global trebuie să aibă un sufix de ID de zonă. Pe sistemele Unix, asta
este un semn de procent urmat de un nume de interfață; o adresă completă ar putea fi
fe80::a8bb:ccff:fedd:eeff%eth0. Pe Windows, utilizați un număr de index de interfață în loc de un
numele interfeței: fe80::a8bb:ccff:fedd:eeff%1. Puteți vedea o listă de indici de interfață după
rulează comanda netsh.exe interfață ipv6 Arăta interfață.
Nmap acceptă mai multe specificații de gazdă pe linia de comandă și nu trebuie să fie
acelasi tip. Comanda nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.- face ceea ce tu
ar astepta.
În timp ce țintele sunt de obicei specificate pe liniile de comandă, sunt și următoarele opțiuni
disponibil pentru a controla selecția țintei:
-iL nume fișier de intrare (Intrare din listă) .
Citește specificațiile țintei din nume fișier de intrare. Trecerea unei liste uriașe de gazde este adesea
incomod pe linia de comandă, dar este o dorință comună. De exemplu, serverul dvs. DHCP
ar putea exporta o listă de 10,000 de contracte de închiriere curente pe care doriți să le scanați. Sau poate vrei tu
pentru a scana toate adresele IP cu excepția pentru cei care să localizeze gazde folosind IP statice neautorizate
adrese. Pur și simplu generați lista de gazde pentru a scana și transmiteți acel nume de fișier către Nmap ca
un argument la -iL opțiune. Intrările pot fi în oricare dintre formatele acceptate de Nmap
pe linia de comandă (adresă IP, nume de gazdă, CIDR, IPv6 sau intervale de octeți). Fiecare intrare
trebuie separate prin unul sau mai multe spații, file sau linii noi. Puteți specifica o cratimă
(-) ca nume de fișier dacă doriți ca Nmap să citească gazdele din intrarea standard, mai degrabă decât un
dosar propriu-zis.
Fișierul de intrare poate conține comentarii care încep cu # și se extind până la sfârșitul
linia.
-iR o Gazdele (Alegeți ținte aleatorii) .
Pentru sondaje la nivel de internet și alte cercetări, poate doriți să alegeți ținte la
Aleatoriu. The o Gazdele argumentul îi spune lui Nmap câte IP-uri să genereze. IP-uri nedorite
precum cele din anumite intervale de adrese private, multicast sau nealocate
automat omis. Argumentul 0 poate fi specificat pentru o scanare fără sfârșit. A pastra
rețineți că unii administratori de rețea se încurcă la scanările neautorizate ale acestora
rețele și se pot plânge. Utilizați această opțiune pe propriul risc! Dacă te regăsești
plictisit într-o după-amiază ploioasă, încercați comanda nmap -Pn -H.H -p 80 -iR 0 --deschis. la
localizați servere web aleatorii pentru navigare.
--exclude host1[,host2[,...]] (Exclude gazde/rețele) .
Specifică o listă de ținte, separate prin virgulă, care trebuie excluse din scanare, chiar dacă acestea
fac parte din gama generală de rețea pe care o specificați. Lista pe care o treceți folosește normal
Sintaxa Nmap, astfel încât poate include nume de gazdă, blocuri de rețea CIDR, intervale de octeți etc. Acest lucru poate
fi util atunci când rețeaua pe care doriți să o scanați include elemente critice de neatins
servere, sisteme despre care se știe că reacționează negativ la scanările de porturi sau subrețele
administrate de alte persoane.
--excludefile exclude_file (Excludeți lista din fișier) .
Acesta oferă aceeași funcționalitate ca și --exclude opțiunea, cu excepția faptului că excluse
țintele sunt furnizate într-o linie nouă, delimitată de spațiu sau de tabulatori exclude_file mai degrabă decât
pe linia de comandă.
Fișierul de excludere poate conține comentarii care încep cu # și se extind până la sfârșitul
linia.
HOST Descoperirea
Unul dintre primii pași în orice misiune de recunoaștere a rețelei este reducerea a
(uneori uriaș) set de intervale de IP într-o listă de gazde active sau interesante. Scanare
fiecare port al fiecărei adrese IP este lent și de obicei inutil. Desigur ce
face o gazdă interesantă depinde în mare măsură de scopurile scanării. Administratorii de rețea pot
fii interesat doar de gazdele care rulează un anumit serviciu, în timp ce auditorilor de securitate le poate păsa
despre fiecare dispozitiv cu o adresă IP. Un administrator poate fi confortabil să utilizeze
doar un ping ICMP pentru a localiza gazde în rețeaua sa internă, în timp ce o penetrare externă
Testerul poate folosi un set divers de zeci de sonde în încercarea de a evita firewall-ul
restricții.
Deoarece nevoile de descoperire a gazdelor sunt atât de diverse, Nmap oferă o mare varietate de opțiuni pentru
personalizarea tehnicilor utilizate. Descoperirea gazdei se numește uneori scanare ping, dar merge
mult dincolo de simplele pachete de solicitare de eco ICMP asociate cu instrumentul ping omniprezent.
Utilizatorii pot sări peste pasul ping complet cu o scanare a listei (-sL) sau prin dezactivarea ping (-Pn),
sau angajați rețeaua cu combinații arbitrare de multi-port TCP SYN/ACK, UDP, SCTP
Sonde INIT și ICMP. Scopul acestor sonde este de a solicita răspunsuri care să demonstreze
că o adresă IP este de fapt activă (este utilizată de un dispozitiv gazdă sau de rețea). Pe multe
rețele, doar un mic procent de adrese IP sunt active la un moment dat. Aceasta este
deosebit de comun cu spațiul de adrese private, cum ar fi 10.0.0.0/8. Rețeaua are 16
milioane de IP-uri, dar l-am văzut folosit de companii cu mai puțin de o mie de mașini. Gazdă
Discovery poate găsi acele mașini într-o mare de adrese IP puțin alocate.
Dacă nu sunt oferite opțiuni de descoperire a gazdei, Nmap trimite o cerere de eco ICMP, un pachet TCP SYN
la portul 443, un pachet TCP ACK la portul 80 și o solicitare de marcaj temporal ICMP. (Pentru IPv6,
Solicitarea de marcaj temporal ICMP este omisă deoarece nu face parte din ICMPv6.) Aceste valori implicite sunt
echivalent cu -PICIOR -PS443 -PA80 -PP Opțiuni. Excepțiile de la aceasta sunt ARP (pentru
IPv4) și Neighbor Discovery. (pentru IPv6) scanări care sunt utilizate pentru orice țintă pe un local
rețea ethernet. Pentru utilizatorii shell Unix neprivilegiati, probele implicite sunt un pachet SYN
la porturile 80 și 443 folosind conectaţi apel de sistem.. Această descoperire a gazdei este adesea
suficient la scanarea rețelelor locale, dar un set mai cuprinzător de sonde de descoperire
este recomandat pentru auditul de securitate.
-P* opțiunile (care selectează tipurile de ping) pot fi combinate. Vă puteți crește șansele de
pătrunderea în firewall-uri stricte prin trimiterea mai multor tipuri de sonde folosind diferite porturi/steaguri TCP
și coduri ICMP. De asemenea, rețineți că ARP/Neighbor Discovery (-RELATII CU PUBLICUL). se face implicit împotriva
ținte pe o rețea ethernet locală, chiar dacă specificați altele -P* opțiuni, pentru că este
aproape întotdeauna mai rapid și mai eficient.
În mod implicit, Nmap face descoperirea gazdei și apoi efectuează o scanare de porturi împotriva fiecărei gazde
determină că este online. Acest lucru este adevărat chiar dacă specificați tipuri de descoperire a gazdei care nu sunt implicite
cum ar fi sondele UDP (-PU). Citiți despre -sn opțiunea de a învăța cum să efectueze numai gazdă
descoperire sau utilizare -Pn pentru a omite descoperirea gazdei și scanarea portului tuturor gazdelor țintă. Următoarele
opțiunile controlează descoperirea gazdei:
-sL (Scanare Listă) .
Scanarea listei este o formă degenerată de descoperire a gazdei care pur și simplu listează fiecare gazdă
rețelele specificate, fără a trimite niciun pachet către gazdele țintă. În mod implicit,
Nmap încă face rezoluție DNS inversă pe gazde pentru a le afla numele. Este de obicei
surprinzător cât de multe informații utile oferă numele de gazdă simple. De exemplu, fw.chi
este numele firewall-ului din Chicago al unei companii. Nmap raportează, de asemenea, numărul total de
Adresele IP la final. Scanarea listei este o verificare bună pentru a vă asigura că aveți
adrese IP adecvate pentru obiectivele dvs. Dacă gazdele sport numesc de domenii, nu
recunoaștem, merită investigat în continuare pentru a preveni scanarea companiei greșite
rețea.
Deoarece ideea este să tipăriți pur și simplu o listă de gazde țintă, opțiuni pentru nivel superior
funcționalități precum scanarea portului, detectarea sistemului de operare sau scanarea ping nu pot fi combinate
cu asta. Dacă doriți să dezactivați scanarea ping în timp ce efectuați în continuare un nivel mai ridicat
nivel de funcționalitate, citiți mai sus -Pn (săriți ping-ul).
-sn (Fără scanare de porturi) .
Această opțiune îi spune lui Nmap să nu facă o scanare de porturi după descoperirea gazdei și să imprime doar
gazdele disponibile care au răspuns la probele de descoperire a gazdei. Acest lucru este adesea cunoscut
ca o „scanare ping”, dar puteți solicita și ca scripturile gazdă traceroute și NSE să fie
alerga. Acesta este în mod implicit cu un pas mai intruziv decât scanarea listei și poate fi adesea
folosit în aceleași scopuri. Permite recunoașterea ușoară a unei rețele țintă fără
atrăgând multă atenție. A ști câte gazde sunt active este mai valoros pentru atacatori
decât lista furnizată de scanarea listei pentru fiecare IP și nume de gazdă.
Administratorii de sisteme consideră adesea că această opțiune este valoroasă. Poate fi folosit cu ușurință
pentru a număra mașinile disponibile într-o rețea sau pentru a monitoriza disponibilitatea serverului. Aceasta este adesea
numit ping sweep și este mai fiabil decât ping adresa de difuzare deoarece
multe gazde nu răspund la interogările de difuzare.
Descoperirea gazdă implicită realizată cu -sn constă dintr-o cerere de eco ICMP, TCP SYN la
portul 443, TCP ACK la portul 80 și o solicitare de marcaj temporal ICMP în mod implicit. Când este executat
de către un utilizator neprivilegiat, sunt trimise numai pachetele SYN (folosind a conectaţi apel) către porturile 80
și 443 pe țintă. Când un utilizator privilegiat încearcă să scaneze ținte pe un local
rețeaua ethernet, cererile ARP sunt utilizate cu excepția cazului în care --send-ip a fost specificat. The -sn opțiune
poate fi combinat cu oricare dintre tipurile de sonde de descoperire ( -P* opțiuni, excluzând -Pn)
pentru o mai mare flexibilitate. Dacă se utilizează oricare dintre aceste opțiuni de tip de sondă și număr de port,
sondele implicite sunt suprascrise. Când firewall-uri stricte sunt în vigoare între
gazdă sursă care rulează Nmap și rețeaua țintă, folosind acele tehnici avansate
recomandat. În caz contrar, gazdele ar putea fi ratate atunci când firewall-ul elimină probele sau lor
răspunsuri.
În versiunile anterioare ale Nmap, -sn era cunoscut sub numele de -sP..
-Pn (Fără ping).
Această opțiune omite cu totul etapa de descoperire a Nmap. În mod normal, Nmap folosește această etapă
pentru a determina mașinile active pentru scanare mai grea. În mod implicit, Nmap funcționează numai
probe grele, cum ar fi scanări de porturi, detectarea versiunii sau detectarea sistemului de operare împotriva gazdelor
care se dovedesc a fi sus. Dezactivarea descoperirii gazdei cu -Pn determină Nmap să încerce
funcții de scanare solicitate împotriva fiecare adresa IP țintă specificată. Deci, dacă o clasă
Spațiul de adrese țintă B (/16) este specificat pe linia de comandă, toate cele 65,536 de adrese IP
sunt scanate. Descoperirea corectă a gazdei este omisă ca și în cazul scanării listei, dar în loc de
oprind și imprimând lista de ținte, Nmap continuă să îndeplinească funcțiile solicitate
ca și cum fiecare IP țintă ar fi activ. Pentru a sări peste scanarea ping și scanarea portului, permițând în continuare
NSE pentru a rula, utilizați cele două opțiuni -Pn -sn împreună.
Pentru mașinile dintr-o rețea ethernet locală, scanarea ARP va fi în continuare efectuată (cu excepția cazului în care
--disable-arp-ping or --send-ip este specificat) deoarece Nmap are nevoie de adrese MAC pentru
scanați în continuare gazdele țintă. În versiunile anterioare ale Nmap, -Pn a fost - P0. și -PN..
-PS port listă (TCP SYN Ping) .
Această opțiune trimite un pachet TCP gol cu marcajul SYN setat. Destinația implicită
portul este 80 (configurabil la compilare prin modificarea DEFAULT_TCP_PROBE_PORT_SPEC. în
nmap.h).. Porturile alternative pot fi specificate ca parametru. Sintaxa este aceeași ca
pentru -p cu excepția faptului că specificatorii de tip de port precum T: nu sunt permisi. Exemplele sunt
-PS22 și -PS22-25,80,113,1050,35000. Rețineți că nu poate exista spațiu între -PS și
lista de porturi. Dacă sunt specificate mai multe sonde, acestea vor fi trimise în paralel.
Indicatorul SYN sugerează sistemului de la distanță că încercați să stabiliți o
conexiune. În mod normal, portul de destinație va fi închis și un pachet RST (resetare).
trimis înapoi. Dacă portul se întâmplă să fie deschis, ținta va face al doilea pas de a
Strângere de mână în trei căi TCP. răspunzând cu un pachet TCP SYN/ACK. Mașina în funcțiune
Nmap distruge apoi conexiunea în curs de dezvoltare, răspunzând mai degrabă cu un RST decât
trimiterea unui pachet ACK care ar finaliza strângerea de mână în trei căi și ar stabili a
conexiune completă. Pachetul RST este trimis de nucleul mașinii care rulează Nmap
răspuns la SYN/ACK neașteptat, nu de către Nmap în sine.
Nmap nu îi pasă dacă portul este deschis sau închis. Fie RST, fie SYN/ACK
răspunsul discutat anterior spune-i lui Nmap că gazda este disponibilă și receptivă.
Pe cutiile Unix, numai utilizatorul privilegiat root. este în general capabil să trimită și să primească
pachete TCP brute.. Pentru utilizatorii neprivilegiati, este utilizată automat o soluție.
prin care conectaţi apelul de sistem este inițiat împotriva fiecărui port țintă. Aceasta are
efectul trimiterii unui pachet SYN către gazda țintă, în încercarea de a stabili a
conexiune. Dacă conectaţi revine cu un succes rapid sau cu un eșec ECONNRFUSED, cel
stiva TCP de bază trebuie să fi primit un SYN/ACK sau RST și gazda este marcată
disponibil. Dacă încercarea de conectare rămâne suspendată până la atingerea unui timeout,
gazda este marcată ca dezactivată.
-LOPATĂ port listă (TCP ACK Ping) .
Ping-ul TCP ACK este destul de similar cu ping-ul SYN tocmai discutat. Diferența, ca
probabil că ați putea ghici, este că flagul TCP ACK este setat în loc de steag SYN. Astfel de
un pachet ACK pretinde a fi confirmarea datelor printr-o conexiune TCP stabilită,
dar nu există o astfel de legătură. Deci, gazdele de la distanță ar trebui să răspundă întotdeauna cu un RST
pachet, dezvăluind existența lor în proces.
-LOPATĂ Opțiunea folosește același port implicit ca și sonda SYN (80) și poate lua, de asemenea, a
lista de porturi de destinație în același format. Dacă un utilizator neprivilegiat încearcă acest lucru,
conectaţi este utilizată soluția de soluționare discutată anterior. Această soluție este imperfectă deoarece
conectaţi trimite de fapt un pachet SYN mai degrabă decât un ACK.
Motivul pentru a oferi ambele sonde ping SYN și ACK este de a maximiza șansele de
ocolind firewall-urile. Mulți administratori configurează routerele și alte firewall-uri simple
pentru a bloca pachetele SYN primite, cu excepția celor destinate serviciilor publice precum
site-ul web al companiei sau serverul de e-mail. Acest lucru previne alte conexiuni de intrare la
organizație, permițând în același timp utilizatorilor să facă conexiuni de ieșire neobstrucționate la
Internet. Această abordare fără stare necesită puține resurse pe firewall/router și
este susținut pe scară largă de filtre hardware și software. Linux Netfilter/iptables.
software-ul firewall oferă --sin opțiune de comoditate pentru a implementa acest apatrid
abordare. Atunci când regulile firewall fără stat, cum ar fi aceasta, sunt în vigoare, SYN sonde ping
(-PS) probabil să fie blocate atunci când sunt trimise la porturile țintă închise. În astfel de cazuri,
Sonda ACK strălucește în timp ce trece direct prin aceste reguli.
Un alt tip obișnuit de firewall folosește reguli stateful care aruncă pachete neașteptate. Acest
caracteristica a fost găsită inițial mai ales pe firewall-urile de vârf, deși a devenit mult
mai frecvente de-a lungul anilor. Sistemul Linux Netfilter/iptables acceptă acest lucru
il --stat opțiunea, care clasifică pachetele în funcție de starea conexiunii. O sondă SYN
este mai probabil să funcționeze împotriva unui astfel de sistem, așa cum sunt în general pachetele ACK neașteptate
recunoscut ca fals și scăpat. O soluție la această dilemă este să trimiteți atât SYN, cât și
ACK probează prin specificarea -PS și -LOPATĂ.
-PU port listă (UDP Ping) .
O altă opțiune de descoperire a gazdei este ping-ul UDP, care trimite un pachet UDP către acel dat
porturi. Pentru cele mai multe porturi, pachetul va fi gol, deși unele folosesc un protocol specific
sarcină utilă care este mai probabil să obțină un răspuns. Este descrisă baza de date a încărcăturii utile
at https://nmap.org/book/nmap-payloads.html.. --date, --data-string și
--lungimea-datelor opțiuni.
Lista de porturi are același format ca și cea discutată anterior -PS și -LOPATĂ
Opțiuni. Dacă nu sunt specificate porturi, valoarea implicită este 40125.. Această implicită poate fi
configurat la compilare prin modificare DEFAULT_UDP_PROBE_PORT_SPEC. în nmap.h.. A
Portul foarte neobișnuit este utilizat în mod implicit, deoarece trimiterea către porturile deschise este adesea
nedorit pentru acest tip de scanare special.
La atingerea unui port închis pe mașina țintă, sonda UDP ar trebui să provoace un ICMP
port pachet inaccesibil în schimb. Acest lucru înseamnă pentru Nmap că mașina este în funcțiune și
disponibil. Multe alte tipuri de erori ICMP, cum ar fi gazdă/rețea inaccesibile sau TTL
depășite indică o gazdă inactivă sau inaccesibilă. O lipsă de răspuns este, de asemenea
interpretat astfel. Dacă se ajunge la un port deschis, majoritatea serviciilor pur și simplu ignoră
pachet gol și nu reușește să returneze niciun răspuns. Acesta este motivul pentru care este portul implicit al sondei
40125, care este foarte puțin probabil să fie utilizat. Câteva servicii, cum ar fi Personajul
Protocolul generator (încărcare), va răspunde la un pachet UDP gol și, astfel, va dezvălui
pentru a Nmap că mașina este disponibilă.
Avantajul principal al acestui tip de scanare este că ocolește firewall-urile și filtrează
doar ecranul TCP. De exemplu, am deținut odată o bandă largă fără fir Linksys BEFW11S4
router. Interfața externă a acestui dispozitiv a filtrat toate porturile TCP în mod implicit, dar
Sondele UDP ar scoate în continuare mesaje inaccesibile ale portului și, astfel, vor da dispozitivul.
-PY port listă (SCTP INIT Ping) .
Această opțiune trimite un pachet SCTP care conține o bucată INIT minimă. Implicit
portul de destinație este 80 (configurabil în momentul compilării prin modificarea
DEFAULT_SCTP_PROBE_PORT_SPEC. în nmap.h). Porturile alternative pot fi specificate ca a
parametru. Sintaxa este aceeași ca și pentru -p cu excepția faptului că specificatorii de tip de port ca
S: nu sunt permise. Exemplele sunt -PY22 și -PY22,80,179,5060. Rețineți că poate exista
fara spatiu intre -PY și lista de porturi. Dacă sunt specificate mai multe sonde, acestea vor fi
trimis în paralel.
Secțiunea INIT sugerează sistemului de la distanță că încercați să stabiliți un
asociere. În mod normal, portul de destinație va fi închis și o bucată ABORT va fi
trimis înapoi. Dacă portul se întâmplă să fie deschis, ținta va face al doilea pas de an
Strângere de mână SCTP în patru căi. prin răspunsul cu o bucată INIT-ACK. Dacă mașina funcționează
Nmap are o stivă SCTP funcțională, apoi distruge asocierea în curs de dezvoltare
răspunzând cu o bucată ABORT în loc să trimită o bucată COOKIE-ECHO care ar fi
următorul pas în strângerea de mână în patru căi. Pachetul ABORT este trimis de kernel-ul
mașină care rulează Nmap ca răspuns la INIT-ACK neașteptat, nu de către Nmap în sine.
Nmap nu îi pasă dacă portul este deschis sau închis. Fie ABORT sau INIT-ACK
răspunsul discutat anterior spune-i lui Nmap că gazda este disponibilă și receptivă.
Pe cutiile Unix, numai utilizatorul privilegiat root. este în general capabil să trimită și să primească
pachete SCTP brute.. Utilizarea SCTP INIT Ping-uri nu este posibilă în prezent pentru persoanele neprivilegiate
utilizatorii..
-PICIOR; -PP; -P.M (Tipuri Ping ICMP) .
Pe lângă tipurile neobișnuite de descoperire a gazdelor TCP, UDP și SCTP discutate
anterior, Nmap poate trimite pachetele standard trimise de programul ping omniprezent.
Nmap trimite un pachet ICMP tip 8 (solicitare ecou) către adresele IP țintă, așteptând
un tip 0 (ecou răspuns) în schimb de la gazdele disponibile.. Din păcate pentru rețea
exploratorii, multe gazde și firewall-uri blochează acum aceste pachete, în loc să răspundă ca
cerut de RFC 1122[2].. Din acest motiv, scanările numai ICMP sunt rareori suficient de fiabile
împotriva țintelor necunoscute prin Internet. Dar pentru administratorii de sistem care monitorizează an
rețeaua internă, pot fi o abordare practică și eficientă. Folosește -PICIOR opțiune
pentru a activa acest comportament de solicitare de ecou.
În timp ce cererea echo este interogarea ping ICMP standard, Nmap nu se oprește aici. ICMP
standarde (RFC 792[3]. și RFC 950[4]. ) specifica, de asemenea, cererea de marcaj de timp, informații
cerere și pachete de cerere de mască de adresă ca coduri 13, 15 și, respectiv, 17. In timp ce
scopul aparent al acestor interogări este de a afla informații precum măștile de adrese
și timpurile actuale, pot fi folosite cu ușurință pentru descoperirea gazdei. Un sistem care răspunde
este activ și disponibil. Nmap nu implementează în prezent pachete de solicitare de informații, așa cum
nu sunt susținute pe scară largă. RFC 1122 insistă că „o gazdă NU TREBUIE să implementeze
aceste mesaje”. Interogările de marcaj de timp și masca de adresă pot fi trimise cu -PP și -P.M
opțiuni, respectiv. Un răspuns marcat de timp (cod ICMP 14) sau un răspuns la mască de adresă (cod
18) dezvăluie că gazda este disponibilă. Aceste două interogări pot fi valoroase când
administratorii blochează în mod specific pachetele de solicitare de ecou în timp ce îl uită pe celălalt
Interogările ICMP pot fi utilizate în același scop.
-PIC protocol listă (Ping protocol IP) .
Una dintre opțiunile mai noi de descoperire a gazdei este protocolul ping IP, care trimite IP
pachete cu numărul de protocol specificat setat în antetul lor IP. Lista de protocol
are același format ca și listele de porturi din TCP, UDP și SCTP discutate anterior
opțiuni de descoperire a gazdei. Dacă nu sunt specificate protocoale, implicit este să trimiți mai multe
Pachete IP pentru ICMP (protocol 1), IGMP (protocol 2) și IP-in-IP (protocol 4). The
protocoalele implicite pot fi configurate la compilare prin schimbare
DEFAULT_PROTO_PROBE_PORT_SPEC. în nmap.h. Rețineți că pentru ICMP, IGMP, TCP (protocol
6), UDP (protocolul 17) și SCTP (protocolul 132), pachetele sunt trimise cu
antete de protocol. în timp ce alte protocoale sunt trimise fără date suplimentare dincolo de
Antet IP (cu excepția cazului în care oricare dintre --date, --data-string, --lungimea-datelor opțiunile sunt
specificat).
Această metodă de descoperire a gazdei caută fie răspunsuri folosind același protocol ca a
sondă sau mesaje de inaccesibil al protocolului ICMP care înseamnă că protocolul dat
nu este acceptat pe gazda de destinație. Oricare tip de răspuns înseamnă că
gazda țintă este în viață.
-RELATII CU PUBLICUL (ARP Ping) .
Unul dintre cele mai comune scenarii de utilizare a Nmap este scanarea unei rețele LAN Ethernet. Pe majoritatea rețelelor LAN,
în special cei care folosesc intervale de adrese private specificate de RFC 1918[5], vastul
majoritatea adreselor IP sunt neutilizate la un moment dat. Când Nmap încearcă să trimită un raw
Pachetul IP, cum ar fi o cerere de ecou ICMP, sistemul de operare trebuie să determine
adresa hardware de destinație (ARP) corespunzătoare IP-ului țintă, astfel încât să poată
adresa în mod corespunzător cadrului Ethernet. Acest lucru este adesea lent și problematic, deoarece
sistemele de operare nu au fost scrise cu așteptarea pe care ar trebui să o facă
milioane de solicitări ARP împotriva gazdelor indisponibile într-o perioadă scurtă de timp.
Scanarea ARP pune Nmap și algoritmii săi optimizați să se ocupe de solicitările ARP. Și dacă este
primește un răspuns înapoi, Nmap nici măcar nu trebuie să-și facă griji cu privire la pachetele ping bazate pe IP
deoarece știe deja că gazda este sus. Acest lucru face ca scanarea ARP să fie mult mai rapidă și mai mult
fiabile decât scanările bazate pe IP. Deci, se face implicit atunci când scanați gazdele Ethernet
pe care Nmap le detectează sunt pe o rețea ethernet locală. Chiar dacă diferite tipuri de ping (cum ar fi
as -PICIOR or -PS) sunt specificate, Nmap folosește ARP în schimb pentru oricare dintre țintele care sunt
pe aceeași rețea LAN. Dacă nu doriți să faceți o scanare ARP, specificați
--disable-arp-ping.
Pentru IPv6 (opțiune -6), -RELATII CU PUBLICUL folosește ICMPv6 Neighbor Discovery în loc de ARP. Vecin
Descoperirea, definită în RFC 4861, poate fi văzută ca echivalentul IPv6 al ARP.
--disable-arp-ping (Fără ARP sau ND Ping).
Nmap efectuează în mod normal descoperirea ARP sau IPv6 Neighbor Discovery (ND) a celor conectate local
gazde ethernet, chiar dacă alte opțiuni de descoperire a gazdei, cum ar fi -Pn or -PICIOR sunt utilizate. La
dezactivați acest comportament implicit, utilizați --disable-arp-ping opțiune.
Comportamentul implicit este în mod normal mai rapid, dar această opțiune este utilă în rețelele care utilizează
proxy ARP, în care un router răspunde în mod speculativ la toate solicitările ARP, făcând fiecare
ținta pare să fie ridicată conform scanării ARP.
--traceroute (Trace calea către gazdă) .
Traceroutes sunt efectuate după scanare folosind informațiile din rezultatele scanării la
determinați portul și protocolul cel mai probabil să atingă ținta. Funcționează cu toate
tipuri de scanare, cu excepția scanărilor de conectare (-Sf) și scanări inactiv (-si). Toate urmele folosesc Nmap
model de sincronizare dinamică și sunt efectuate în paralel.
Traceroute funcționează prin trimiterea de pachete cu un TTL scăzut (time-to-live) în încercarea de a
atrage mesaje ICMP Time Exceeded de la hopurile intermediare dintre scaner și
gazdă țintă. Implementările standard de traceroute încep cu un TTL de 1 și se incrementează
TTL până când se ajunge la gazda destinație. Traceroute Nmap începe cu un mare
TTL și apoi scade TTL până când ajunge la zero. Făcând-o înapoi, permite Nmap
folosiți algoritmi inteligenți de stocare în cache pentru a accelera trasările pe mai multe gazde. In medie
Nmap trimite cu 5-10 pachete mai puține pe gazdă, în funcție de condițiile rețelei. Dacă un singur
subrețeaua este scanată (adică 192.168.0.0/24) Nmap poate trebui să trimită doar două pachete
pentru majoritatea gazdelor.
-n (Fără rezoluție DNS) .
Spune lui Nmap să nu faceți rezoluția DNS inversă pentru adresele IP active pe care le găsește.
Deoarece DNS poate fi lent chiar și cu soluția stub paralelă încorporată în Nmap, această opțiune
poate reduce timpii de scanare.
-R (Rezoluție DNS pentru toate țintele) .
Spune lui Nmap să mereu faceți rezoluția DNS inversă pe adresele IP țintă. În mod normal
DNS invers este efectuat numai împotriva gazdelor receptive (online).
--system-dns (Utilizați soluția DNS de sistem) .
În mod implicit, Nmap rezolvă adresele IP trimițând interogări direct la serverele de nume
configurat pe gazda dvs. și apoi ascultați răspunsuri. Multe cereri (adesea zeci)
sunt efectuate în paralel pentru a îmbunătăți performanța. Specificați această opțiune pentru a utiliza
rezolutor de sistem în schimb (un IP la un moment dat prin intermediul getnameinfo apel). Acest lucru este mai lent
și rar utilă decât dacă găsiți o eroare în soluția paralelă Nmap (vă rugăm să ne lăsați
știi dacă o faci). Soluția de sistem este întotdeauna utilizată pentru scanările IPv6.
--dns-server server1[,server2[,...]] (Servere de utilizat pentru interogări DNS inverse) .
În mod implicit, Nmap determină serverele dvs. DNS (pentru rezoluția rDNS) din dvs
rezolv.conf (Unix) sau Registry (Win32). Alternativ, puteți utiliza acest lucru
opțiunea de a specifica servere alternative. Această opțiune nu este onorată dacă utilizați
--system-dns sau o scanare IPv6. Utilizarea mai multor servere DNS este adesea mai rapidă, mai ales
dacă alegeți servere autorizate pentru spațiul IP-țintă. Această opțiune poate, de asemenea
îmbunătățiți stealth-ul, deoarece solicitările dvs. pot fi respinse aproape de orice DNS recursiv
server pe Internet.
Această opțiune este, de asemenea, utilă atunci când scanați rețele private. Uneori doar câteva
serverele de nume oferă informații rDNS adecvate și este posibil să nu știți nici măcar unde sunt
sunt. Puteți scana rețeaua pentru portul 53 (poate cu detectarea versiunii), apoi încercați
Scanări liste Nmap (-sL) specificând fiecare server de nume unul câte unul cu --dns-server
până când găsești unul care funcționează.
PORT SCANARE BAZELE
În timp ce Nmap a crescut în funcționalitate de-a lungul anilor, a început ca un port eficient
scaner, iar aceasta rămâne funcția sa de bază. Comanda simplă nmap ţintă scanează 1,000
porturi TCP pe gazdă ţintă. În timp ce multe scanere de porturi au concentrat în mod tradițional toate porturile
în stările deschise sau închise, Nmap este mult mai granular. Împarte porturile în șase
stări: deschis, închis, filtrat, nefiltrat, deschis|filtrat sau închis|filtrat.
Aceste stări nu sunt proprietăți intrinseci ale portului în sine, ci descriu cum vede Nmap
lor. De exemplu, o scanare Nmap din aceeași rețea ca și ținta poate afișa portul 135/tcp
ca deschis, în timp ce o scanare în același timp cu aceleași opțiuni de pe Internet
ar putea arăta acel port ca fiind filtrat.
şase port Statele recunoscut by Nmap
O aplicație acceptă în mod activ conexiuni TCP, datagrame UDP sau SCTP
asociatii de pe acest port. Găsirea acestora este adesea scopul principal al scanării portului.
Oamenii care se gândesc la securitate știu că fiecare port deschis este o cale de atac. Atacatorii și
pen-testerii vor să exploateze porturile deschise, în timp ce administratorii încearcă să închidă sau
protejați-i cu firewall-uri fără a dejuta utilizatorii legitimi. Porturile deschise sunt, de asemenea
interesante pentru scanări non-securitate, deoarece arată serviciile disponibile pentru utilizare pe
rețea.
Un port închis este accesibil (primește și răspunde la pachetele probei Nmap), dar
nu există nicio aplicație care ascultă pe el. Ele pot fi de ajutor pentru a arăta că o gazdă este
pe o adresă IP (descoperire gazdă sau scanare ping) și ca parte a detectării sistemului de operare.
Deoarece porturile închise sunt accesibile, ar putea fi în valoare de scanare mai târziu în cazul în care unele se deschid
sus. Administratorii ar putea dori să ia în considerare blocarea unor astfel de porturi cu un firewall. Atunci ei
ar apărea în starea filtrată, discutată în continuare.
Nmap nu poate determina dacă portul este deschis deoarece filtrarea pachetelor îl împiedică
sondele să ajungă în port. Filtrarea ar putea fi de la un firewall dedicat
dispozitiv, reguli de router sau software firewall bazat pe gazdă. Aceste porturi frustrează atacatorii
pentru că oferă atât de puține informații. Uneori, ei răspund cu eroare ICMP
mesaje precum codul de tip 3 13 (destinație inaccesibilă: comunicare
interzis din punct de vedere administrativ), dar filtre care pur și simplu aruncă probe fără a răspunde
sunt mult mai frecvente. Acest lucru forțează Nmap să reîncerce de mai multe ori, în cazul în care sonda
a fost abandonat din cauza congestionării rețelei, mai degrabă decât a filtrării. Acest lucru încetinește scanarea
dramatic.
Starea nefiltrată înseamnă că un port este accesibil, dar Nmap nu poate determina
indiferent dacă este deschis sau închis. Numai scanarea ACK, care este folosită pentru a mapa firewall
seturi de reguli, clasifică porturile în această stare. Scanarea porturilor nefiltrate cu alte scanări
tipuri precum Scanarea ferestrei, scanarea SYN sau scanarea FIN, pot ajuta la rezolvarea faptului dacă este portul
deschis.
Nmap plasează porturile în această stare atunci când nu poate determina dacă un port este deschis
sau filtrat. Acest lucru se întâmplă pentru tipurile de scanare în care porturile deschise nu dau niciun răspuns. Lipsa
de răspuns ar putea însemna, de asemenea, că un filtru de pachete a scăpat sonda sau orice răspuns
a provocat. Deci Nmap nu știe sigur dacă portul este deschis sau este filtrat.
Scanările UDP, IP, FIN, NULL și Xmas clasifică porturile în acest fel.
Această stare este utilizată atunci când Nmap nu poate determina dacă un port este închis sau
filtrat. Este folosit doar pentru scanarea inactivă a ID-ului IP.
PORT SCANARE TEHNICI
În calitate de novice care efectuează reparații auto, pot să mă chinui ore întregi încercând să mă potrivesc
instrumente rudimentare (ciocan, bandă adezivă, cheie etc.) la sarcina în cauză. Când eșuez
lamentabil și remorcă-mi jalopy la un mecanic adevărat, el pescuiește invariabil într-o unealtă uriașă
piept până când scoateți dispozitivul perfect care face ca munca să pară fără efort. Arta de a
scanarea portului este similară. Experții înțeleg zecile de tehnici de scanare și aleg
una (sau combinație) adecvată pentru o anumită sarcină. Utilizatori neexperimentați și script
copii,. pe de altă parte, încercați să rezolvați fiecare problemă cu scanarea SYN implicită. De cand
Nmap este gratuit, singura barieră în calea stăpânirii scanării portului este cunoașterea. Asta cu siguranță bate
lumea automobilelor, unde poate fi nevoie de o mare îndemânare pentru a determina că aveți nevoie de o lonză
compresor cu arc, atunci mai trebuie să plătiți mii de dolari pentru el.
Majoritatea tipurilor de scanare sunt disponibile numai pentru utilizatorii privilegiați. Acest lucru se datorează faptului că trimit
și primiți pachete brute,. care necesită acces root pe sistemele Unix. Folosind un
Este recomandat un cont de administrator pe Windows, deși Nmap funcționează uneori pentru
utilizatorii neprivilegiati pe platforma respectivă când WinPcap a fost deja încărcat în sistemul de operare.
Solicitarea privilegiilor root a fost o limitare serioasă când Nmap a fost lansat în 1997,
utilizatorii aveau acces doar la conturi shell partajate. Acum, lumea este diferită. Calculatoarele sunt
mai ieftin, mult mai mulți oameni au acces direct la Internet permanent și sisteme desktop Unix
(inclusiv Linux și Mac OS X) sunt predominante. O versiune Windows a Nmap este acum disponibilă,
permițându-i să ruleze pe și mai multe desktop-uri. Din toate aceste motive, utilizatorii au mai puțină nevoie
rulați Nmap din conturi shell partajate limitate. Acest lucru este norocos, ca opțiunile privilegiate
faceți Nmap mult mai puternic și mai flexibil.
În timp ce Nmap încearcă să producă rezultate precise, rețineți că toate informațiile sale sunt
pe baza pachetelor returnate de mașinile țintă (sau firewall-urile din fața lor). Astfel de
gazdele pot fi nedemne de încredere și pot trimite răspunsuri menite să încurce sau să inducă în eroare Nmap. Mult
mai frecvente sunt gazdele care nu sunt conforme cu RFC care nu răspund așa cum ar trebui la sondele Nmap.
Scanările FIN, NULL și Xmas sunt deosebit de susceptibile la această problemă. Asemenea probleme sunt
specifice anumitor tipuri de scanare și astfel sunt discutate în intrările individuale ale tipurilor de scanare.
Această secțiune documentează cele douăzeci și ceva de tehnici de scanare porturi acceptate de Nmap. Unul singur
metoda poate fi utilizată o dată, cu excepția scanării UDP (-a lui) și oricare dintre scanările SCTP
tipuri (-sY, -sZ) poate fi combinat cu oricare dintre tipurile de scanare TCP. Ca ajutor de memorie, port
opțiunile de tip de scanare sunt de formă -sC, În cazul în care C este un personaj proeminent în numele scanării,
de obicei primul. Singura excepție de la aceasta este scanarea de respingere FTP depreciată (-b). De
implicit, Nmap efectuează o scanare SYN, deși înlocuiește o scanare de conectare dacă utilizatorul o face
nu au privilegii adecvate pentru a trimite pachete brute (necesită acces root pe Unix). Dintre
scanările enumerate în această secțiune, utilizatorii neprivilegiati pot executa numai conectarea și retragerea FTP
scanează.
-H.H (Scanare TCP SYN) .
Scanarea SYN este opțiunea de scanare implicită și cea mai populară din motive întemeiate. Poate fi
efectuat rapid, scanând mii de porturi pe secundă pe o rețea rapidă nu
împiedicate de firewall-uri restrictive. Este, de asemenea, relativ discret și ascuns
deoarece nu completează niciodată conexiunile TCP. Scanarea SYN funcționează împotriva oricărui TCP compatibil
stiva, mai degrabă decât să depindă de idiosincraziile unor platforme specifice ca Nmap
Scanările FIN/NULL/Xmas, Maimon și inactiv fac. De asemenea, permite clar, fiabil
diferențierea între stările deschis, închis și filtrat.
Această tehnică este adesea denumită scanare pe jumătate deschisă, deoarece nu deschideți o
conexiune TCP completă. Trimiteți un pachet SYN, ca și cum ați deschide un pachet real
conexiune și apoi așteptați un răspuns. Un SYN/ACK indică că portul ascultă
(deschis), în timp ce un RST (resetare) indică un non-ascultător. Dacă nici un răspuns este
primit după mai multe retransmisii, portul este marcat ca filtrat. Portul este
de asemenea, marcat ca filtrat în cazul unei erori ICMP inaccesibile (tip 3, cod 0, 1, 2, 3, 9, 10 sau
13) este primit. Portul este considerat deschis și dacă un pachet SYN (fără ACK
steag) este primit ca răspuns. Acest lucru se poate datora unei caracteristici TCP extrem de rare cunoscute
ca o conexiune de strângere de mână deschisă sau divizată simultană (vezi
https://nmap.org/misc/split-handshake.pdf).
-Sf (Scanare conexiune TCP) .
Scanarea conexiunii TCP este tipul de scanare TCP implicit atunci când scanarea SYN nu este o opțiune. Aceasta este
cazul în care un utilizator nu are privilegii de pachet brut. În loc să scrii brut
pachete, așa cum fac majoritatea celorlalte tipuri de scanare, Nmap cere sistemului de operare de bază
stabiliți o conexiune cu mașina și portul țintă prin emiterea conectaţi sistem
apel. Acesta este același apel de sistem de nivel înalt pe care îl folosesc browserele web, clienții P2P și majoritatea
alte aplicații activate în rețea folosesc pentru a stabili o conexiune. Face parte dintr-un
interfață de programare cunoscută sub numele de Berkeley Sockets API. În loc să citească pachetul brut
răspunsurile de pe fir, Nmap folosește acest API pentru a obține informații despre starea fiecăruia
încercare de conectare.
Când scanarea SYN este disponibilă, este de obicei o alegere mai bună. Nmap are mai puțin control asupra
nivelul înalt conectaţi apel decât cu pachetele brute, făcându-l mai puțin eficient. The
apelul de sistem completează conexiunile pentru a deschide porturile țintă, în loc să efectueze
resetare pe jumătate deschisă pe care o face scanarea SYN. Acest lucru nu numai că durează mai mult și necesită mai mult
pachete pentru a obține aceleași informații, dar este mai probabil ca mașinile țintă să înregistreze
conexiune. Un IDS decent va prinde fie, dar majoritatea mașinilor nu au o astfel de alarmă
sistem. Multe servicii de pe sistemul dumneavoastră Unix obișnuit vor adăuga o notă la syslog și
uneori un mesaj de eroare criptic, când Nmap se conectează și apoi închide conexiunea
fără a trimite date. Serviciile cu adevărat jalnice se prăbușesc atunci când se întâmplă acest lucru, deși este
neobișnuit. Un administrator care vede o grămadă de încercări de conectare în jurnalele ei de la a
un singur sistem ar trebui să știe că ea a fost scanată conectată.
-a lui (scanări UDP) .
În timp ce cele mai populare servicii de pe Internet rulează prin protocolul TCP, UDP[6] servicii
sunt amplasate pe scară largă. DNS, SNMP și DHCP (porturile înregistrate 53, 161/162 și 67/68) sunt
trei dintre cele mai comune. Deoarece scanarea UDP este în general mai lentă și mai dificilă
decât TCP, unii auditori de securitate ignoră aceste porturi. Aceasta este o greșeală, la fel de exploatabilă
Serviciile UDP sunt destul de comune și atacatorii cu siguranță nu ignoră întregul protocol.
Din fericire, Nmap poate ajuta la inventarierea porturilor UDP.
Scanarea UDP este activată cu -a lui opțiune. Poate fi combinat cu un tip de scanare TCP
cum ar fi scanarea SYN (-H.H) pentru a verifica ambele protocoale în timpul aceleiași rulări.
Scanarea UDP funcționează prin trimiterea unui pachet UDP către fiecare port vizat. Pentru unele porturi comune
cum ar fi 53 și 161, o sarcină utilă specifică protocolului este trimisă pentru a crește rata de răspuns, dar
pentru cele mai multe porturi, pachetul este gol, cu excepția cazului în care --date, --data-string, --lungimea-datelor
sunt specificate optiunile. Dacă se returnează o eroare de inaccesibil al portului ICMP (tip 3, cod 3),
portul este închis. Alte erori ICMP inaccesibile (tip 3, coduri 0, 1, 2, 9, 10 sau
13) marcați portul ca fiind filtrat. Ocazional, un serviciu va răspunde cu un pachet UDP,
dovedind că este deschis. Dacă nu se primește niciun răspuns după retransmisii, portul este
clasificat ca deschis|filtrat. Aceasta înseamnă că portul ar putea fi deschis, sau poate pachet
filtrele blochează comunicarea. Detectarea versiunii (-sV) poate fi folosit pentru a ajuta
diferențiați porturile cu adevărat deschise de cele filtrate.
O mare provocare cu scanarea UDP este să o faci rapid. Porturi deschise și filtrate rar
trimiteți orice răspuns, lăsând Nmap să expire și apoi să efectueze retransmisii chiar în intrare
în cazul în care sonda sau răspunsul au fost pierdute. Porturile închise sunt adesea o problemă și mai mare.
De obicei, trimit înapoi o eroare de inaccesibil al portului ICMP. Dar spre deosebire de pachetele RST trimise
prin porturi TCP închise ca răspuns la o scanare SYN sau conectare, limita de rată a multor gazde. ICMP
porta mesaje inaccesibile în mod implicit. Linux și Solaris sunt deosebit de stricte
acest. De exemplu, nucleul Linux 2.4.20 limitează mesajele destinate inaccesibile la
unul pe secundă (în net/ipv4/icmp.c).
Nmap detectează limitarea ratei și încetinește în consecință pentru a evita inundarea rețelei
cu pachete inutile pe care mașina țintă le va arunca. Din păcate, un stil Linux
limita de un pachet pe secundă face ca o scanare a 65,536 de porturi să dureze mai mult de 18 ore. Idei
pentru a accelera scanările UDP includ scanarea mai multor gazde în paralel, făcând o rapidă
scanarea mai întâi a doar porturile populare, scanarea din spatele firewall-ului și utilizarea
--host-timeout a sări peste gazdele lente.
-sY (SCTP INIT scanare) .
SCTP[7] este o alternativă relativ nouă la protocoalele TCP și UDP, combinând majoritatea
caracteristicile TCP și UDP și, de asemenea, adăugarea de noi caracteristici precum multi-homing și
multi-streaming. Este folosit în mare parte pentru servicii legate de SS7/SIGTRAN, dar are
potențialul de a fi folosit și pentru alte aplicații. Scanarea SCTP INIT este SCTP
echivalentul unei scanări TCP SYN. Poate fi efectuat rapid, scanând mii de porturi
pe secundă într-o rețea rapidă, care nu este împiedicată de firewall-uri restrictive. Ca și scanarea SYN,
Scanarea INIT este relativ discretă și ascunsă, deoarece nu completează niciodată SCTP
asociațiile. De asemenea, permite o diferențiere clară și fiabilă între deschis, închis,
și stări filtrate.
Această tehnică este adesea denumită scanare pe jumătate deschisă, deoarece nu deschideți o
asocierea completă SCTP. Trimiteți o bucată INIT, ca și cum ați deschide un real
asociere și apoi așteptați un răspuns. O bucată INIT-ACK indică faptul că portul este
ascultare (deschis), în timp ce o bucată ABORT indică un non-ascultător. Dacă nu există răspuns
este primit după mai multe retransmisii, portul este marcat ca filtrat. Portul este
de asemenea, marcat ca filtrat în cazul unei erori ICMP inaccesibile (tip 3, cod 0, 1, 2, 3, 9, 10 sau
13) este primit.
-sN; -sF; -s x (Scanări TCP NULL, FIN și Xmas) .
Aceste trei tipuri de scanare (sunt posibile chiar și mai multe cu --scanflag-uri opțiunea descrisă
în secțiunea următoare) exploatează o lacună subtilă în TCP RFC[8] a diferenția
între porturile deschise și închise. Pagina 65 din RFC 793 spune că „dacă portul [destinație].
starea este ÎNCHISĂ.... un segment de intrare care nu conține un RST determină trimiterea unui RST
in raspuns." Apoi, pagina următoare discută pachetele trimise către porturi deschise fără
Biții SYN, RST sau ACK se setează, afirmând că: „Este puțin probabil să ajungi aici, dar dacă o faci,
renunțați la segment și reveniți.”
La scanarea sistemelor compatibile cu acest text RFC, orice pachet care nu conține SYN,
Biții RST sau ACK vor avea ca rezultat un RST returnat dacă portul este închis și nici un răspuns
deloc dacă portul este deschis. Atâta timp cât niciunul dintre acești trei biți nu este inclus, nici unul
combinația celorlalte trei (FIN, PSH și URG) este OK. Nmap exploatează acest lucru cu
trei tipuri de scanare:
Scanare nulă (-sN)
Nu setează niciun biți (antetul steagului TCP este 0)
Scanare FIN (-sF)
Setează doar bitul TCP FIN.
Scanare de Crăciun (-s x)
Setează steaguri FIN, PSH și URG, luminând pachetul ca un pom de Crăciun.
Aceste trei tipuri de scanare sunt exact aceleași în comportament, cu excepția setului de steaguri TCP
în pachete de sondă. Dacă se primește un pachet RST, portul este considerat închis, în timp ce nu
răspuns înseamnă că este deschis|filtrat. Portul este marcat ca filtrat dacă un ICMP este inaccesibil
este primită eroare (tip 3, cod 0, 1, 2, 3, 9, 10 sau 13).
Avantajul cheie al acestor tipuri de scanare este că se pot strecura prin anumite
firewall-uri fără stare și routere de filtrare a pachetelor. Un alt avantaj este că acestea
tipurile de scanare sunt puțin mai ascunse decât chiar și o scanare SYN. Nu conta pe asta
totuși — majoritatea produselor IDS moderne pot fi configurate pentru a le detecta. Marele dezavantaj este
că nu toate sistemele urmează RFC 793 la literă. Un număr de sisteme trimit RST
răspunsuri la sonde, indiferent dacă portul este deschis sau nu. Aceasta cauzează toate
a porturilor care urmează să fie etichetate închise. Principalele sisteme de operare care fac acest lucru sunt Microsoft
Windows, multe dispozitive Cisco, BSDI și IBM OS/400. Această scanare funcționează împotriva celor mai mulți
Cu toate acestea, sisteme bazate pe Unix. Un alt dezavantaj al acestor scanări este că nu pot
distingeți porturile deschise de anumite porturi filtrate, lăsându-vă cu răspunsul
deschis|filtrat.
-sA (Scanare TCP ACK) .
Această scanare este diferită de celelalte discutate până acum prin faptul că nu determină niciodată
porturi deschise (sau chiar deschise|filtrate). Este folosit pentru a mapa seturi de reguli pentru firewall,
determinând dacă sunt cu stare sau nu și care porturi sunt filtrate.
Pachetul de sondă de scanare ACK are setat doar marcajul ACK (cu excepția cazului în care utilizați --scanflag-uri). Când
scanarea sistemelor nefiltrate, porturile deschise și închise vor returna ambele un pachet RST. Nmap
apoi le etichetează ca nefiltrate, ceea ce înseamnă că sunt accesibile de către pachetul ACK, dar
dacă sunt deschise sau închise este nedeterminat. Porturi care nu răspund sau nu trimit
anumite mesaje de eroare ICMP înapoi (tip 3, cod 0, 1, 2, 3, 9, 10 sau 13) sunt etichetate
filtrat.
-sW (Scanare fereastră TCP) .
Scanarea ferestrei este exact aceeași cu scanarea ACK, cu excepția faptului că exploatează o implementare
detalii ale anumitor sisteme pentru a diferenția porturile deschise de cele închise, mai degrabă decât
se imprimă întotdeauna nefiltrat atunci când este returnat un RST. Face acest lucru examinând TCP-ul
Câmpul fereastră al pachetelor RST a fost returnat. Pe unele sisteme, porturile deschise folosesc un pozitiv
dimensiunea ferestrei (chiar și pentru pachetele RST), în timp ce cele închise au o fereastră zero. Deci în loc de
listând întotdeauna un port ca nefiltrat atunci când primește un RST înapoi, Scanarea ferestrei afișează
portul este deschis sau închis dacă valoarea ferestrei TCP din acea resetare este pozitivă sau zero,
respectiv.
Această scanare se bazează pe un detaliu de implementare a unei minorități de sisteme de pe
Internet, așa că nu poți avea întotdeauna încredere în el. De obicei, sistemele care nu o acceptă
returnează toate porturile închise. Desigur, este posibil ca mașina să nu aibă cu adevărat deschisă
porturi. Dacă cele mai multe porturi scanate sunt închise, dar câteva numere de porturi comune (cum ar fi 22, 25,
53) sunt filtrate, sistemul este cel mai probabil susceptibil. Ocazional, sistemele vor
chiar arată comportamentul exact opus. Dacă scanarea arată 1,000 de porturi deschise și trei
porturi închise sau filtrate, atunci cele trei pot fi cele cu adevărat deschise.
-sM (Scanare TCP Maimon) .
Scanarea Maimon este numită după descoperitorul său, Uriel Maimon.. El a descris
tehnică în Phrack Magazine numărul 49 (noiembrie 1996).. Nmap, care includea acest
tehnică, a fost lansat două numere mai târziu. Această tehnică este exact aceeași cu NULL,
Scanări FIN și Xmas, cu excepția faptului că sonda este FIN/ACK. Conform RFC 793[8] (TCP),
un pachet RST ar trebui să fie generat ca răspuns la o astfel de probă dacă portul este deschis
sau închis. Cu toate acestea, Uriel a observat că multe sisteme derivate din BSD pur și simplu aruncă pachetul
dacă portul este deschis.
--scanflag-uri (Scanare TCP personalizată) .
Utilizatorii Nmap cu adevărat avansați nu trebuie să se limiteze la tipurile de scanare conservate oferite.
--scanflag-uri opțiunea vă permite să vă proiectați propria scanare specificând TCP arbitrar
steaguri.. Lasă-ți sucuri creative să curgă, evitând în același timp sistemele de detectare a intruziunilor.
ai căror vânzători au accesat pur și simplu pagina de manual Nmap adăugând reguli specifice!
--scanflag-uri argumentul poate fi o valoare numerică de semnalizare, cum ar fi 9 (PSH și FIN), dar
folosirea numelor simbolice este mai ușoară. Pur și simplu amestecați orice combinație de URG, ACK, PSH,
RST, SYN și FIN. De exemplu, --scanflag-uri URGACKPSHRSTSYNFIN stabilește totul, totuși
nu este foarte util pentru scanare. Ordinea în care acestea sunt specificate este irelevantă.
Pe lângă specificarea steagurilor dorite, puteți specifica un tip de scanare TCP (cum ar fi
-sA or -sF). Acest tip de bază îi spune lui Nmap cum să interpreteze răspunsurile. De exemplu, un SYN
scanarea consideră lipsa de răspuns pentru a indica un port filtrat, în timp ce o scanare FIN tratează
la fel ca deschis|filtrat. Nmap se va comporta la fel ca și pentru tipul de scanare de bază,
cu excepția faptului că va folosi în schimb steagurile TCP pe care le specificați. Dacă nu specificați o bază
tip, este utilizată scanarea SYN.
-sZ (SCTP COOKIE ECHO scanare) .
Scanarea SCTP COOKIE ECHO este o scanare SCTP mai avansată. Profită de fapt
că implementările SCTP ar trebui să arunce în tăcere pachetele care conțin fragmente COOKIE ECHO
pe porturile deschise, dar trimiteți un ABORT dacă portul este închis. Avantajul acestei scanări
tipul este că nu este la fel de evidentă o scanare de port decât o scanare INIT. De asemenea, poate exista
Seturi de reguli firewall fără stare care blochează bucățile INIT, dar nu și fragmentele COOKIE ECHO. Nu
lăsați-vă păcăliți crezând că acest lucru va face o scanare de porturi invizibilă; un IDS bun va fi
capabil să detecteze și scanările SCTP COOKIE ECHO. Dezavantajul este că SCTP COOKIE ECHO scanează
nu poate face diferența între porturile deschise și cele filtrate, lăsându-vă cu starea
deschis|filtrat în ambele cazuri.
-si Zombie gazdă[:probeport] (scanare inactiv) .
Această metodă avansată de scanare permite o scanare cu adevărat oarbă a portului TCP a țintei
(înseamnă că niciun pachet nu este trimis către țintă de la adresa dvs. IP reală). În schimb, a
Atacul unic pe canalul lateral exploatează secvența previzibilă de identificare a fragmentării IP
generație pe gazda zombi pentru a culege informații despre porturile deschise de pe țintă.
Sistemele IDS vor afișa scanarea ca provenind de la mașina zombie pe care o specificați (care
trebuie să fie sus și să îndeplinească anumite criterii). Acest tip de scanare fascinant este prea complex
descrie pe deplin în acest ghid de referință, așa că am scris și postat o lucrare informală cu
detalii complete la https://nmap.org/book/idlescan.html.
Pe lângă faptul că este extraordinar de ascuns (datorită naturii sale oarbe), acest tip de scanare
permite cartografierea relațiilor de încredere bazate pe IP între mașini. Lista portului
arată porturile deschise din il perspectivă of il Zombie gazdă. Deci puteți încerca să scanați a
țintă folosind diverși zombi în care crezi că ar putea fi de încredere. (prin router/pachet
regulile de filtrare).
Puteți adăuga două puncte urmate de un număr de port la gazda zombi dacă doriți să sondați
un anumit port de pe zombi pentru modificările ID-ului IP. În caz contrar, Nmap va folosi portul
folosește implicit pentru ping-uri TCP (80).
-asa de (Scanare protocol IP) .
Scanarea protocolului IP vă permite să determinați ce protocoale IP (TCP, ICMP, IGMP etc.)
sunt suportate de mașinile țintă. Din punct de vedere tehnic, aceasta nu este o scanare de porturi, deoarece ciclul
prin numerele de protocol IP, mai degrabă decât prin numerele de porturi TCP sau UDP. Cu toate acestea, încă folosește
-p opțiunea de a selecta numerele de protocol scanate, își raportează rezultatele în limitele normale
formatul tabelului de porturi și chiar utilizează același motor de scanare subiacent ca și portul adevărat
metode de scanare. Deci este suficient de aproape de o scanare a porturilor încât să aparțină aici.
Pe lângă faptul că este utilă în sine, scanarea protocolului demonstrează puterea
software cu sursă deschisă. Deși ideea fundamentală este destul de simplă, nu m-am gândit
pentru a-l adăuga și nu a primit nicio solicitare pentru o astfel de funcționalitate. Apoi în vara lui
2000, Gerhard Rieger. am conceput ideea, a scris un patch excelent implementând-o,
și l-a trimis la lista de corespondență de anunț. (numit apoi nmap-hackeri).. I
a încorporat acel patch în arborele Nmap și a lansat o nouă versiune a doua zi.
Puține piese de software comercial au utilizatorii suficient de entuziaști pentru a proiecta și
contribuie cu propriile îmbunătățiri!
Scanarea protocolului funcționează în mod similar cu scanarea UDP. În loc să repetați prin
câmpul număr de port al unui pachet UDP, trimite antete de pachet IP și iterează prin
câmp de protocol IP pe opt biți. Anteturile sunt de obicei goale, nu conțin date și nu
chiar și antetul potrivit pentru protocolul revendicat. Excepțiile sunt TCP, UDP, ICMP,
SCTP și IGMP. Un antet de protocol adecvat pentru aceștia este inclus deoarece unele sisteme
nu le va trimite altfel și pentru că Nmap are deja funcții pentru a le crea.
În loc să urmăriți mesajele inaccesibile din portul ICMP, scanarea protocolului este pe
caută ICMP protocol mesaje inaccesibile. Dacă Nmap primește vreun răspuns în oricare
protocol de la gazda țintă, Nmap marchează acel protocol ca deschis. Un protocol ICMP
eroare de neatins (tip 3, cod 2) face ca protocolul să fie marcat ca închis în timp ce
portul inaccesibil (tip 3, cod 3) marchează protocolul deschis. Alte ICMP inaccesibile
erori (tip 3, cod 0, 1, 9, 10 sau 13) fac ca protocolul să fie marcat filtrat
(deși dovedesc că ICMP este deschis în același timp). Dacă nu se primește niciun răspuns
după retransmisii, protocolul este marcat deschis|filtrat
-b FTP releu gazdă (Scanare de respingere FTP) .
O caracteristică interesantă a protocolului FTP (RFC 959[9]) este suport pentru așa-numitul proxy
Conexiuni FTP. Acest lucru permite unui utilizator să se conecteze la un server FTP, apoi să ceară acele fișiere
să fie trimis la un server terță parte. O astfel de caracteristică este pregătită pentru abuz pe mai multe niveluri, deci
majoritatea serverelor au încetat să-l mai suporte. Unul dintre abuzurile pe care le permite această caracteristică este
determinând serverul FTP să scaneze porturile altor gazde. Pur și simplu cereți serverului FTP să trimită un
fișier la fiecare port interesant al unei gazde țintă, pe rând. Mesajul de eroare va
descrieți dacă portul este deschis sau nu. Aceasta este o modalitate bună de a ocoli firewall-urile
deoarece serverele FTP organizaționale sunt adesea plasate acolo unde au mai mult acces
alte gazde interne decât orice gazdă de Internet veche. Nmap acceptă scanarea de respingere FTP
cu -b opțiune. Ia un argument de formă nume de utilizator:parola@serverul:port.
server de este numele sau adresa IP a unui server FTP vulnerabil. Ca și în cazul unui URL normal, dvs
poate omite nume de utilizator:parola, caz în care date de conectare anonime (utilizator: anonim
parola:-wwwuser@) sunt utilizate. Numărul portului (și două puncte precedente) poate fi omis ca
bine, caz în care portul FTP implicit (21) este activat serverul este folosit.
Această vulnerabilitate a fost larg răspândită în 1997, când a fost lansat Nmap, dar a fost în mare măsură
fix. Servere vulnerabile sunt încă în jur, așa că merită încercat când toate celelalte nu reușesc.
Dacă ocolirea unui firewall este scopul tău, scanează rețeaua țintă pentru portul 21 (sau chiar pentru
orice servicii FTP dacă scanați toate porturile cu detectarea versiunii) și utilizați ftp-bounce.
Script NSE. Nmap vă va spune dacă gazda este vulnerabilă sau nu. Daca esti doar
încercând să vă acoperiți urmele, nu trebuie (și, de fapt, nu ar trebui) să vă limitați
dvs. către gazdele din rețeaua țintă. Înainte de a începe să scanați Internet aleatoriu
adrese pentru serverele FTP vulnerabile, luați în considerare că administratorii de sistem ar putea să nu vă aprecieze
abuzând de serverele lor în acest fel.
PORT SPECIFICAȚIE AND SCAN COMANDA
Pe lângă toate metodele de scanare discutate anterior, Nmap oferă opțiuni pentru
specificând ce porturi sunt scanate și dacă ordinea de scanare este randomizată sau secvenţială.
În mod implicit, Nmap scanează cele mai comune 1,000 de porturi pentru fiecare protocol.
-p port game (Scanați doar porturile specificate) .
Această opțiune specifică porturile pe care doriți să le scanați și înlocuiește valoarea implicită.
Numerele de porturi individuale sunt OK, la fel ca și intervalele separate printr-o cratimă (de exemplu, 1-1023).
Valorile de început și/sau de sfârșit ale unui interval pot fi omise, determinând Nmap să folosească 1 și
65535, respectiv. Deci puteti specifica -p- pentru a scana porturile de la 1 la 65535.
Scanare portul zero. este permis dacă îl specificați în mod explicit. Pentru scanarea protocolului IP
(-asa de), această opțiune specifică numerele de protocol pe care doriți să le scanați (0–255).
Când scanați o combinație de protocoale (de exemplu, TCP și UDP), puteți specifica a
un anumit protocol precedând numerele de port cu T: pentru TCP, U: pentru UDP, S: pentru
SCTP sau P: pentru Protocolul IP. Calificatorul durează până când specificați un alt calificativ.
De exemplu, argumentul -p U:53,111,137,T:21-25,80,139,8080 ar scana porturile UDP 53,
111 și 137, precum și porturile TCP listate. Rețineți că pentru a scana atât UDP, cât și TCP, dvs
trebuie precizat -a lui și cel puțin un tip de scanare TCP (cum ar fi -H.H, -sF, -Sf). Daca nu
este dat un calificator de protocol, numerele de port sunt adăugate la toate listele de protocoale. Porturi
poate fi specificat și după nume, în funcție de ceea ce se face referire la portul în
nmap-services. Puteți folosi chiar și metacaracterele * și ? cu numele. De exemplu, să
scanați FTP și toate porturile ale căror nume încep cu „http”, utilizați -p ftp,http*. Atenție
despre extinderile de shell și citați argumentul la -p dacă nesigur.
Gamele de porturi pot fi înconjurate de paranteze drepte pentru a indica porturile din interiorul acestora
interval care apar în nmap-services. De exemplu, următoarele vor scana toate porturile în
nmap-services egal cu sau mai mic de 1024: -p [-1024]. Fiți atenți la expansiunile shell-ului și
cita argumentul la -p dacă nesigur.
--exclude-porturi port game (Excludeți porturile specificate de la scanare) .
Această opțiune specifică porturile pe care doriți să le excludă Nmap de la scanare. The port
game sunt specificate similar cu -p. Pentru scanarea protocolului IP (-asa de), această opțiune
specifică numerele de protocol pe care doriți să le excludeți (0–255).
Când li se solicită excluderea porturilor, acestea sunt excluse de la toate tipurile de scanări (de ex
nu vor fi scanate sub nicio formă). Aceasta include și descoperirea
fază.
-F (Scanare rapidă (port limitat)) .
Specifică faptul că doriți să scanați mai puține porturi decât cea implicită. În mod normal, Nmap scanează
cele mai comune 1,000 de porturi pentru fiecare protocol scanat. Cu -F, aceasta este redusă la 100.
Nmap are nevoie de un fișier nmap-services cu informații despre frecvență pentru a ști care
porturile sunt cele mai comune. Dacă informațiile despre frecvența portului nu sunt disponibile, poate
din cauza utilizării unui fișier personalizat de servicii nmap, Nmap scanează toate porturile denumite plus
porturile 1-1024. In acest caz, -F înseamnă să scanezi numai porturile care sunt denumite în servicii
fișier.
-r (Nu randomizați porturile).
În mod implicit, Nmap randomizează ordinea portului scanat (cu excepția faptului că în mod obișnuit
porturile accesibile sunt mutate aproape de început din motive de eficiență). Acest
randomizarea este în mod normal de dorit, dar puteți specifica -r pentru secvențial (sortat
de la cel mai mic la cel mai mare) scanarea portului.
--port-raport raport<zecimală număr între 0 și 1>
Scanează toate porturile din fișierul nmap-services cu un raport mai mare decât cel dat. raport
trebuie să fie între 0.0 și 1.1.
--top-porturi n
Scanează n porturile cu cel mai mare raport găsite în fișierul nmap-services după excluderea tuturor porturilor
specificat de --exclude-porturi. n trebuie să fie 1 sau mai mare.
SERVICIU AND VERSIUNE DETECTARE
Indicați Nmap la o mașină de la distanță și vă poate spune că porturile 25/tcp, 80/tcp și 53/udp
sunt deschise. Folosind serviciile sale nmap. baza de date cu aproximativ 2,200 de servicii cunoscute,. Nmap
ar raporta că acele porturi probabil corespund unui server de e-mail (SMTP), server web
(HTTP) și, respectiv, server de nume (DNS). Această căutare este, de obicei, exactă - vastă
majoritatea demonilor care ascultă pe portul TCP 25 sunt, de fapt, servere de e-mail. Totuși, tu
nu ar trebui să pariezi siguranța ta pe asta! Oamenii pot și rula servicii pe porturi ciudate...
Chiar dacă Nmap are dreptate, iar serverul ipotetic de mai sus rulează SMTP, HTTP și DNS
servere, asta nu este o mulțime de informații. Când faceți evaluări de vulnerabilitate (sau chiar
simple inventare de rețea) ale companiilor sau clienților dvs., chiar doriți să știți care
serverele și versiunile de e-mail și DNS rulează. A avea un număr precis de versiune ajută
în mod dramatic în determinarea exploatărilor la care este vulnerabil un server. Detectarea versiunii
vă ajută să obțineți aceste informații.
După ce porturile TCP și/sau UDP sunt descoperite folosind una dintre celelalte metode de scanare, versiunea
detecția interoghează acele porturi pentru a determina mai multe despre ceea ce rulează de fapt. The
nmap-service-probes. baza de date conține probe pentru interogarea diferitelor servicii și potrivire
expresii pentru a recunoaște și analiza răspunsurile. Nmap încearcă să determine protocolul de serviciu
(de ex. FTP, SSH, Telnet, HTTP), numele aplicației (de ex. ISC BIND, Apache httpd, Solaris
telnetd), numărul versiunii, numele gazdei, tipul dispozitivului (de exemplu, imprimantă, router), familia OS
(de exemplu Windows, Linux). Când este posibil, Nmap primește și Enumerarea comună a platformei
(CPE). reprezentarea acestor informatii. Uneori detalii diverse precum dacă
un server X este deschis pentru conexiuni, versiunea protocolului SSH sau numele de utilizator KaZaA sunt
disponibil. Desigur, majoritatea serviciilor nu oferă toate aceste informații. Dacă Nmap a fost
compilat cu suport OpenSSL, se va conecta la serverele SSL pentru a deduce serviciul
ascultând în spatele acelui strat de criptare.. Unele porturi UDP sunt lăsate deschise|filtrate
starea după o scanare a portului UDP nu poate determina dacă portul este deschis sau filtrat.
Detectarea versiunii va încerca să obțină un răspuns de la aceste porturi (la fel cum face cu
porturi deschise) și schimbați starea pentru a deschide dacă reușește. porturile TCP deschise|filtrate sunt
tratate la fel. Rețineți că Nmap -A opțiunea permite, printre altele, detectarea versiunii
lucruri. O lucrare care documentează funcționarea, utilizarea și personalizarea detectării versiunii
este disponibil la https://nmap.org/book/vscan.html.
Când sunt descoperite serviciile RPC, râșnița Nmap RPC. este obișnuit automat
determinați programul RPC și numerele de versiune. Este nevoie de toate porturile TCP/UDP detectate ca
RPC și le inundă cu comenzile NULL ale programului SunRPC în încercarea de a determina dacă
sunt porturi RPC și, dacă da, ce program și numărul de versiune le servesc. Astfel poți
obține efectiv aceleași informații ca și rpcinfo -p chiar dacă portmapper-ul țintei se află în spatele unui
firewall (sau protejat de wrapper-uri TCP). Momeliile nu funcționează în prezent cu scanarea RPC.
Când Nmap primește răspunsuri de la un serviciu, dar nu le poate potrivi cu baza de date, acesta
tipărește o amprentă digitală specială și o adresă URL pe care să o trimiți dacă știi sigur
ce rulează pe port. Vă rugăm să acordați câteva minute pentru a face trimiterea, astfel încât
descoperirea ta poate aduce beneficii tuturor. Datorită acestor trimiteri, Nmap are aproximativ 6,500 de modele
potriviri pentru mai mult de 650 de protocoale, cum ar fi SMTP, FTP, HTTP etc.
Detectarea versiunii este activată și controlată cu următoarele opțiuni:
-sV (Detecția versiunii) .
Activează detectarea versiunii, așa cum sa discutat mai sus. Alternativ, puteți utiliza -A, Care
permite, printre altele, detectarea versiunii.
-sR. este un alias pentru -sV. Înainte de martie 2011, a fost folosit pentru a activa polizorul RPC
separat de detectarea versiunii, dar acum aceste opțiuni sunt întotdeauna combinate.
--allports (Nu excludeți niciun port de la detectarea versiunii) .
În mod implicit, detectarea versiunii Nmap omite portul TCP 9100 deoarece unele imprimante pur și simplu
imprimați orice trimis către acel port, ceea ce duce la zeci de pagini de solicitări HTTP GET,
solicitări binare de sesiune SSL etc. Acest comportament poate fi modificat prin modificarea sau
eliminând directiva Exclude din nmap-service-probes, sau puteți specifica --allports
pentru a scana toate porturile, indiferent de orice directivă Exclude.
--versiune-intensitate intensitate (Setați intensitatea scanării versiunii) .
Când efectuați o scanare a versiunii (-sV), Nmap trimite o serie de sonde, fiecare dintre acestea fiind
a atribuit o valoare de raritate între unu și nouă. Sondele cu numere mai mici sunt eficiente
împotriva unei game largi de servicii comune, în timp ce cele cu numere mai mari sunt rareori
util. Nivelul de intensitate specifică ce sonde trebuie aplicate. Cu cât este mai mare
numărul, cu atât este mai probabil ca serviciul să fie identificat corect. Cu toate acestea, mare
scanările de intensitate durează mai mult. Intensitatea trebuie să fie între 0 și 9.. Valoarea implicită este
7.. Când o sondă este înregistrată la portul țintă prin intermediul nmap-service-probesports
directivă, acea sondă este încercată indiferent de nivelul de intensitate. Acest lucru asigură că
Probele DNS vor fi întotdeauna încercate împotriva oricărui port deschis 53, sonda SSL va fi
făcut împotriva 443 etc.
--versiune-light (Activați modul de lumină) .
Acesta este un alias convenabil pentru --versiune-intensitate 2. Acest mod de lumină face versiune
scanarea mult mai rapidă, dar este puțin mai puțin probabil să identifice serviciile.
--version-toate (Încercați fiecare sondă) .
Un alias pentru --versiune-intensitate 9, asigurându-se că fiecare sonda este încercată
împotriva fiecărui port.
--version-trace (Activitatea de scanare a versiunii de urmărire) .
Acest lucru face ca Nmap să imprime informații extinse de depanare despre ce este scanarea versiunii
face. Este un subset al ceea ce obții --packet-trace.
OS DETECTARE
Una dintre cele mai cunoscute caracteristici ale Nmap este detectarea de la distanță a sistemului de operare folosind stiva TCP/IP
amprentarea. Nmap trimite o serie de pachete TCP și UDP către gazda de la distanță și examinează
practic fiecare fragment din răspunsuri. După efectuarea a zeci de teste, cum ar fi TCP ISN
eșantionare, suport pentru opțiunile TCP și comanda, eșantionarea ID-ului IP și dimensiunea inițială a ferestrei
verificați, Nmap compară rezultatele cu nmap-os-db. bază de date cu peste 2,600 de sisteme de operare cunoscute
amprentă și imprimă detaliile sistemului de operare dacă există o potrivire. Fiecare amprentă include
o descriere textuală liberă a sistemului de operare și o clasificare care furnizează furnizorului
numele (de ex. Sun), sistemul de operare subiacent (de ex. Solaris), generarea sistemului de operare (de ex. 10) și tipul de dispozitiv
(de uz general, router, comutator, consolă de jocuri etc). Majoritatea amprentelor au, de asemenea, un Comun
Enumerarea platformei (CPE). reprezentare, cum ar fi cpe:/o:linux:linux_kernel:2.6.
Dacă Nmap nu poate ghici sistemul de operare al unei mașini și condițiile sunt bune (de exemplu, cel puțin unul
au fost găsite un port deschis și un port închis), Nmap va furniza o adresă URL pe care o puteți folosi pentru a trimite
amprenta dacă știți (cu siguranță) sistemul de operare care rulează pe mașină. Făcând asta tu
contribuie la pool-ul de sisteme de operare cunoscute de Nmap și astfel va fi mai mult
exacte pentru toată lumea.
Detectarea sistemului de operare permite alte teste care folosesc informațiile colectate
oricum în timpul procesului. Una dintre acestea este TCP Sequence Predictability Classification.
Aceasta măsoară aproximativ cât de greu este să stabiliți o conexiune TCP falsificată împotriva
gazda de la distanță. Este util pentru exploatarea relațiilor de încredere bazate pe IP sursă (login,
filtre firewall, etc) sau pentru a ascunde sursa unui atac. Acest tip de falsificare este
mai rar efectuat, dar multe mașini sunt încă vulnerabile la aceasta. Actualul
numărul de dificultate se bazează pe eșantionarea statistică și poate fluctua. Este în general
mai bine să folosiți clasificarea engleză, cum ar fi „worthy challenge” sau „trivial joke”.
Acest lucru este raportat numai în ieșirea normală în verbose (-v) modul. Când modul verbose este activat
împreuna cu -O, este raportată și generarea secvenței IP ID. Majoritatea mașinilor sunt în
clasa „incrementală”, ceea ce înseamnă că incrementează câmpul ID din antetul IP pentru
fiecare pachet pe care îl trimit. Acest lucru îi face vulnerabili la mai multe informații avansate
atacuri de colectare și falsificare.
O altă informație suplimentară activată de detectarea sistemului de operare este o presupunere a timpului de funcționare al unei ținte.
Aceasta folosește opțiunea TCP timestamp (RFC 1323[10]) pentru a ghici când o mașină a fost ultima
repornit. Presupunerea poate fi inexactă din cauza contorului de marcaj de timp care nu este inițializat
la zero sau contorul se revarsă și se înfășoară, deci este tipărit doar în mod verbos
Mod.
O lucrare care documentează funcționarea, utilizarea și personalizarea detectării sistemului de operare este disponibilă la
https://nmap.org/book/osdetect.html.
Detectarea sistemului de operare este activată și controlată cu următoarele opțiuni:
-O (Activați detectarea sistemului de operare) .
Activează detectarea sistemului de operare, așa cum sa discutat mai sus. Alternativ, puteți utiliza -A pentru a activa sistemul de operare
detectarea împreună cu alte lucruri.
--osscan-limit (Limitați detectarea sistemului de operare la ținte promițătoare) .
Detectarea sistemului de operare este mult mai eficientă dacă cel puțin un port TCP deschis și unul închis sunt
găsite. Setați această opțiune și Nmap nici măcar nu va încerca detectarea sistemului de operare împotriva gazdelor care o fac
nu îndeplinesc acest criteriu. Acest lucru poate economisi timp substanțial, în special pe -Pn scanări
împotriva multor gazde. Contează doar când se solicită detectarea sistemului de operare -O or -A.
--osscan-ghici; --neclară (Ghicește rezultatele detectării sistemului de operare).
Când Nmap nu poate detecta o potrivire perfectă a sistemului de operare, uneori oferă aproape potriviri
ca posibilităţi. Potrivirea trebuie să fie foarte apropiată pentru ca Nmap să facă acest lucru în mod implicit.
Oricare dintre aceste opțiuni (echivalente) îl fac pe Nmap să ghicească mai agresiv. Nmap va
încă vă spun când este imprimată o potrivire imperfectă și afișați nivelul de încredere al acesteia
(procent) pentru fiecare presupunere.
--max-os-tries (Setați numărul maxim de încercări de detectare a sistemului de operare față de o țintă) .
Când Nmap efectuează detectarea sistemului de operare împotriva unei ținte și nu reușește să găsească o potrivire perfectă, aceasta
repetă de obicei încercarea. În mod implicit, Nmap încearcă de cinci ori dacă există condiții
favorabil pentru transmiterea amprentelor pentru sistemul de operare și de două ori atunci când condițiile nu sunt atât de bune.
Specificarea unei mai mici --max-os-tries valoarea (cum ar fi 1) accelerează Nmap-ul, deși ratați
reîncercați care ar putea identifica sistemul de operare. Alternativ, o valoare mare
poate fi setat pentru a permite și mai multe încercări atunci când condițiile sunt favorabile. Acest lucru este rar
făcut, cu excepția generării de amprente mai bune pentru trimitere și integrare în
Baza de date Nmap OS.
nmap SCRIPTARE MOTOR (NSE)
Nmap Scripting Engine (NSE) este una dintre cele mai puternice și flexibile caracteristici ale Nmap. Aceasta
permite utilizatorilor să scrie (și să partajeze) scripturi simple (folosind Lua de programare limbă[11].
) pentru a automatiza o mare varietate de sarcini de rețea. Aceste scripturi sunt executate în paralel
cu viteza și eficiența pe care le așteptați de la Nmap. Utilizatorii se pot baza pe creșterea și
set divers de scripturi distribuite cu Nmap sau scrieți propriile lor pentru a satisface nevoile personalizate.
Sarcinile pe care le-am avut în vedere la crearea sistemului includ descoperirea rețelei și mai mult
detectarea versiunii sofisticate, detectarea vulnerabilităților. NSE poate fi folosit chiar și pentru
exploatarea vulnerabilității.
Pentru a reflecta acele utilizări diferite și pentru a simplifica alegerea scripturilor de rulat, fiecare
scriptul conține un câmp care îl asociază cu una sau mai multe categorii. Definit în prezent
categoriile sunt auth, broadcast, default. descoperire, dos, exploatare, extern, fuzzer,
intruziv, malware, sigur, versiune și vuln. Toate acestea sunt descrise la
https://nmap.org/book/nse-usage.html#nse-categories.
Scripturile nu sunt rulate într-un sandbox și, prin urmare, vă pot deteriora accidental sau rău intenționat
sistem sau vă invadează intimitatea. Nu rulați niciodată scripturi de la terți decât dacă aveți încredere în
autori sau ați verificat cu atenție scenariile.
Nmap Scripting Engine este descris în detaliu la https://nmap.org/book/nse.html şi este
controlat de următoarele opțiuni:
-sC .
Efectuează o scanare de scripturi utilizând setul implicit de scripturi. Este echivalent cu
--script=implicit. Unele dintre scripturile din această categorie sunt considerate intruzive și
nu ar trebui să fie rulat împotriva unei rețele țintă fără permisiune.
--script nume de fișier|categorie|director|expresie[,...] .
Execută o scanare de script folosind lista de nume de fișiere, categorii de script și, separate prin virgulă
directoare. Fiecare element din listă poate fi, de asemenea, o expresie booleană care descrie a
set mai complex de scripturi. Fiecare element este interpretat mai întâi ca o expresie, apoi
ca categorie și, în final, ca nume de fișier sau director.
Există două caracteristici speciale numai pentru utilizatorii avansați. Una este să prefixezi numele scripturilor
și expresii cu + pentru a le forța să ruleze chiar dacă în mod normal nu ar face (de ex
serviciul relevant nu a fost detectat pe portul țintă). Celălalt este că argumentul
all pot fi folosite pentru a specifica fiecare script din baza de date Nmap. Fii precaut cu asta
deoarece NSE conține scripturi periculoase, cum ar fi exploatările, autentificarea prin forță brută
crackere și atacuri de tip denial of service.
Numele fișierelor și directoarelor pot fi relative sau absolute. Sunt folosite nume absolute
direct. Căile relative sunt căutate în scripturile fiecăruia dintre următoarele locuri
pana la gasit: --datadir
$NMAPDIR.
~/.nmap (nu se caută pe Windows).
ACASĂ\AppData\Roaming\nmap (numai pe Windows).
directorul care conține executabilul nmap
directorul care conține executabilul nmap, urmat de ../share/nmap
NMAPDATADIR.
directorul curent.
Când este dat un nume de director, Nmap încarcă fiecare fișier din directorul al cărui nume se termină
cu .nse. Toate celelalte fișiere sunt ignorate și directoarele nu sunt căutate recursiv. Când
este dat un nume de fișier, nu trebuie să aibă extensia .nse; se va adauga
automat dacă este necesar. Scripturile Nmap sunt stocate într-un subdirector de scripturi al Nmap
directorul de date implicit (vezi https://nmap.org/book/data-files.html). Pentru eficienta,
scripturile sunt indexate într-o bază de date stocată în scripts/script.db. care enumeră categoria
sau categoriile din care face parte fiecare script. Când vă referiți la scripturi din script.db de către
nume, puteți utiliza un wildcard „*” în stil shell.
nmap --script "http-*"
Încarcă toate scripturile al căror nume începe cu http-, cum ar fi http-auth și http-open-proxy.
Argumentul pentru --script trebuia să fie între ghilimele pentru a proteja wildcard-ul de shell.
Selecția de scripturi mai complicată poate fi făcută folosind operatorii și, sau și nu
construiți expresii booleene. Operatorii au la fel precedenta[12] ca în Lua: nu este
cea mai mare, urmată de și și apoi sau. Puteți modifica prioritatea folosind paranteze.
Deoarece expresiile conțin caractere de spațiu, este necesar să le citați.
nmap --script "nu intruziv"
Încarcă fiecare script, cu excepția celor din categoria intruzivă.
nmap --script "Mod implicit or sigur"
Acest lucru este echivalent din punct de vedere funcțional cu nmap --script "implicit, sigur". Încarcă toate scripturile
care se află în categoria implicită sau în categoria sigură sau ambele.
nmap --script "Mod implicit și sigur"
Încarcă acele scripturi care sunt în atât categoriile implicite și sigure.
nmap --script "(Mod implicit or sigur or intruziv) și nu http-*"
Încarcă scripturi în categoriile implicite, sigure sau intruzive, cu excepția celor ale căror
numele încep cu http-.
--script-args n1=v1,n2={n3=v3},n4={v4,v5} .
Vă permite să furnizați argumente scripturilor NSE. Argumentele sunt o listă separată prin virgulă
perechi nume=valoare. Numele și valorile pot fi șiruri de caractere care nu conțin spații albe sau
caracterele „{”, „}”, „=” sau „,”. Pentru a include unul dintre aceste caractere într-un șir,
includeți șirul între ghilimele simple sau duble. Într-un șir între ghilimele, „\” scapă a
citat. O bară oblică inversă este folosită numai pentru a scăpa de ghilimele în acest caz special; in toate
în alte cazuri, o bară oblică inversă este interpretată literal. Valorile pot fi, de asemenea, tabele incluse
în {}, la fel ca în Lua. Un tabel poate conține valori simple șir sau mai multe nume-valoare
perechi, inclusiv tabele imbricate. Multe scripturi își califică argumentele cu scriptul
nume, ca în xmpp-info.server_name. Puteți utiliza acea versiune completă calificată pentru a afecta
doar scriptul specificat sau puteți trece versiunea necalificată (server_name în
acest caz) pentru a afecta toate scripturile care folosesc acel nume de argument. Un script va verifica mai întâi
pentru numele argumentului complet calificat (numele specificat în documentația sa) înainte
acceptă un nume de argument necalificat. Un exemplu complex de argumente de script este
--script-args
„user=foo,pass=",{}=bar”,whois={whodb=nofollow+ripe},xmpp-info.server_name=localhost”.
Portalul de documentare online al NSE la https://nmap.org/nsedoc/ enumeră argumentele
pe care fiecare script îl acceptă.
--script-args-file nume de fișier .
Vă permite să încărcați argumente în scripturile NSE dintr-un fișier. Orice argumente pe linia de comandă
le înlocuiesc pe cele din dosar. Fișierul poate fi o cale absolută sau o cale relativă la
Calea obișnuită de căutare a Nmap (NMAPDIR, etc.) Argumentele pot fi separate prin virgulă sau
newline-separate, dar în rest urmați aceleași reguli ca și pentru --script-args, fără
necesitând cotare și evadare speciale, deoarece nu sunt analizate de shell.
--script-help nume de fișier|categorie|director|expresie|toate[,...] .
Afișează ajutor despre scripturi. Pentru fiecare script care se potrivește cu specificația dată, Nmap
tipărește numele scriptului, categoriile și descrierea acestuia. Specificatiile sunt
aceleași cu cele acceptate de --script; deci, de exemplu, dacă doriți ajutor cu privire la
Scriptul ftp-anon, ai rula nmap --script-help ftp-anon. Pe lângă obținerea
ajutor pentru scripturi individuale, îl puteți folosi ca o previzualizare a scripturilor care vor fi executate
pentru o specificație, de exemplu cu nmap --script-help lipsă.
--script-trace .
Această opțiune face ce --packet-trace face, doar cu un strat ISO mai sus. Dacă această opțiune
este specificat toate comunicațiile de intrare și de ieșire efectuate de un script sunt tipărite.
Informațiile afișate includ protocolul de comunicare, sursa, ținta
și datele transmise. Dacă mai mult de 5% din toate datele transmise nu sunt imprimabile,
atunci rezultatul de urmărire este într-un format hex dump. Precizând --packet-trace permite
de asemenea, urmărirea scriptului.
--script-updatedb .
Această opțiune actualizează baza de date de script găsită în scripts/script.db, care este utilizată de
Nmap pentru a determina scripturile și categoriile implicite disponibile. Este doar necesar
pentru a actualiza baza de date dacă ați adăugat sau eliminat scripturi NSE din valoarea implicită
directorul de scripturi sau dacă ați schimbat categoriile oricărui script. Această opțiune este
folosit în general de la sine: nmap --script-updatedb.
SINCRONIZARE AND PERFORMANȚĂ
Una dintre prioritățile mele cele mai mari de dezvoltare Nmap a fost întotdeauna performanța. O scanare implicită
(nmap nume de gazdă) a unei gazde din rețeaua mea locală durează o cincime de secundă. Asta abia
suficient timp pentru a clipi, dar se adună atunci când scanați sute sau mii de gazde.
Mai mult, anumite opțiuni de scanare, cum ar fi scanarea UDP și detectarea versiunii, pot crește
timpii de scanare substanțial. La fel și anumite configurații de firewall, în special răspunsul
limitare de rata. În timp ce Nmap utilizează paralelismul și mulți algoritmi avansați pentru a accelera
aceste scanări, utilizatorul are controlul suprem asupra modului în care rulează Nmap. Utilizatori experți cu atenție
creați comenzi Nmap pentru a obține doar informațiile la care le pasă în timp ce le întâlnesc
constrângeri de timp.
Tehnicile pentru îmbunătățirea timpilor de scanare includ omiterea testelor non-critice și actualizarea la
cea mai recentă versiune a Nmap (îmbunătățirile de performanță sunt făcute frecvent). Optimizarea
parametrii de sincronizare pot face, de asemenea, o diferență substanțială. Aceste opțiuni sunt enumerate mai jos.
Unele opțiuni acceptă un parametru de timp. Acest lucru este specificat în secunde în mod implicit, deși dvs
poate adăuga „ms”, „s”, „m” sau „h” la valoare pentru a specifica milisecunde, secunde, minute,
sau ore. Asa ca --host-timeout argumentele 900000ms, 900, 900s și 15m fac toate la fel
lucru.
--min-gazdă numhosts; --max-gazdă numhosts (Ajustați dimensiunile grupului de scanare paralelă) .
Nmap are capacitatea de a scana porta sau de a scana versiuni mai multe gazde în paralel. Nmap
face acest lucru împărțind spațiul IP țintă în grupuri și apoi scanând un grup la a
timp. În general, grupurile mai mari sunt mai eficiente. Dezavantajul este că rezultatele gazdei
nu poate fi furnizat până când întregul grup nu este terminat. Deci, dacă Nmap a început cu un
dimensiunea grupului de 50, utilizatorul nu va primi niciun raport (cu excepția actualizărilor
oferit în modul verbose) până când primele 50 de gazde sunt finalizate.
În mod implicit, Nmap adoptă o abordare de compromis a acestui conflict. Începe cu a
dimensiunea grupului de până la cinci, astfel încât primele rezultate vin rapid și apoi crește
groupsize până la 1024. Numerele implicite exacte depind de opțiunile oferite.
Din motive de eficiență, Nmap utilizează grupuri mai mari pentru scanări UDP sau TCP cu câteva porturi.
Când este specificată o dimensiune maximă a grupului cu --max-gazdă, Nmap nu va depăși niciodată
acea dimensiune. Specificați o dimensiune minimă cu --min-gazdă iar Nmap va încerca să păstreze grupul
dimensiuni peste acel nivel. Nmap poate fi nevoit să folosească grupuri mai mici decât specificați dacă există
nu sunt suficiente gazde țintă rămase pe o anumită interfață pentru a îndeplini cerințele specificate
minim. Ambele pot fi setate pentru a menține dimensiunea grupului într-un interval specific, deși acest lucru
este rar dorit.
Aceste opțiuni nu au efect în timpul fazei de descoperire a gazdei a unei scanări. Acest
include scanări simple ping (-sn). Descoperirea gazdelor funcționează întotdeauna în grupuri mari de gazde
pentru a îmbunătăți viteza și precizia.
Utilizarea principală a acestor opțiuni este de a specifica o dimensiune minimă mare a grupului, astfel încât
scanarea completă rulează mai rapid. O alegere obișnuită este 256 pentru a scana o rețea în clasa C
bucăți. Pentru o scanare cu multe porturi, depășirea acestui număr este puțin probabil să ajute mult.
Pentru scanări de doar câteva numere de porturi, dimensiunile grupurilor de gazdă de 2048 sau mai mult pot fi utile.
--min-paralelism sonde numerice; --max-paralelism sonde numerice (Ajustați paralelizarea sondei) .
Aceste opțiuni controlează numărul total de sonde care pot fi remarcabile pentru o gazdă
grup. Sunt folosite pentru scanarea portului și descoperirea gazdei. În mod implicit, Nmap calculează
un paralelism ideal în continuă schimbare bazat pe performanța rețelei. Dacă pachetele sunt în curs
scăpat, Nmap încetinește și permite mai puține sonde restante. Numărul ideal de sondă
se ridică încet pe măsură ce rețeaua se dovedește demnă. Aceste opțiuni plasează minim sau
limitele maxime ale acelei variabile. În mod implicit, paralelismul ideal poate scădea la unu dacă
rețeaua se dovedește nesigură și se ridică la câteva sute în condiții perfecte.
Cea mai comună utilizare este setarea --min-paralelism la un număr mai mare decât unu la viteză
scanări ale gazdelor sau rețelelor cu performanțe slabe. Aceasta este o opțiune riscantă pentru a te juca,
deoarece setarea prea mare poate afecta precizia. Setarea acestui lucru reduce, de asemenea, capacitatea lui Nmap
pentru a controla paralelismul în mod dinamic pe baza condițiilor rețelei. O valoare de 10 ar putea fi
rezonabil, deși ajustez această valoare doar ca ultimă soluție.
--max-paralelism opțiunea este uneori setată la unu pentru a împiedica Nmap să trimită mai multe
decât o sondă la un moment dat la gazde. The --întârziere-scanare opțiunea, discutată mai târziu, este
un alt mod de a face asta.
--min-rtt-timeout timp, --max-rtt-timeout timp, --initial-rtt-timeout timp (Ajustați sonda
timeout-uri).
Nmap menține o valoare de timeout de rulare pentru a determina cât timp va aștepta a
răspunsul sondei înainte de a renunța sau de a retransmite sonda. Acesta este calculat pe baza
asupra timpilor de răspuns ai sondelor anterioare.
Dacă latența rețelei se arată a fi semnificativă și variabilă, acest timeout poate
crește la câteva secunde. De asemenea, începe la un nivel conservator (înalt) și poate rămâne
în acest fel pentru o vreme când Nmap scanează gazdele care nu răspund.
Specificarea unei mai mici --max-rtt-timeout și --initial-rtt-timeout decât pot fi implicite
reduce semnificativ timpul de scanare. Acest lucru este valabil mai ales pentru pinglesless (-Pn) scanează și
cele împotriva rețelelor puternic filtrate. Totuși, nu fi prea agresiv. Scanarea poate
ajunge să dureze mai mult dacă specificați o valoare atât de scăzută încât multe sonde expiră
și retransmiterea în timp ce răspunsul este în tranzit.
Dacă toate gazdele sunt într-o rețea locală, 100 de milisecunde (--max-rtt-timeout 100ms) este
o valoare agresivă rezonabilă. Dacă este implicată rutarea, trimiteți ping la o gazdă din rețea
mai întâi cu utilitarul ping ICMP sau cu un crafter de pachete personalizat, cum ar fi Nping. acea
este mai probabil să treacă printr-un firewall. Uită-te la timpul maxim de călătorie dus-întors
zece pachete sau cam asa ceva. S-ar putea să vrei să dublezi asta pentru --initial-rtt-timeout și
tripla sau cvadrupla pentru --max-rtt-timeout. In general nu stabilesc maximul
RTT sub 100 ms, indiferent de timpii de ping. Nici nu depășesc 1000 ms.
--min-rtt-timeout este o opțiune rar folosită care ar putea fi utilă atunci când o rețea este așa
nesigur că chiar și implicit Nmap este prea agresiv. Deoarece Nmap reduce doar
timeout până la minim atunci când rețeaua pare să fie fiabilă, această nevoie este
neobișnuit și ar trebui raportat ca o eroare pe lista de corespondență nmap-dev..
--max-reîncercări numere (Specificați numărul maxim de retransmisii de sonde de scanare porturi) .
Când Nmap nu primește niciun răspuns la o sondă de scanare a portului, ar putea însemna că portul este
filtrat. Sau poate sonda sau răspunsul a fost pur și simplu pierdut în rețea. Este, de asemenea
este posibil ca gazda țintă să aibă activată limitarea ratei care a blocat temporar
raspuns. Deci Nmap încearcă din nou retransmițând sonda inițială. Dacă Nmap detectează
fiabilitate slabă a rețelei, poate încerca de mai multe ori înainte de a renunța la un port. In timp ce
acest lucru beneficiază de precizie, de asemenea, prelungește timpul de scanare. Când performanța este critică,
scanările pot fi accelerate prin limitarea numărului de retransmisii permise. Poți chiar
specifica --max-reîncercări 0 pentru a preveni orice retransmisii, deși doar asta
recomandat pentru situații precum sondajele informale în care ocazional porturi ratate și
gazdele sunt acceptabile.
Implicit (cu nr -T template) este de a permite zece retransmisii. Dacă o rețea pare
fiabile și gazdele țintă nu limitează rata, Nmap face de obicei doar una
retransmisie. Deci, majoritatea scanărilor țintă nici măcar nu sunt afectate de scădere --max-reîncercări la
o valoare scăzută, cum ar fi trei. Astfel de valori pot accelera în mod substanțial scanările lente (rate
limitat) gazde. De obicei, pierzi unele informații când Nmap renunță devreme la porturi,
deși asta poate fi de preferat decât a lăsa --host-timeout expiră și pierzând tot
informații despre țintă.
--host-timeout timp (Renunțați la gazdele țintă lente) .
Unele gazde iau pur și simplu un lung timpul să scaneze. Acest lucru se poate datora performanțelor slabe sau
hardware sau software de rețea nesigur, limitarea ratei de pachete sau o restricție
firewall. Cele mai lente procente dintre gazdele scanate pot consuma majoritatea
timpul de scanare. Uneori, cel mai bine este să vă reduceți pierderile și să omiteți inițial acele gazde.
Specifica --host-timeout cu timpul maxim pe care sunteți dispus să așteptați. Pentru
de exemplu, specificați 30 m pentru a vă asigura că Nmap nu pierde mai mult de jumătate de oră pe un
o singură gazdă. Rețineți că Nmap poate scana alte gazde în același timp
jumătate de oră, deci nu este o pierdere completă. O gazdă care expiră este omisă. Fără port
tabelul, detectarea sistemului de operare sau rezultatele detectării versiunii sunt tipărite pentru gazda respectivă.
--întârziere-scanare timp; --max-scan-delay timp (Ajustați întârzierea dintre sonde).
Această opțiune face ca Nmap să aștepte cel puțin un interval de timp dat între fiecare sondă
se trimite la o anumită gazdă. Acest lucru este util în special în cazul limitării ratei..
Mașinile Solaris (printre multe altele) vor răspunde de obicei la pachetele de probe de scanare UDP
cu un singur mesaj ICMP pe secundă. Mai mult decât cel trimis de Nmap va fi
risipitor. A --întârziere-scanare de 1s va menține Nmap la acea rată lentă. Nmap încearcă să detecteze
limitarea ratei și ajustați întârzierea scanării în consecință, dar nu strica să o specificați
explicit, dacă știți deja ce tarif funcționează cel mai bine.
Când Nmap ajustează în sus întârzierea scanării pentru a face față limitării ratei, scanarea încetinește
jos dramatic. The --max-scan-delay opțiunea specifică cea mai mare întârziere pe care Nmap
va permite. Un scăzut --max-scan-delay poate accelera Nmap, dar este riscant. Setarea asta
o valoare prea mică poate duce la retransmisii de pachete irosite și la posibile porturi ratate
când ținta implementează limitarea strictă a ratei.
O altă utilizare a --întârziere-scanare este de a evita detectarea intruziunilor bazată pe prag și
sisteme de prevenire (IDS/IPS)..
--min-rate număr; --rată-max număr (Controlați direct rata de scanare) .
Sincronizarea dinamică a lui Nmap face o treabă bună în găsirea unei viteze adecvate
scanează. Uneori, totuși, s-ar putea întâmpla să cunoașteți o rată de scanare adecvată pentru a
rețea sau poate fi necesar să vă garantați că o scanare se va termina până la un anumit timp.
Sau poate trebuie să împiedicați scanarea Nmap prea repede. The --min-rate și --rată-max
opțiunile sunt concepute pentru aceste situații.
Cand --min-rate opțiunea este dată Nmap va face tot posibilul pentru a trimite pachete la fel de repede
sau mai rapid decât rata dată. Argumentul este un număr real pozitiv care reprezintă a
rata de pachete în pachete pe secundă. De exemplu, specificarea --min-rate 300 înseamnă că
Nmap va încerca să mențină rata de trimitere la sau peste 300 de pachete pe secundă. Precizând
o rată minimă nu împiedică Nmap să meargă mai repede dacă condițiile o justifică.
De asemenea, --rată-max limitează rata de trimitere a unei scanări la un maxim dat. Utilizare --rată-max
100, de exemplu, pentru a limita trimiterea la 100 de pachete pe secundă într-o rețea rapidă. Utilizare
--rată-max 0.1 pentru o scanare lentă a unui pachet la fiecare zece secunde. Utilizare --min-rate și
--rată-max împreună pentru a menține rata într-un anumit interval.
Aceste două opțiuni sunt globale, afectând o scanare întreagă, nu gazde individuale. ei
afectează numai scanările de porturi și scanările de descoperire a gazdei. Alte funcții precum detectarea sistemului de operare
implementează propriul timp.
Există două condiții când rata reală de scanare poate scădea sub cea cerută
minim. Primul este dacă minimul este mai rapid decât rata cea mai rapidă la care poate Nmap
trimite, care depinde de hardware. În acest caz, Nmap va trimite pur și simplu pachete ca
cât mai repede posibil, dar fiți conștienți de faptul că ratele atât de mari sunt susceptibile de a provoca o pierdere de
precizie. Al doilea caz este atunci când Nmap nu are nimic de trimis, de exemplu la sfârșitul
o scanare când ultimele probe au fost trimise și Nmap așteaptă ca acestea să expire sau
i se răspunde. Este normal să vezi că rata de scanare scade la sfârșitul unei scanări sau în
între grupuri gazdă. Rata de trimitere poate depăși temporar maximul de compensare
întârzieri imprevizibile, dar în medie rata va rămâne la sau sub maxim.
Specificarea unei rate minime trebuie făcută cu grijă. Scanarea mai rapidă decât poate o rețea
suportul poate duce la o pierdere a preciziei. În unele cazuri, utilizarea unei rate mai rapide poate face a
scanare luare mai lung decât ar face-o cu o rată mai mică. Acest lucru se datorează faptului că Nmap este adaptiv
algoritmii de retransmisie vor detecta congestionarea rețelei cauzată de o excesivă
rata de scanare și creșterea numărului de retransmisii pentru a îmbunătăți acuratețea.
Deci, deși pachetele sunt trimise la o rată mai mare, în general sunt trimise mai multe pachete. Capac
numărul de retransmisii cu --max-reîncercări opțiune dacă trebuie să setați un
limita superioară a timpului total de scanare.
--defeat-rst-ratelimit .
Multe gazde au folosit de mult timp limitarea ratei. pentru a reduce numărul de mesaje de eroare ICMP
(cum ar fi erorile inaccesibile de port) pe care le trimit. Unele sisteme aplică acum o rată similară
limitele pachetelor RST (resetate) pe care le generează. Acest lucru poate încetini dramatic Nmap
pe măsură ce își ajustează timpul pentru a reflecta acele limite ale ratei. Puteți spune Nmap să ignore
acele limite de rată (pentru scanări de porturi, cum ar fi scanarea SYN care nu face tratați non-responsive
porturi ca fiind deschise) prin specificarea --defeat-rst-ratelimit.
Utilizarea acestei opțiuni poate reduce acuratețea, deoarece unele porturi vor părea neresponsive
deoarece Nmap nu a așteptat suficient pentru un răspuns RST limitat la rata. Cu o scanare SYN,
non-răspunsul are ca rezultat etichetarea portului filtrat mai degrabă decât închis
starea pe care o vedem când sunt primite pachetele RST. Această opțiune este utilă doar atunci când îți pasă
despre porturile deschise, iar distincția între porturile închise și cele filtrate nu merită
timp suplimentar.
--nsock-motor epoll|kqueue|poll|select .
Implementați utilizarea unui anumit motor de multiplexare IO nsock. Doar selectaalternativă bazată pe (2).
motorul este garantat a fi disponibil pe sistemul dumneavoastră. Motoarele sunt numite după nume
a facilitatii de management IO pe care o folosesc. Motoarele implementate în prezent sunt epoll,
kqueue, sondaj și select, dar nu toate vor fi prezente pe orice platformă. Utilizare nmap -V la
vezi ce motoare sunt suportate.
-T paranoic|sneaky|politicos|normal|agresiv|nebun (Setați un șablon de sincronizare) .
În timp ce controalele de sincronizare cu granulație fină discutate în secțiunea anterioară sunt puternice
și eficiente, unii oameni le consideră confuze. Mai mult, alegerea potrivită
valorile pot dura uneori mai mult timp decât scanarea pe care încercați să o optimizați. Deci Nmap
oferă o abordare mai simplă, cu șase șabloane de sincronizare. Le puteți specifica cu -T
opțiunea și numărul lor (0–5) sau numele lor. Numele șablonului sunt paranoid (0),
meschin (1), că sunteți politicos (2), normală. (3), agresiv (4), Şi nebun (5). Primele două sunt
pentru evaziunea IDS. Modul Polite încetinește scanarea pentru a utiliza mai puțină lățime de bandă și mai puțină țintă
resursele mașinii. Modul normal este implicit și așa -T3 nu face nimic. Modul agresiv
accelerează scanările prin ipoteza că sunteți într-un mod rezonabil de rapid și
retea de incredere. În sfârșit, modul nebun. presupune că vă aflați într-o situație extraordinară
rețea rapidă sau sunt dispuși să sacrifice o anumită precizie pentru viteză.
Aceste șabloane permit utilizatorului să specifice cât de agresiv dorește să fie, în timp ce
lăsând Nmap să aleagă valorile exacte de timp. Șabloanele au, de asemenea, o viteză minoră
ajustări pentru care opțiunile de control cu granulație fină nu există în prezent. Pentru
exemplu, -T4. interzice întârzierea scanării dinamice să depășească 10 ms pentru porturile TCP și
-T5 limitează această valoare la 5 ms. Șabloanele pot fi folosite în combinație cu granulație fină
controalele, iar controalele cu granulație fină pe care le specificați vor avea prioritate față de
șablon de sincronizare implicit pentru acel parametru. Recomand folosirea -T4 la scanare
rețele destul de moderne și de încredere. Păstrați această opțiune chiar și atunci când adăugați
controale fine, astfel încât să beneficiați de acele optimizări minore suplimentare pe care le face
permite.
Dacă aveți o conexiune decentă în bandă largă sau ethernet, v-aș recomanda întotdeauna
folosind -T4. Unii oameni iubesc -T5 deși este prea agresiv pentru gustul meu. oameni
uneori preciza -T2 pentru că ei cred că este mai puțin probabil să blocheze gazdele sau pentru că
se consideră a fi politicoşi în general. Adesea nu realizează cum
încetini -T că sunteți politicos. chiar este. Scanarea lor poate dura de zece ori mai mult decât o scanare implicită.
Blocările mașinii și problemele de lățime de bandă sunt rare cu opțiunile de sincronizare implicite (-T3)
și deci recomand asta în mod normal pentru scanerele precaute. Omiterea detectării versiunii este
mult mai eficient decât jocul cu valori de timp pentru a reduce aceste probleme.
In timp ce -T0. și -T1. poate fi util pentru evitarea alertelor IDS, acestea vor lua un
timp extraordinar de lung pentru a scana mii de mașini sau porturi. Pentru atât de mult timp
scanați, este posibil să preferați să setați valorile exacte de timp de care aveți nevoie decât să vă bazați pe
conservat -T0 și -T1 valori.
Principalele efecte ale T0 serializează scanarea, astfel încât să fie scanat un singur port la un moment dat,
și așteptând cinci minute între trimiterea fiecărei sonde. T1 și T2 sunt asemănătoare dar ei
așteptați doar 15 secunde și, respectiv, 0.4 secunde între sonde. T3. este al lui Nmap
comportament implicit, care include paralelizarea. -T4 face echivalentul a
--max-rtt-timeout 1250ms --min-rtt-timeout 100ms --initial-rtt-timeout 500ms
--max-reîncercări 6 și setează întârzierea maximă a scanării TCP la 10 milisecunde. T5 nu
echivalentul a --max-rtt-timeout 300ms --min-rtt-timeout 50ms --initial-rtt-timeout
250ms --max-reîncercări 2 --host-timeout 15m precum și setarea întârzierii maxime de scanare TCP
la 5 ms.
FIREWALL/IDS EVAZIUNE AND SPOFING
Mulți pionierii Internetului au imaginat o rețea globală deschisă cu un spațiu de adrese IP universal
permițând conexiuni virtuale între oricare două noduri. Acest lucru permite gazdelor să acționeze ca adevărat
colegii, servind și regăsind informații unul de la celălalt. Oamenii puteau accesa toate
sistemele lor de acasă de la serviciu, schimbând setările de climatizare sau deblocând ușile
pentru oaspeții timpurii. Această viziune a conectivității universale a fost înăbușită de spațiul de adrese
lipsuri și preocupări de securitate. La începutul anilor 1990, organizațiile au început să se desfășoare
firewall-uri cu scopul expres de a reduce conectivitatea. Rețele uriașe au fost izolate
deconectat de la Internetul nefiltrat prin proxy-uri de aplicație, traducerea adresei de rețea și
filtre de pachete. Fluxul nerestricționat de informații a făcut loc unei reglementări stricte a
canalele de comunicare aprobate și conținutul care trece peste acestea.
Obstacolele rețelei, cum ar fi firewall-urile, pot face maparea unei rețele extrem de dificilă.
Nu va deveni mai ușor, deoarece recunoașterea ocazională înăbușitoare este adesea un obiectiv cheie al
implementarea dispozitivelor. Cu toate acestea, Nmap oferă multe funcții pentru a ajuta la înțelegerea acestora
rețele complexe și pentru a verifica dacă filtrele funcționează conform intenției. Chiar suportă
mecanisme de ocolire a apărărilor prost implementate. Una dintre cele mai bune metode de
înțelegerea poziției dvs. de securitate a rețelei este să încercați să o învingeți. Pune-te în
mentalitatea unui atacator și implementați tehnici din această secțiune împotriva rețelelor dvs.
Lansați o scanare de respingere FTP, o scanare inactivă, un atac de fragmentare sau încercați să treceți printr-un tunel
a propriilor proxy.
Pe lângă restricţionarea activităţii în reţea, companiile monitorizează tot mai mult traficul
cu sisteme de detectare a intruziunilor (IDS). Toate IDS-urile majore sunt livrate cu reguli concepute pentru
detectează scanările Nmap, deoarece scanările sunt uneori un precursor al atacurilor. Multe dintre acestea
produsele s-au transformat recent în intruziune profilaxie sisteme (IPS). că activ
blocați traficul considerat rău intenționat. Din păcate pentru administratorii de rețea și furnizorii de IDS,
detectarea în mod fiabil a intențiilor rele prin analiza pachetelor de date este o problemă dificilă. Atacatorii
cu răbdare, îndemânare și cu ajutorul anumitor opțiuni Nmap pot trece de obicei de IDS
nedetectat. Între timp, administratorii trebuie să facă față unui număr mare de fals pozitive
rezultate în care activitatea nevinovată este diagnosticată greșit și alertată sau blocată.
Ocazional, oamenii sugerează că Nmap nu ar trebui să ofere funcții pentru eludarea regulilor firewall-ului
sau furișând pe lângă IDS. Ei susțin că aceste caracteristici sunt la fel de probabil să fie utilizate greșit de către
atacatorii așa cum sunt utilizați de administratori pentru a spori securitatea. Problema cu această logică este
că aceste metode ar fi încă folosite de atacatori, care doar ar găsi alte instrumente sau
corecționați funcționalitatea în Nmap. Între timp, administratorii ar găsi atât de mult
mai greu să-și facă treaba. Implementarea numai a serverelor FTP moderne, corecţionate este mult mai puternică
de apărare decât încercarea de a preveni distribuirea instrumentelor care implementează retragerea FTP
atac.
Nu există niciun glonț magic (sau opțiune Nmap) pentru detectarea și subminarea firewall-urilor și IDS
sisteme. Este nevoie de pricepere și experiență. Un tutorial depășește scopul acestei referințe
ghid, care listează doar opțiunile relevante și descrie ceea ce fac acestea.
-f (fragmentarea pachetelor); --mtu (folosind MTU-ul specificat) .
-f opțiunea face ca scanarea solicitată (inclusiv scanările ping) să utilizeze fragmente mici
pachete IP. Ideea este să împărțiți antetul TCP pe mai multe pachete pentru a-l face
mai greu de detectat pentru filtrele de pachete, sistemele de detectare a intruziunilor și alte supărări
ce faci. Fii atent cu asta! Unele programe au probleme în a le gestiona
pachete minuscule. Sniffer-ul vechi numit Sniffit segmentation a greșit imediat
la primirea primului fragment. Specificați această opțiune o dată, iar Nmap împarte
pachete în opt octeți sau mai puțin după antetul IP. Deci un antet TCP de 20 de octeți ar fi
împărțit în trei pachete. Doi cu opt octeți din antetul TCP și unul cu
final patru. Desigur, fiecare fragment are și un antet IP. Specifica -f din nou pentru a folosi 16
octeți per fragment (reducerea numărului de fragmente).. Sau puteți specifica propriile dvs
mărimea compensată cu --mtu opțiune. De asemenea, nu specifica -f dacă folosești --mtu. Deplasarea
trebuie să fie multiplu de opt. În timp ce pachetele fragmentate nu vor primi prin filtre de pachete și
firewall-uri care pun în coadă toate fragmentele IP, cum ar fi CONFIG_IP_ALWAYS_DEFRAG opțiune în
kernel-ul Linux, unele rețele nu își permit performanța lovită acest lucru cauzează și astfel
lasa-l dezactivat. Alții nu pot activa acest lucru, deoarece fragmentele pot lua diferite
rute în rețelele lor. Unele sisteme sursă defragmentează pachetele de ieșire în fișierul
nucleu. Linux cu iptables. modulul de urmărire a conexiunii este un astfel de exemplu. Fă o
scanați în timp ce un sniffer, cum ar fi Wireshark. rulează pentru a se asigura că pachetele trimise sunt
fragmentat. Dacă sistemul de operare gazdă cauzează probleme, încercați --trimite-eth. opțiunea de ocolire
stratul IP și trimite cadre ethernet brute.
Fragmentarea este acceptată numai pentru caracteristicile de pachete brute ale Nmap, care includ TCP și
Scanări de porturi UDP (cu excepția scanării conectării și scanării de respingere FTP) și detectarea sistemului de operare. Caracteristici
cum ar fi detectarea versiunii și Nmap Scripting Engine, în general, nu acceptă
fragmentare deoarece se bazează pe stiva TCP a gazdei dvs. pentru a comunica cu ținta
servicii.
-D momeala1[,momeala2][,PE MINE][,...] (Acoperiți o scanare cu momeli) .
Determină să fie efectuată o scanare capcană, ceea ce face ca gazdei de la distanță să apară că
gazdele pe care le specificați ca momeale scanează și rețeaua țintă. Astfel ID-urile lor
ar putea raporta 5-10 scanări de porturi de la adrese IP unice, dar nu vor ști ce IP
le scana și care erau momeli nevinovate. În timp ce acest lucru poate fi învins prin
Urmărirea căii routerului, eliminarea răspunsului și alte mecanisme active, este în general
o tehnică eficientă pentru a ascunde adresa IP.
Separați fiecare gazdă momeală cu virgule și, opțional, puteți utiliza ME. ca unul dintre
momeli pentru a reprezenta poziția pentru adresa dvs. IP reală. Dacă M-ai băgat în al șaselea
poziție sau mai târziu, unele detectoare comune de scanare porturi (cum ar fi Solar Designer.
excelent Scanlogd). este puțin probabil să vă afișeze adresa IP. Daca nu folosesti
EU, Nmap te va pune într-o poziție aleatorie. Puteți folosi și RND. a genera a
adresa IP aleatorie, nerezervată sau RND:număr a genera număr adrese.
Rețineți că gazdele pe care le utilizați ca momeli ar trebui să fie active sau s-ar putea să vă inundați accidental SYN
țintele dumneavoastră. De asemenea, va fi destul de ușor să determinați ce gazdă scanează, dacă numai
unul este de fapt în rețea. Poate doriți să utilizați adrese IP în loc de nume
(deci rețelele de momeală nu te văd în jurnalele serverului de nume).
Capcanele sunt folosite atât în scanarea inițială a ping-ului (folosind ICMP, SYN, ACK sau orice altceva) și
în timpul fazei efective de scanare a portului. Momeliile sunt, de asemenea, folosite în timpul detectării sistemului de operare la distanță
(-O). Momeliile nu funcționează cu detectarea versiunii sau scanarea conexiunii TCP. Când o întârziere a scanării
este efectiv, întârzierea este aplicată între fiecare lot de sonde falsificate, nu între
fiecare sondă individuală. Deoarece momelile sunt trimise ca lot dintr-o dată, s-ar putea
încalcă temporar limitele de control al congestionării.
Este demn de remarcat faptul că utilizarea prea multor momeli vă poate încetini scanarea și, eventual, chiar
faceți-l mai puțin precis. De asemenea, unii ISP-uri vor filtra pachetele dvs. falsificate, dar multe
nu restricționați deloc pachetele IP falsificate.
-S Adresa IP (Adresa sursei falsificate) .
În anumite circumstanțe, este posibil ca Nmap să nu poată determina adresa sursă (Nmap
vă va spune dacă acesta este cazul). În această situație, utilizați -S cu adresa IP a
interfața prin care doriți să trimiteți pachetele.
O altă posibilă utilizare a acestui steag este falsificarea scanării pentru a face țintele să creadă asta
cineva altfel le scanează. Imaginați-vă că o companie este scanată în mod repetat de către un
concurent! The -e opțiune și -Pn sunt în general necesare pentru acest tip de utilizare. Notă
că de obicei nu veți primi pachete de răspuns înapoi (acestea vor fi adresate IP-ului
falsificați), așa că Nmap nu va produce rapoarte utile.
-e interfață (Utilizați interfața specificată).
Spune Nmap pe ce interfață să trimită și să primească pachete. Nmap ar trebui să poată
detectează acest lucru automat, dar vă va spune dacă nu poate.
--sursă-port numarul portului; -g numarul portului (Numărul portului sursă falsificare) .
O configurație greșită surprinzător de comună este să aveți încredere în trafic bazat doar pe sursă
numarul portului. Este ușor de înțeles cum se întâmplă acest lucru. Un administrator va seta
un firewall nou strălucitor, doar pentru a fi inundat de plângeri din partea utilizatorilor nerecunoscători
ale căror aplicații au încetat să funcționeze. În special, DNS-ul poate fi rupt din cauza UDP
Răspunsurile DNS de la servere externe nu mai pot intra în rețea. FTP este altul
exemplu comun. În transferurile FTP active, serverul de la distanță încearcă să stabilească o
conexiunea înapoi la client pentru a transfera fișierul solicitat.
Există soluții sigure pentru aceste probleme, adesea sub formă de nivel de aplicație
proxy-uri sau module firewall care analizează protocolul. Din păcate, există și mai ușor,
soluții nesigure. Rețineți că răspunsurile DNS provin de la portul 53 și FTP activ de la portul
20, mulți administratori au căzut în capcana de a permite pur și simplu traficul de intrare
din acele porturi. Ei presupun adesea că niciun atacator nu va observa și exploata astfel de lucruri
găuri pentru firewall. În alte cazuri, administratorii consideră că acest lucru este un decalaj pe termen scurt
măsura până când vor putea implementa o soluție mai sigură. Apoi uită de securitate
actualizare.
Administratorii de rețea suprasolicitați nu sunt singurii care cad în această capcană.
Numeroase produse au fost expediate cu aceste reguli nesigure. Chiar și Microsoft a fost
vinovat. Filtrele IPsec livrate cu Windows 2000 și Windows XP conțin un
regulă implicită care permite tot traficul TCP sau UDP de la portul 88 (Kerberos). In alt
caz binecunoscut, versiunile firewall-ului personal Zone Alarm până la 2.1.25 au permis oricare
pachetele UDP de intrare cu portul sursă 53 (DNS) sau 67 (DHCP).
Nmap oferă -g și --sursă-port opțiuni (sunt echivalente) pentru a le exploata
puncte slabe. Pur și simplu furnizați un număr de port și Nmap va trimite pachete din acel port
acolo unde este posibil. Majoritatea operațiunilor de scanare care utilizează socketuri brute, inclusiv SYN și UDP
scanează, acceptă opțiunea complet. Opțiunea în special nu are efect pentru
orice operațiuni care utilizează socketuri normale ale sistemului de operare, inclusiv solicitări DNS, TCP
conectaţi scanează,. detectarea versiunii și scanarea scripturilor. Setarea și portul sursă
nu funcționează pentru detectarea sistemului de operare, deoarece Nmap trebuie să folosească numere de porturi diferite pentru
anumite teste de detectare a sistemului de operare să funcționeze corect.
--date hex şir (Adăugați date binare personalizate la pachetele trimise) .
Această opțiune vă permite să includeți date binare ca sarcină utilă în pachetele trimise. hex şir Mai
fi specificat în oricare dintre următoarele formate: 0xAABBCCDDEEFF..., AABBCCDDEEFF... or
\xAA\xBB\xCC\xDD\xEE\xFF.... Exemple de utilizare sunt --date 0xdeadbeef și --date
\xCA\xFE\x09. Rețineți că, dacă specificați un număr precum 0x00ff, nu există conversie în ordinea octetilor
se efectuează. Asigurați-vă că specificați informațiile în ordinea octeților așteptată de
receptor.
--data-string şir (Adăugați șir personalizat la pachetele trimise) .
Această opțiune vă permite să includeți un șir obișnuit ca sarcină utilă în pachetele trimise. şir poate să
conțin orice șir. Cu toate acestea, rețineți că unele caractere pot depinde de sistemul dvs
local și receptorul poate să nu vadă aceleași informații. De asemenea, asigurați-vă că atașați
șirul între ghilimele duble și evadați orice caractere speciale din shell.
Exemple: --data-string „Scanează efectuat by Securitate Ops, extensie 7192 " or
--data-string „Ph34r my l33t aptitudini". Rețineți că nimeni nu este probabil să o facă de fapt
vedeți orice comentarii lăsate de această opțiune, cu excepția cazului în care monitorizează cu atenție rețeaua
cu un sniffer sau reguli IDS personalizate.
--lungimea-datelor număr (Adăugați date aleatorii la pachetele trimise) .
În mod normal, Nmap trimite pachete minimaliste care conțin doar un antet. Deci pachetele sale TCP
sunt în general 40 de octeți, iar cererile de eco ICMP sunt de doar 28. Unele porturi UDP. și IP
protocoale. obțineți o sarcină utilă personalizată în mod implicit. Această opțiune îi spune Nmap să adauge fișierul
un număr dat de octeți aleatori la majoritatea pachetelor pe care le trimite și să nu folosească niciunul
sarcini utile specifice protocolului. (Utilizare --lungimea-datelor 0 pentru nicio întâmplare sau specifică protocolului
încărcături utile.. Detectarea sistemului de operare (-O) pachetele nu sunt afectate. pentru că acuratețea acolo
necesită consistența probei, dar majoritatea pachetelor ping și scanare port acceptă acest lucru. Aceasta
încetinește puțin lucrurile, dar poate face o scanare puțin mai puțin vizibilă.
--ip-opțiuni S|R [traseu]|L [traseu]|T|U ... ; --ip-opțiuni hex şir (Trimiteți pachete cu
opțiuni ip specificate).
IP protocol[13] oferă mai multe opțiuni care pot fi plasate în antetele pachetelor.
Spre deosebire de opțiunile TCP omniprezente, opțiunile IP sunt rareori văzute din cauza caracterului practic și
preocupările legate de securitate. De fapt, multe routere de internet blochează cele mai periculoase opțiuni
cum ar fi rutarea sursei. Cu toate acestea, opțiunile pot fi încă utile în unele cazuri pentru stabilire
și manipularea rutei rețelei către mașinile țintă. De exemplu, este posibil să puteți
utilizați opțiunea de înregistrare a rutei pentru a determina o cale către o țintă, chiar dacă este mai tradițional
abordările în stil traceroute eșuează. Sau dacă pachetele dvs. sunt aruncate de un anumit
firewall, este posibil să puteți specifica o rută diferită cu sursa strictă sau liberă
opțiuni de rutare.
Cea mai puternică modalitate de a specifica opțiunile IP este pur și simplu să transmiteți valori ca
argument pentru --ip-opțiuni. Precedați fiecare număr hexadecimal cu \x apoi cele două cifre. Poți
repetă anumite caractere urmându-le cu un asterisc și apoi cu numărul de
ori când vrei să se repete. De exemplu, \x01\x07\x04\x00*36\x01 este un șir hexadecimal
conţinând 36 de octeţi NUL.
Nmap oferă, de asemenea, un mecanism de comandă rapidă pentru specificarea opțiunilor. Transmite pur și simplu scrisoarea
R, T sau U pentru a solicita traseul de înregistrare. marcaj de timp record,. sau ambele opțiuni împreună,
respectiv. Dirijarea surselor laxe sau stricte. poate fi specificat cu L sau S
urmat de un spațiu și apoi de o listă de adrese IP separate prin spațiu.
Dacă doriți să vedeți opțiunile în pachetele trimise și primite, specificați --packet-trace.
Pentru mai multe informații și exemple de utilizare a opțiunilor IP cu Nmap, consultați
http://seclists.org/nmap-dev/2006/q3/52.
--ttl valoare (Setați câmpul IP time-to-live) .
Setează câmpul IPv4 time-to-live din pachetele trimise la valoarea dată.
--randomize-hosts (Randomizează comanda gazdei țintă) .
Spune lui Nmap să amestece fiecare grup de până la 16384 de gazde înainte de a le scana. Acesta poate
faceți scanările mai puțin evidente pentru diverse sisteme de monitorizare a rețelei, mai ales când dvs
combinați-l cu opțiuni de sincronizare lentă. Dacă doriți să randomizați grupuri mai mari,
creşte PING_GROUP_SZ. în nmap.h. și recompilați. O soluție alternativă este să
generați lista IP țintă cu o scanare a listei (-sL -n -pe nume de fișier), randomizează-l cu
un script Perl, apoi furnizați-i Nmap întreaga listă -iL..
--spoof-mac MAC abordare, prefix, or vânzător nume (Adresă MAC falsificată) .
Solicită Nmap să folosească adresa MAC dată pentru toate cadrele ethernet brute pe care le trimite.
Această opțiune implică --trimite-eth. pentru a se asigura că Nmap trimite efectiv la nivel de ethernet
pachete. MAC-ul dat poate avea mai multe formate. Dacă este pur și simplu numărul 0, Nmap
alege o adresă MAC complet aleatorie pentru sesiune. Dacă șirul dat este an
număr par de cifre hexadecimale (cu perechile opțional separate prin două puncte), Nmap va
folosiți-le ca MAC. Dacă sunt furnizate mai puțin de 12 cifre hexadecimale, Nmap completează
restul celor șase octeți cu valori aleatorii. Dacă argumentul nu este zero sau hex
șir, Nmap caută prin nmap-mac-prefixe pentru a găsi un nume de furnizor care conține
șirul dat (nu face distincție între majuscule și minuscule). Dacă se găsește o potrivire, Nmap folosește OUI-ul furnizorului
(prefix de trei octeți). și completează aleatoriu cei trei octeți rămași. Valabil
--spoof-mac Exemple de argumente sunt Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2,
și Cisco. Această opțiune afectează doar scanările brute de pachete, cum ar fi scanarea SYN sau detectarea sistemului de operare,
nu caracteristici orientate spre conexiune, cum ar fi detectarea versiunii sau Scriptingul Nmap
Motor.
--proxy Separate prin virgulă listă of împuternicit URL-uri (Retransmite conexiunile TCP printr-un lanț de
proxy).
Solicită Nmap să stabilească conexiuni TCP cu o țintă finală prin lanțul furnizat de
unul sau mai multe proxy HTTP sau SOCKS4. Proxy-urile pot ajuta la ascunderea adevăratei surse a unei scanări sau
eluda anumite restricții de firewall, dar pot împiedica performanța scanării prin
creșterea latenței. Este posibil ca utilizatorii să fie nevoiți să ajusteze timeout-urile Nmap și alți parametri de scanare
în consecinţă. În special, o mai mică --max-paralelism poate ajuta, deoarece unii proxy
refuzați să gestionați atâtea conexiuni simultane câte Nmap se deschide implicit.
Această opțiune ia ca argument o listă de proxy, exprimată ca URL-uri în format
proto://gazdă:port. Folosiți virgule pentru a separa adresele URL ale nodurilor într-un lanț. Nicio autentificare nu este
susținut încă. Protocoalele valide sunt HTTP și SOCKS4.
Avertisment: această caracteristică este încă în curs de dezvoltare și are limitări. Este
implementat în biblioteca nsock și, prin urmare, nu are niciun efect asupra scanării ping, portului
și fazele de descoperire a sistemului de operare ale unei scanări. Doar scanarea NSE și versiunea beneficiază de această opțiune
până acum — alte caracteristici pot dezvălui adresa dvs. adevărată. Conexiunile SSL nu sunt încă
nu este acceptată și nici rezoluția DNS pe partea proxy (numele de gazdă sunt întotdeauna rezolvate de Nmap).
--badsum (Trimiteți pachete cu sume de control TCP/UDP false) .
Solicită Nmap să utilizeze o sumă de verificare TCP, UDP sau SCTP nevalidă pentru pachetele trimise către țintă
gazde. Deoarece practic toate stivele de IP gazdă renunță la aceste pachete, orice răspuns
primite provin probabil de la un firewall sau IDS care nu s-a obosit să verifice
suma de control. Pentru mai multe detalii despre această tehnică, vezi https://nmap.org/p60-12.html
--adler32 (Folosiți Adler32 depreciat în loc de CRC32C pentru sumele de verificare SCTP) .
Solicită Nmap să folosească algoritmul Adler32 depreciat pentru calcularea sumei de control SCTP.
If --adler32 nu este dat, se folosește CRC-32C (Castagnoli). RFC 2960[14] inițial
definit Adler32 ca algoritm de sumă de control pentru SCTP; RFC 4960[7] a redefinit ulterior SCTP
sume de control pentru a utiliza CRC-32C. Implementările SCTP actuale ar trebui să utilizeze CRC-32C, dar în
pentru a obține răspunsuri din implementările vechi, vechi de SCTP, ar putea fi de preferat
pentru a folosi Adler32.
REZULTATE
Orice instrument de securitate este la fel de util ca rezultatul pe care îl generează. Teste complexe și
algoritmii sunt de puțină valoare dacă nu sunt prezentați într-un mod organizat și ușor de înțeles
Modă. Având în vedere numărul de moduri în care Nmap este folosit de oameni și de alte software-uri, nu există un singur
formatul poate fi pe placul tuturor. Deci Nmap oferă mai multe formate, inclusiv modul interactiv
pentru ca oamenii să citească direct și XML pentru o analiză ușoară prin software.
Pe lângă faptul că oferă diferite formate de ieșire, Nmap oferă opțiuni pentru control
verbozitatea rezultatelor, precum și mesajele de depanare. Tipurile de ieșire pot fi trimise către
ieșire standard sau la fișiere numite, la care Nmap le poate atașa sau clobber. Fișierele de ieșire pot
de asemenea, pentru a relua scanările întrerupte.
Nmap face ieșirea disponibilă în cinci formate diferite. Valoarea implicită se numește interactiv
ieșire,. și este trimis la ieșire standard (stdout).. Există, de asemenea, ieșire normală,.
care este similar cu interactiv, cu excepția faptului că afișează mai puține informații de rulare și
avertismente, deoarece este de așteptat să fie analizat după finalizarea scanării, mai degrabă decât
interactiv.
Ieșire XML. este unul dintre cele mai importante tipuri de ieșire, deoarece poate fi convertit în HTML,
ușor de analizat de programe precum interfețele grafice cu utilizatorul Nmap sau importate în
baze de date.
Cele două tipuri de ieșire rămase sunt ieșirea grepabilă simplă. care include majoritatea
informații pentru o gazdă țintă pe o singură linie și sCRiPt KiDDi3 0utPUt. pentru utilizatorii care
se consideră |<-r4d.
În timp ce ieșirea interactivă este implicită și nu are opțiuni asociate de linie de comandă, sistemul
alte patru opțiuni de format folosesc aceeași sintaxă. Ei iau un singur argument, care este
nume de fișier în care ar trebui să fie stocate rezultatele. Pot fi specificate mai multe formate, dar fiecare
formatul poate fi specificat o singură dată. De exemplu, poate doriți să salvați ieșirea normală pentru
propria ta recenzie în timp ce salvează XML-ul aceleiași scanări pentru analiza programatică. S-ar putea să faci
asta cu optiunile -bou myscan.xml -pe myscan.nmap. În timp ce acest capitol folosește simplul
nume precum myscan.xml pentru concizie, sunt recomandate în general nume mai descriptive. The
numele alese sunt o chestiune de preferință personală, deși folosesc cele lungi care încorporează
data scanării și un cuvânt sau două care descriu scanarea, plasate într-un director numit după
firma pe care o scanez.
În timp ce aceste opțiuni salvează rezultatele în fișiere, Nmap încă imprimă rezultate interactive în stdout
ca de obicei. De exemplu, comanda nmap -bou myscan.xml ţintă imprimă XML în myscan.xml și
umple ieșirea standard cu aceleași rezultate interactive pe care le-ar fi imprimat dacă -bou
nu a fost specificat deloc. Puteți schimba acest lucru trecând un caracter cratimă ca argument
la unul dintre tipurile de format. Acest lucru face ca Nmap să dezactiveze ieșirea interactivă și, în schimb
imprimați rezultatele în formatul specificat de dvs. pentru fluxul de ieșire standard. Deci comanda
nmap -bou - ţintă va trimite numai ieșire XML către stdout.. Pot exista încă erori grave
tipărit în fluxul de erori normal, stderr..
Spre deosebire de unele argumente Nmap, spațiul dintre indicatorul opțiunii fișier jurnal (cum ar fi -bou) Şi
numele de fișier sau cratima este obligatorie. Dacă omiteți steagurile și oferiți argumente precum -oG-
or -oXscan.xml, o caracteristică de compatibilitate inversă a Nmap va determina crearea de
normală. format fișierele de ieșire numite G- și respectiv Xscan.xml.
Toate aceste argumente susțin strftime-ca. conversii în numele fișierului. %H, %M, %S,
%m, %d, %y și %Y sunt toate exact la fel ca în strftime. %T este același cu %H%M%S, %R
este același cu %H%M și %D este același cu %m%d%y. Un % urmat de orice alt caracter
doar produce acel caracter (%% vă oferă un simbol procentual). Asa de -bou „scan-%T-%D.xml” voi
utilizați un fișier XML cu un nume sub forma scan-144840-121307.xml.
Nmap oferă, de asemenea, opțiuni pentru a controla gradul de nivel al scanării și pentru a adăuga mai degrabă fișierelor de ieșire
decât să-i ciocănească. Toate aceste opțiuni sunt descrise mai jos.
Nmap producție Formate
-pe fisierspec (ieșire normală).
Solicită ca rezultatul normal să fie direcționat către numele de fișier dat. După cum sa discutat mai sus,
aceasta diferă ușor de rezultatul interactiv.
-bou fisierspec (ieșire XML).
Solicită ca rezultatul XML să fie direcționat către numele de fișier dat. Nmap include un document
definiție de tip (DTD) care permite parserilor XML să valideze ieșirea XML Nmap. În timp ce acesta
este destinat în primul rând utilizării programatice, de asemenea, poate ajuta oamenii să interpreteze XML Nmap
ieșire. DTD definește elementele juridice ale formatului și adesea enumeră
atributele și valorile pe care le pot prelua. Cea mai recentă versiune este întotdeauna disponibilă de la
https://svn.nmap.org/nmap/docs/nmap.dtd.
XML oferă un format stabil care este ușor de analizat de software. Parsoarele XML gratuite sunt
disponibil pentru toate limbajele majore de calculator, inclusiv C/C++, Perl, Python și Java.
Oamenii au scris chiar și legături pentru majoritatea acestor limbi pentru a gestiona ieșirea Nmap
și execuția în mod specific. Exemplele sunt Nmap::Scanner[15]. și Nmap::Parser[16]. în
Perl CPAN. În aproape toate cazurile în care o aplicație non-trivială interfață cu Nmap,
XML este formatul preferat.
Ieșirea XML face referire la o foaie de stil XSL care poate fi folosită pentru a formata rezultatele ca
HTML. Cel mai simplu mod de a utiliza aceasta este pur și simplu să încărcați rezultatul XML într-un browser web
cum ar fi Firefox sau IE. În mod implicit, aceasta va funcționa numai pe mașina pe care ați rulat Nmap
(sau unul configurat în mod similar) datorită căii de sistem de fișiere nmap.xsl codificate. Utilizare
il --webxml or --foaia de stil opțiuni pentru a crea fișiere XML portabile care se redau ca HTML
pe orice aparat conectat la web.
-oS fisierspec (ScRipT KIdd|3 IEȘIRE) .
Ieșirea script-kiddie este ca ieșirea interactivă, cu excepția faptului că este post-procesată
se potrivește mai bine lui l33t HaXXorZ care anterior a privit cu dispreț Nmap datorită consecvenței sale
scrierea cu majuscule și ortografie. Persoanele cu deficiențe de umor ar trebui să rețină că această opțiune este
făcându-mi joc de copii de scenariu înainte de a mă reproșa pentru că se presupune că îi „ajut”.
-oG fisierspec (ieșire grepable) .
Acest format de ieșire este acoperit ultimul deoarece este depreciat. Formatul de ieșire XML este
mult mai puternic și este aproape la fel de convenabil pentru utilizatorii experimentați. XML este un
standard pentru care sunt disponibile zeci de analizoare excelente, în timp ce rezultatul grepable este
propriul meu hack simplu. XML este extensibil pentru a accepta noile funcții Nmap așa cum sunt
lansat, în timp ce adesea trebuie să omit acele caracteristici din rezultatul grepable din lipsa unui
loc pentru a le pune.
Cu toate acestea, ieșirea grepable este încă destul de populară. Este un format simplu care listează
fiecare gazdă pe o singură linie și poate fi căutată și analizată trivial cu Unix standard
instrumente precum grep, awk, cut, sed, diff și Perl. Chiar și eu de obicei îl folosesc pentru o singură dată
teste efectuate la linia de comandă. Găsirea tuturor gazdelor cu portul SSH deschis sau așa ceva
rulează Solaris necesită doar un simplu grep pentru a identifica gazdele, conectat la un awk sau
comanda cut pentru a tipări câmpurile dorite.
Ieșirea Grepable constă din comentarii (linii care încep cu o liră (#)). și țintă
linii. O linie țintă include o combinație de șase câmpuri etichetate, separate prin file
și urmată de două puncte. Câmpurile sunt Gazdă, Porturi, Protocoale, Stare ignorată, OS,
Seq Index, IP ID și Stare.
Cel mai important dintre aceste câmpuri este în general Porturile, care oferă detalii despre fiecare
port interesant. Este o listă de intrări de porturi separate prin virgulă. Fiecare intrare de port
reprezintă un port interesant și ia forma a șapte bare oblice (/) separate
subdomenii. Aceste subcâmpuri sunt: Port number, State, Protocol, Owner, Service, SunRPC
informații și informații despre versiune.
Ca și în cazul ieșirii XML, această pagină de manual nu permite documentarea întregului format. A
o privire mai detaliată asupra formatului de ieșire grepable Nmap este disponibilă de la
https://nmap.org/book/output-formats-grepable-output.html.
-oA nume de bază (Ieșire în toate formatele) .
Pentru comoditate, puteți specifica -oA nume de bază pentru a stoca rezultatele scanării în format normal, XML,
și formate grepable simultan. Sunt depozitate în nume de bază.nmap, nume de bază.xml și
nume de bază.gnmap, respectiv. Ca și în cazul majorității programelor, puteți prefix numele fișierelor cu
o cale de director, cum ar fi ~/nmaplogs/foocorp/ pe Unix sau c:\hacking\sco pe Windows.
Verbozitate și depanare Opțiuni
-v (Măriți nivelul de verbozitate) .
Mărește nivelul de verbozitate, determinând Nmap să imprime mai multe informații despre scanare
în curs. Porturile deschise sunt afișate pe măsură ce sunt găsite și sunt estimări ale timpului de finalizare
furnizat atunci când Nmap crede că o scanare va dura mai mult de câteva minute. Folosește-l de două ori sau
mai mult pentru o verbozitate și mai mare: -vv, sau dați un nivel de verbozitate direct, de exemplu
-v3..
Majoritatea modificărilor afectează numai rezultatul interactiv, iar unele afectează, de asemenea, normalul și scriptul
ieșire pentru copii. Celelalte tipuri de ieșiri sunt menite să fie procesate de mașini, deci Nmap
poate oferi detalii substanțiale în mod implicit în acele formate, fără a obosi un om
utilizator. Cu toate acestea, există câteva modificări în alte moduri în care dimensiunea ieșirii poate fi redusă
în mod substanţial prin omiterea unor detalii. De exemplu, o linie de comentariu în grepable
ieșirea care furnizează o listă cu toate porturile scanate este tipărită numai în modul verbose
deoarece poate fi destul de lung.
-d (Măriți nivelul de depanare) .
Atunci când chiar și modul pronunțat nu vă oferă date suficiente, depanarea este disponibilă
sa te inunde cu mult mai mult! Ca și în cazul opțiunii de verbozitate (-v), depanarea este activată
cu un flag de linie de comandă (-d) iar nivelul de depanare poate fi crescut prin specificarea acestuia
de mai multe ori,. ca în -dd, sau prin setarea directă a unui nivel. De exemplu, -d9 seturi
nivelul nouă. Acesta este cel mai înalt nivel eficient și va produce mii de linii
cu excepția cazului în care executați o scanare foarte simplă cu foarte puține porturi și ținte.
Ieșirea de depanare este utilă atunci când se suspectează o eroare în Nmap sau dacă sunteți pur și simplu
confuz cu privire la ce face Nmap și de ce. Deoarece această caracteristică este destinată în principal
dezvoltatori, liniile de depanare nu sunt întotdeauna explicite. Puteți obține ceva de genul:
Timeout vals: srtt: -1 rttvar: -1 to: 1000000 delta 14987 ==> srtt: 14987 rttvar:
14987 la: 100000. Dacă nu înțelegeți o linie, singurele voastre soluții sunt să ignorați
îl, căutați-l în codul sursă sau solicitați ajutor din lista de dezvoltare
(nmap-dev).. Unele rânduri se explică de la sine, dar mesajele devin mai obscure pe măsură ce
nivelul de depanare este crescut.
--motiv (Motivele gazdei și ale statului portului) .
Afișează motivul pentru care fiecare port este setat la o anumită stare și motivul pentru care fiecare gazdă este activată
sau în jos. Această opțiune afișează tipul de pachet care a determinat un port sau gazde
stat. De exemplu, un pachet RST de la un port închis sau un răspuns cu ecou de la un viu
gazdă. Informațiile pe care Nmap le poate furniza sunt determinate de tipul de scanare sau ping. The
SYN scan și SYN ping (-H.H și -PS) sunt foarte detaliate, dar scanarea conexiunii TCP (-Sf)
este limitată de implementarea conectaţi apel de sistem. Această caracteristică este
activat automat de opțiunea de depanare (-d). iar rezultatele sunt stocate în jurnalul XML
fișiere chiar dacă această opțiune nu este specificată.
--statistici-toate timp (Tipărește statistici periodice de sincronizare).
Imprimă periodic un mesaj de stare de sincronizare după fiecare interval de timp. Timpul este a
specificație de tipul descris în secțiunea numită „CRONOMETRAREA ȘI PERFORMANȚA”; asa de
de exemplu, folosiți --statistici-toate Anii 10 pentru a obține o actualizare de stare la fiecare 10 secunde. Actualizări
sunt tipărite la ieșire interactivă (ecran) și la ieșire XML.
--packet-trace (Urmărirea pachetelor și a datelor trimise și primite) .
Determină Nmap să imprime un rezumat al fiecărui pachet trimis sau primit. Acesta este adesea folosit
pentru depanare, dar este și o modalitate valoroasă pentru noii utilizatori de a înțelege exact ce
Nmap se descurcă sub acoperire. Pentru a evita tipărirea a mii de linii, poate doriți
specificați un număr limitat de porturi de scanat, cum ar fi - p20-30. Dacă îți pasă doar de
demersurile subsistemului de detectare a versiunii, folosiți --version-trace in schimb. Dacă tu numai
pasă de urmărirea scriptului, specificați --script-trace. Cu --packet-trace, primești toate
cele de mai sus.
--deschis (Afișați numai porturile deschise (sau eventual deschise)) .
Uneori îți pasă doar de porturile la care te poți conecta (cele deschise) și nu
doresc rezultate aglomerate cu porturi închise, filtrate și închise|filtrate. Ieșire
personalizarea se face în mod normal după scanare folosind instrumente precum grep, awk și Perl,
dar această caracteristică a fost adăugată din cauza solicitărilor copleșitoare. Specifica --deschis doar a vedea
gazde cu cel puțin un port deschis, deschis|filtrat sau nefiltrat și văd numai porturile în
acele state. Aceste trei stări sunt tratate așa cum sunt în mod normal, ceea ce înseamnă
că deschis|filtrat și nefiltrat pot fi condensate în numărătoare dacă există o
număr copleșitor dintre ele.
--iflist (Listați interfețele și rutele) .
Imprimă lista de interfețe și rutele sistemului așa cum sunt detectate de Nmap. Acest lucru este util pentru
depanarea problemelor de rutare sau caracterizarea greșită a dispozitivului (cum ar fi tratarea Nmap a unui PPP
conexiune ca ethernet).
Diverse producție Opțiuni
--adăugați-ieșire (Adăugați mai degrabă fișierelor de ieșire decât clobber) .
Când specificați un nume de fișier pentru un flag de format de ieșire, cum ar fi -bou or -pe, acel fișier este
suprascris implicit. Dacă preferați să păstrați conținutul existent al fișierului și
adăugați noile rezultate, specificați --adăugați-ieșire opțiune. Toate numele fișierelor de ieșire
specificat în faptul că execuția Nmap va fi apoi atașată la, mai degrabă decât blocată. Acest
nu funcționează bine pentru XML (-bou) scanează datele deoarece fișierul rezultat, în general, nu va analiza
corect până când îl fixați manual.
--relua nume de fișier (Reluați scanarea întreruptă) .
Unele rulări Nmap extinse durează foarte mult timp - de la ordinul zilelor. Astfel de scanări nu
alerga întotdeauna până la finalizare. Restricțiile pot împiedica rularea Nmap în timpul lucrului
ore, rețeaua s-ar putea defecta, mașina pe care rulează Nmap ar putea suferi a
repornire planificată sau neplanificată, sau Nmap în sine s-ar putea prăbuși. Administratorul rulează
Nmap l-ar putea anula și din orice alt motiv, apăsând ctrl-C. Repornirea
scanarea completă de la început poate fi nedorită. Din fericire, dacă este normal (-pe) Sau
grepable (-oG) au fost păstrate jurnalele, utilizatorul poate cere Nmap să reia scanarea cu
ținta la care lucra atunci când execuția a încetat. Pur și simplu specificați --relua opțiune și
treceți fișierul de ieșire normal/grepable ca argument. Nu există alte argumente
permis, deoarece Nmap analizează fișierul de ieșire pentru a le folosi pe aceleași specificate anterior.
Pur și simplu sunați pe Nmap ca nmap --relua nume fișier jurnal. Nmap va adăuga rezultate noi la
fișierele de date specificate în execuția anterioară. Reluarea nu acceptă XML
format de ieșire deoarece combinarea celor două rulări într-un singur fișier XML valid ar fi
dificil.
--foaia de stil cale or URL-ul (Setați foaia de stil XSL pentru a transforma rezultatul XML) .
Nmap este livrat cu un XSL. foaia de stil. numit nmap.xsl. pentru vizualizarea sau traducerea XML
ieșire în HTML.. Ieșirea XML include o directivă xml-stylesheet care indică
nmap.xml unde a fost instalat inițial de Nmap. Rulați fișierul XML printr-un XSLT
procesor cum ar fi xsltproc[17]. pentru a produce un fișier HTML. Deschiderea directă a XML-ului
fișierul dintr-un browser nu mai funcționează bine, deoarece browserele moderne limitează locațiile a
foaia de stil poate fi încărcată de la. Dacă doriți să utilizați o altă foaie de stil, specificați-o
ca argument la --foaia de stil. Trebuie să transmiteți calea completă sau adresa URL. Unul comun
invocarea este --foaia de stil https://nmap.org/svn/docs/nmap.xsl. Acest lucru spune unui XSLT
procesor pentru a încărca cea mai recentă versiune a foii de stil din Nmap.Org. The --webxml
opțiunea face același lucru cu mai puțină tastare și memorare. Se încarcă XSL de la
Nmap.Org facilitează vizualizarea rezultatelor pe o mașină care nu are Nmap (și astfel
nmap.xsl) instalat. Deci URL-ul este adesea mai util, dar sistemul de fișiere local
locația nmap.xsl este utilizată implicit din motive de confidențialitate.
--webxml (Încărcați foaia de stil din Nmap.Org) .
Aceasta este o opțiune convenabilă, nimic mai mult decât un alias pentru --foaia de stil
https://nmap.org/svn/docs/nmap.xsl.
--fără foaie de stil (Omiteți declarația de foaie de stil XSL din XML) .
Specificați această opțiune pentru a împiedica Nmap să asocieze orice foaie de stil XSL cu XML-ul său
ieșire. Directiva xml-stylesheet este omisă.
DIVERSE OPŢIUNI
Această secțiune descrie câteva opțiuni importante (și nu atât de importante) care nu se potrivesc cu adevărat
oriunde altundeva.
-6 (Activați scanarea IPv6) .
Nmap are suport IPv6 pentru cele mai populare caracteristici ale sale. Scanare ping, scanare porturi,
detectarea versiunii și Nmap Scripting Engine acceptă toate IPv6. Sintaxa comenzii
este la fel ca de obicei, cu excepția faptului că adăugați și -6 opțiune. Desigur, trebuie să utilizați
Sintaxa IPv6 dacă specificați o adresă mai degrabă decât un nume de gazdă. Poate arăta o adresă
ca 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, deci sunt recomandate numele de gazdă. Ieșirea
arată la fel ca de obicei, cu adresa IPv6 de pe linia „porturi interesante” fiind
singurul cadou IPv6.
Deși IPv6 nu a luat exact lumea cu asalt, este utilizat în mod semnificativ în unele
Țările (de obicei asiatice) și majoritatea sistemelor de operare moderne îl acceptă. Pentru a utiliza Nmap
cu IPv6, atât sursa, cât și ținta scanării dvs. trebuie configurate pentru IPv6. Dacă
ISP-ul tău (ca majoritatea dintre ei) nu îți alocă adrese IPv6, tunel gratuit
brokerii sunt disponibili pe scară largă și funcționează bine cu Nmap. Folosesc tunelul IPv6 gratuit
agent. serviciu la http://www.tunnelbroker.net. Alți brokeri de tunel sunt enumerate at
Wikipedia[18]. Tunelurile 6-4 sunt o altă abordare populară, gratuită.
Pe Windows, scanările IPv6 raw-socket sunt acceptate numai pe dispozitivele ethernet (nu
tuneluri), și numai pe Windows Vista. Și mai târziu. Folosește --neprivilegiat. opțiunea în
alte situatii.
-A (Opțiuni de scanare agresivă) .
Această opțiune permite opțiuni suplimentare avansate și agresive. În prezent, acest lucru permite
detectarea sistemului de operare (-O), scanarea versiunii (-sV), scanare script (-sC) și traceroute
(--traceroute).. Mai multe funcții pot fi adăugate în viitor. Ideea este să activați a
set cuprinzător de opțiuni de scanare fără ca oamenii să fie nevoiți să-și amintească un set mare de
steaguri. Cu toate acestea, deoarece scanarea scripturilor cu setul implicit este considerată intruzivă,
nu ar trebui să folosești -A împotriva rețelelor țintă fără permisiune. Doar această opțiune
activează funcții și nu opțiuni de sincronizare (cum ar fi -T4) sau opțiuni de verbozitate (-v) acea
poate vrei si tu. Opțiuni care necesită privilegii (de exemplu, acces root), cum ar fi sistemul de operare
detectarea și traseul vor fi activate numai dacă acele privilegii sunt disponibile.
--datadir nume director (Specificați locația personalizată a fișierului de date Nmap) .
Nmap obține câteva date speciale în timpul rulării în fișierele numite nmap-service-probes,
nmap-services, nmap-protocols, nmap-rpc, nmap-mac-prefixes și nmap-os-db. Dacă
locația oricăruia dintre aceste fișiere a fost specificată (folosind fișierul --servicedb or
--versiondb opțiuni), locația respectivă este utilizată pentru acel fișier. După aceea, Nmap caută
aceste fișiere în directorul specificat cu --datadir opțiune (dacă există). Orice fișiere
nu sunt găsite acolo, sunt căutate în directorul specificat de NMAPDIR.
variabilă de mediu. Urmează ~/.nmap. pentru UID-uri reale și eficiente; sau pe Windows,
ACASĂ\AppData\Roaming\nmap (unde ACASĂ este directorul principal al utilizatorului, cum ar fi
C:\Utilizatori\utilizator). Acesta este urmat de locația executabilului nmap și același lucru
locație cu ../share/nmap atașat. Apoi o locație compilată, cum ar fi
/usr/local/share/nmap sau /usr/share/nmap.
--servicedb Servicii fişier (Specificați fișierul de servicii personalizate) .
Solicită Nmap să folosească fișierul de servicii specificat, mai degrabă decât fișierul de date nmap-services
care vine cu Nmap. Utilizarea acestei opțiuni determină și o scanare rapidă (-F) a fi folosit. Vedea
descrierea pentru --datadir pentru mai multe informații despre fișierele de date ale Nmap.
--versiondb serviciu sonde fişier (Specificați fișierul de probe de service personalizat) .
Solicită Nmap să folosească fișierul de probe de service specificat, mai degrabă decât fișierul nmap-service-probes
fișier de date care vine cu Nmap. Vezi descrierea pentru --datadir pentru mai multe informații
pe fișierele de date ale Nmap.
--trimite-eth (Utilizați trimiterea ethernet brută) .
Solicită Nmap să trimită pachete la stratul ethernet brut (legatură de date), mai degrabă decât la nivelul superior
Stratul IP (rețea). În mod implicit, Nmap îl alege pe cel care este, în general, cel mai bun pentru
platforma pe care rulează. Prize brute (stratul IP). sunt în general cele mai eficiente pentru
Mașinile Unix, în timp ce cadrele Ethernet sunt necesare pentru funcționarea Windows de atunci
Microsoft a dezactivat suportul pentru socket brut. Nmap încă folosește pachete IP brute pe Unix, în ciuda
această opțiune atunci când nu există altă opțiune (cum ar fi conexiuni non-ethernet).
--send-ip (Trimite la nivel de IP brut) .
Solicită Nmap să trimită pachete prin prize IP brute, în loc să trimită ethernet de nivel inferior
rame. Este complementul pentru --trimite-eth opțiunea discutată anterior.
--privilegiat (Să presupunem că utilizatorul este pe deplin privilegiat) .
Spune lui Nmap să presupună pur și simplu că este suficient de privilegiat pentru a efectua trimiteri brute de socket,
sniffing de pachete și operațiuni similare care necesită de obicei privilegii root. pe Unix
sisteme. În mod implicit, Nmap se închide dacă astfel de operațiuni sunt solicitate, dar geteuid nu este
zero. --privilegiat este util cu capabilitățile nucleului Linux și sisteme similare care
poate fi configurat pentru a permite utilizatorilor neprivilegiati să efectueze scanări de pachete brute. Asigurați-vă că
furnizați acest indicator de opțiune înaintea oricăror indicatori pentru opțiunile care necesită privilegii (SYN
scanare, detectarea sistemului de operare etc.). The NMAP_PRIVILEGED. variabila de mediu poate fi setată ca un
alternativă echivalentă la --privilegiat.
--neprivilegiat (Să presupunem că utilizatorului îi lipsesc privilegii de socket brut) .
Această opțiune este opusă --privilegiat. Îi spune Nmap să trateze utilizatorul ca
lipsă de socket brut de rețea și privilegii de adulmecare. Acest lucru este util pentru testare,
depanare sau când funcționalitatea brută a rețelei a sistemului dvs. de operare este cumva
spart. The NMAP_UNPRIVILEGED. variabila de mediu poate fi setată ca echivalent
alternativă la --neprivilegiat.
--eliberare-memorie (Eliberați memoria înainte de a renunța) .
Această opțiune este utilă numai pentru depanarea pierderilor de memorie. Determină eliberarea Nmap
memorie alocată chiar înainte de a se închide, astfel încât scurgerile reale de memorie să fie mai ușor de detectat.
În mod normal, Nmap omite acest lucru, deoarece sistemul de operare o face oricum la terminarea procesului.
-V; --versiune (Numărul versiunii tipărite) .
Imprimă numărul versiunii Nmap și iese.
-h; --Ajutor (Tipărește pagina cu rezumatul ajutorului) .
Imprimă un scurt ecran de ajutor cu cele mai comune semnalizatoare de comandă. Rularea Nmap fără
orice argument face același lucru.
DURATA INTERACŢIUNE
În timpul executării Nmap, toate apăsările de taste sunt capturate. Acest lucru vă permite să interacționați
cu programul fără a-l anula și reporni. Anumite chei speciale se vor schimba
opțiuni, în timp ce orice alte taste vor tipări un mesaj de stare care vă va informa despre scanare.
Convenția este că litere mici litere creşte cantitatea de imprimare și majuscule
litere scădea tiparul. De asemenea, puteți apăsa „?' pentru ajutor.
v / V
Creșteți/scădeți nivelul de verbozitate
d / D
Creșteți/scădeți nivelul de depanare
p / P
Activați/dezactivați urmărirea pachetelor
?
Imprimați un ecran de ajutor pentru interacțiunea de rulare
Altceva
Imprimați un mesaj de stare ca acesta:
Statistici: 0:00:07 scurs; 20 de gazde finalizate (1 mai mult), 1 în curs de scanare de service
Timpul de scanare a serviciului: Aproximativ 33.33% realizat; ETC: 20:57 (0:00:12 rămas)
EXEMPLE
Iată câteva exemple de utilizare a Nmap, de la simplu și de rutină la ceva mai complex
și ezoteric. Unele adrese IP și nume de domenii reale sunt folosite pentru a face lucrurile mai mult
beton. În locul lor ar trebui să înlocuiți adresele/numele de la ta propriu reţea.
Deși nu cred că scanarea portului altor rețele este sau ar trebui să fie ilegală, unele rețele
administratorii nu apreciază scanarea nesolicitată a rețelelor lor și se pot plânge.
A obține mai întâi permisiunea este cea mai bună abordare.
În scopuri de testare, aveți permisiunea de a scana gazda scanme.nmap.org.. Aceasta
permisiunea include doar scanarea prin Nmap și nu testarea exploit-urilor sau refuzul serviciului
atacuri. Pentru a economisi lățimea de bandă, vă rugăm să nu inițiați mai mult de o duzină de scanări împotriva
gazda aceea pe zi. Dacă acest serviciu țintă de scanare gratuită este abuzat, acesta va fi dezactivat
și Nmap va raporta Nu a reușit să rezolve numele de gazdă/IP dat: scanme.nmap.org. Aceste
permisiunile se aplică și pentru gazdele scanme2.nmap.org, scanme3.nmap.org și așa mai departe, totuși
acele gazde nu există în prezent.
nmap -v scanme.nmap.org.
Această opțiune scanează toate porturile TCP rezervate de pe mașina scanme.nmap.org. The -v opțiune
activează modul verbos.
nmap -H.H -O scanme.nmap.org/24.
Lansează o scanare SYN ascunsă împotriva fiecărei mașini care se află din cele 256 de IP-uri de pe
rețeaua de clasa C în care se află Scanme. De asemenea, încearcă să stabilească ce funcționează
sistemul rulează pe fiecare gazdă care este în funcțiune. Acest lucru necesită privilegii root
din cauza scanării SYN și a detectării sistemului de operare.
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127.
Lansează enumerarea gazdei și o scanare TCP în prima jumătate a fiecăruia dintre cele 255 posibile
subrețele de opt biți în spațiul de adrese 198.116 clasa B. Aceasta testează dacă sistemele rulează
SSH, DNS, POP3 sau IMAP pe porturile lor standard sau orice pe portul 4564. Pentru oricare dintre
aceste porturi găsite deschise, detectarea versiunii este folosită pentru a determina ce aplicație este
alergare.
nmap -v -iR 100000 -Pn -p 80.
Solicită Nmap să aleagă 100,000 de gazde la întâmplare și să le scaneze pentru servere web (portul 80). Gazdă
enumerarea este dezactivată cu -Pn de când a trimis mai întâi câteva sonde pentru a determina dacă
o gazdă activă este o risipă atunci când sunteți oricum doar un port pe fiecare gazdă țintă.
nmap -Pn -p80 -bou logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20.
Aceasta scanează 4096 IP-uri pentru orice server web (fără să le pună ping) și salvează rezultatul în
formate grepable și XML.
nmap CARTEA
Deși acest ghid de referință detaliază toate opțiunile materiale Nmap, nu poate demonstra pe deplin
cum să aplicați aceste caracteristici pentru a rezolva rapid sarcinile din lumea reală. Pentru asta, am lansat Nmap
Scanare în rețea: Ghidul oficial al proiectului Nmap pentru descoperirea și securitatea rețelei
Scanare. Subiectele includ subvertirea firewall-urilor și sistemele de detectare a intruziunilor, optimizarea
Performanța Nmap și automatizarea sarcinilor comune de rețea cu Nmap Scripting Engine.
Sfaturi și instrucțiuni sunt furnizate pentru sarcini comune Nmap, cum ar fi preluarea rețelei
inventar, testare de penetrare, detectarea punctelor de acces wireless necinstite și anulare
focare de viermi de rețea. Exemplele și diagramele arată comunicarea reală pe fir. Mai mult
mai mult de jumătate din carte este disponibilă gratuit online. Vedea https://nmap.org/book pentru mai multe
informaţii.
Utilizați nmap online folosind serviciile onworks.net