nmap
To jest polecenie nmap, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu darmowych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS
PROGRAM:
IMIĘ
nmap - Narzędzie do eksploracji sieci i skaner bezpieczeństwa / portów
STRESZCZENIE
nmap [Scan Typ...] [Opcje] {cel specyfikacja}
OPIS
Nmap („Network Mapper”) to narzędzie typu open source do eksploracji sieci i bezpieczeństwa
audyt. Został zaprojektowany do szybkiego skanowania dużych sieci, chociaż działa dobrze przeciwko
pojedynczy gospodarze. Nmap wykorzystuje surowe pakiety IP w nowatorski sposób, aby określić, które hosty są dostępne
w sieci, jakie usługi (nazwa i wersja aplikacji) oferują te hosty,
jakie systemy operacyjne (i wersje systemu operacyjnego) są uruchomione, jaki typ pakietu
w użyciu są filtry/zapory ogniowe i dziesiątki innych cech. Podczas gdy Nmap jest powszechnie
używany do audytów bezpieczeństwa, wielu administratorów systemów i sieci uważa go za przydatny do
rutynowe zadania, takie jak inwentaryzacja sieci, zarządzanie harmonogramami aktualizacji usług oraz
monitorowanie czasu pracy hosta lub usługi.
Dane wyjściowe Nmapa to lista przeskanowanych celów z dodatkowymi informacjami na temat każdego z nich
w zależności od użytych opcji. Kluczową wśród tych informacji są „ciekawe porty”
table”. Ta tabela zawiera numer portu i protokół, nazwę usługi i stan. ten
stan jest otwarty, filtrowany, zamknięty lub niefiltrowany. Otwarty. oznacza, że aplikacja
na maszynie docelowej nasłuchuje połączeń/pakietów na tym porcie. Przefiltrowany. znaczy
że zapora, filtr lub inna przeszkoda w sieci blokuje port, więc Nmap
nie potrafi powiedzieć, czy jest otwarty, czy zamknięty. Zamknięte. porty nie mają włączonej aplikacji nasłuchującej
je, choć w każdej chwili mogły się otworzyć. Porty są klasyfikowane jako niefiltrowane. Kiedy
reagują na sondy Nmapa, ale Nmap nie może określić, czy są otwarte, czy
Zamknięte. Nmap zgłasza kombinacje stanów otwarte|filtrowane. i zamknięte | filtrowane. kiedy to
nie może określić, który z dwóch stanów opisuje port. Tabela portów może również zawierać
szczegóły wersji oprogramowania, gdy zażądano wykrycia wersji. Gdy protokół IP
wymagane jest skanowanie (-więc), Nmap dostarcza informacji o obsługiwanych protokołach IP zamiast
porty nasłuchowe.
Oprócz interesującej tabeli portów, Nmap może dostarczyć dalszych informacji na temat
cele, w tym odwrotne nazwy DNS, odgadnięcia systemu operacyjnego, typy urządzeń i MAC
adresy.
Typowe skanowanie Nmapa pokazano w Przykładzie 1. Jedyne argumenty Nmapa użyte w tym przykładzie
jest -A, aby umożliwić wykrywanie systemu operacyjnego i wersji, skanowanie skryptów i traceroute; -T4 dla
szybsza realizacja; a następnie nazwę hosta.
Przykład 1. A przedstawiciel Nmap skanować
# nmap -A -T4 scanme.nmap.org
Raport skanowania Nmap dla scanme.nmap.org (74.207.244.221)
Host jest uruchomiony (opóźnienie 0.029 s).
Rekord rDNS dla 74.207.244.221: li86-221.members.linode.com
Nie pokazano: 995 zamkniętych portów
WERSJA SERWISOWA W STANIE PORTU
22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (protokół 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 otwarty http Apache httpd 2.2.14 ((Ubuntu))
|_http-title: Śmiało i ScanMe!
646/tcp filtrowane ldp
1720/tcp filtrowane H.323/Q.931
9929/tcp otwarte nping-echo Nping echo
Typ urządzenia: ogólnego przeznaczenia
Działa: Linux 2.6.X
CPE systemu operacyjnego: cpe:/o:linux:linux_kernel:2.6.39
Szczegóły systemu operacyjnego: Linux 2.6.39
Odległość sieci: 11 przeskoków
Informacje serwisowe: system operacyjny: Linux; CPE: cpe:/o:linux:jądro
TRACEROUTE (przy użyciu portu 53/tcp)
ADRES HOP RTT
[Wytnij pierwsze 10 chmielu, aby uzyskać zwięzłość]
11 17.65 ms li86-221.members.linode.com (74.207.244.221)
Nmap gotowy: 1 adres IP (1 host w górę) przeskanowany w 14.40 sekund
Najnowszą wersję Nmapa można pobrać z https://nmap.org. Najnowsza wersja
ta strona podręcznika jest dostępna pod adresem https://nmap.org/book/man.html. Jest również zawarty jako
rozdział Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and
Skanowanie bezpieczeństwa (zobacz https://nmap.org/book/).
OPCJE PODSUMOWANIE
To podsumowanie opcji jest wypisywane, gdy Nmap jest uruchamiany bez argumentów i w najnowszej wersji
jest zawsze dostępny pod adresem https://svn.nmap.org/nmap/docs/nmap.usage.txt. Pomaga ludziom
pamiętaj o najczęstszych opcjach, ale nie zastąpi dogłębnej dokumentacji w
resztę tej instrukcji. Niektóre niejasne opcje nie są tutaj nawet uwzględnione.
Nmap 7.01 (https://nmap.org)
Sposób użycia: nmap [Typy skanowania] [Opcje] {specyfikacja celu}
SPECYFIKACJA DOCELOWA:
Może przekazywać nazwy hostów, adresy IP, sieci itp.
Np.: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254
-iL : Wejście z listy hostów/sieci
-iR : Wybierz losowe cele
--wykluczać : Wyklucz hosty/sieci
--wyklucz plik : Wyklucz listę z pliku
ODKRYCIE GOSPODARSTWA:
-sL: List Scan - po prostu wyświetlaj listę celów do skanowania
-sn: Ping Scan - wyłącz skanowanie portów
-Pn: Traktuj wszystkie hosty jako online — pomiń wykrywanie hostów
-PS/PA/PU/PY[lista portów]: wykrywanie TCP SYN/ACK, UDP lub SCTP na podanych portach
-PE/PP/PM: sondy wykrywania echa ICMP, znacznika czasu i maski sieci
-PO[lista protokołów]: Ping protokołu IP
-n/-R: Nigdy nie rozwiązuj DNS/Zawsze rozwiązuj [domyślnie: czasami]
--dns-serwery : Określ niestandardowe serwery DNS
--system-dns: użyj programu rozpoznawania nazw DNS systemu operacyjnego
--traceroute: Śledź ścieżkę przeskoku do każdego hosta
TECHNIKI SKANOWANIA:
-sS/sT/sA/sW/sM: skanowanie TCP SYN/Connect()/ACK/Window/Maimon
-sU: skanowanie UDP
-sN/sF/sX: skanowanie TCP Null, FIN i Xmas
--flagi skanowania : Dostosuj flagi skanowania TCP
-si : Skanowanie w trybie bezczynności
-sY/sZ: SCTP INIT/COOKIE-ECHO skany
-sO: skanowanie protokołu IP
-b : Skanowanie odbić FTP
SPECYFIKACJA PORTU I KOLEJNOŚĆ SKANOWANIA:
-P : Skanuj tylko określone porty
Np.: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9
--wyklucz-porty : Wyklucz określone porty ze skanowania
-F: Tryb szybki — Skanuj mniej portów niż skanowanie domyślne
-r: Skanuj porty po kolei - nie losuj
-- górne porty : Skanowanie najpopularniejsze porty
--port-współczynnik : Skanuj porty częściej niż
WYKRYWANIE USŁUG/WERSJI:
-sV: Sonda otwartych portów, aby określić informacje o usłudze/wersji
--intensywność-wersji : Ustaw od 0 (jasne) do 9 (wypróbuj wszystkie sondy)
--version-light: Ogranicz do najbardziej prawdopodobnych sond (intensywność 2)
--version-all: Wypróbuj każdą pojedynczą sondę (intensywność 9)
--version-trace: Pokaż szczegółową aktywność skanowania wersji (do debugowania)
SKANOWANIE SKRYPTU:
-sC: odpowiednik --script=default
--skrypt= : to oddzielona przecinkami lista
katalogi, pliki-skrypty lub kategorie-skryptów
--argumenty-skryptu= : podaj argumenty do skryptów
--script-args-file=nazwa_pliku: podaj argumenty skryptu NSE w pliku
--script-trace: Pokaż wszystkie wysłane i odebrane dane
--script-updatedb: Zaktualizuj bazę danych skryptów.
--skrypt-pomoc= : Pokaż pomoc dotyczącą skryptów.
to rozdzielona przecinkami lista plików skryptów lub
kategorie skryptów.
WYKRYWANIE SYSTEMU:
-O: Włącz wykrywanie systemu operacyjnego
--osscan-limit: Ogranicz wykrywanie systemu operacyjnego do obiecujących celów
--osscan-guess: Odgadnij system operacyjny bardziej agresywnie
CZAS I WYDAJNOŚĆ:
Opcje, które biorą są w sekundach lub dołącza się „ms” (milisekundy),
's' (sekundy), 'm' (minuty) lub 'h' (godziny) do wartości (np. 30m).
-T<0-5>: Ustaw szablon czasu (wyższy jest szybszy)
--min-grupa-hostów/maks-grupa-hostów : Rozmiary grup skanowania hosta równoległego
--min-parallelism/max-parallelism : Równoległość sondy
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout : Określa
sonda czas podróży w obie strony.
--maksymalna liczba prób : Ogranicza liczbę retransmisji sondy skanowania portu.
--przekroczenie limitu czasu hosta : Porzuć cel po tym długim czasie
--scan-delay/--max-scan-delay : Dostosuj opóźnienie między sondami
--min-stawka : Wysyłaj pakiety nie wolniej niż na sekundę
--maksymalna ocena : Wysyłaj pakiety nie szybciej niż na sekundę
UNIKANIE FIREWALL/IDS I SPOOFING:
-F; --mtu : pakiety fragmentów (opcjonalnie z podanym MTU)
-D : Ukryj skan wabikami
-S : Fałszywy adres źródłowy
-mi : Użyj określonego interfejsu
-g/--port źródłowy : Użyj podanego numeru portu
-- proxy : Przekazuj połączenia przez serwery proxy HTTP/SOCKS1
--dane : Dołącz niestandardowy ładunek do wysyłanych pakietów
--ciąg danych : Dołącz niestandardowy ciąg ASCII do wysyłanych pakietów
--data-długość : Dołącz losowe dane do wysyłanych pakietów
--ip-opcje : Wyślij pakiety z określonymi opcjami ip
--ttl : Ustaw pole czasu życia IP
--spoof-mac : Sfałszuj swój adres MAC
--badsum: Wysyłaj pakiety z fałszywą sumą kontrolną TCP/UDP/SCTP
WYDAJNOŚĆ:
-oN/-oX/-oS/-oG : Skanowanie wyjścia w normalnym, XML, s|
i format Grepable odpowiednio do podanej nazwy pliku.
-oA : Wyjście w trzech głównych formatach jednocześnie
-v: Zwiększ poziom szczegółowości (użyj -vv lub więcej, aby uzyskać lepszy efekt)
-d: Zwiększ poziom debugowania (użyj -dd lub więcej, aby uzyskać lepszy efekt)
--reason: wyświetla powód, dla którego port jest w określonym stanie
--open: Pokaż tylko otwarte (lub prawdopodobnie otwarte) porty
--packet-trace: Pokaż wszystkie wysłane i odebrane pakiety
--iflist: Drukuj interfejsy hosta i trasy (do debugowania)
--append-output: Dołącz do określonych plików wyjściowych, a nie je stłucz
--wznawianie : Wznów przerwane skanowanie
--arkusz stylów : Arkusz stylów XSL do przekształcania danych wyjściowych XML do HTML
--webxml: arkusz stylów referencyjnych z Nmap.Org dla bardziej przenośnego XML
--no-stylesheet: Zapobiegaj skojarzeniu arkusza stylów XSL z danymi wyjściowymi XML
MISC:
-6: Włącz skanowanie IPv6
-A: Włącz wykrywanie systemu operacyjnego, wykrywanie wersji, skanowanie skryptów i traceroute
--datadir : Określ niestandardową lokalizację pliku danych Nmap
--send-eth/--send-ip: Wysyłaj za pomocą surowych ramek Ethernet lub pakietów IP
--uprzywilejowany: Załóż, że użytkownik jest w pełni uprzywilejowany
--unprivileged: Załóżmy, że użytkownik nie ma uprawnień do surowego gniazda
-V: Numer wersji do druku
-h: Wydrukuj tę stronę podsumowania pomocy.
PRZYKŁADY:
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
ZOBACZ STRONĘ PODRĘCZNIKA (https://nmap.org/book/man.html) WIĘCEJ OPCJI I PRZYKŁADÓW
TARGET SPECYFIKACJA
Wszystko w wierszu poleceń Nmapa, które nie jest opcją (lub argumentem opcji), jest traktowane
jako specyfikacja hosta docelowego. Najprostszym przypadkiem jest określenie docelowego adresu IP lub
nazwa hosta do skanowania.
Czasami chcesz przeskanować całą sieć sąsiednich hostów. W tym celu Nmap obsługuje
W stylu CIDR. adresowanie. Możesz dołączyć /numbity na adres IPv4 lub nazwę hosta i Nmap
przeskanuje każdy adres IP, dla którego pierwszy numbity są takie same jak w przypadku odniesienia
Podano adres IP lub nazwę hosta. Na przykład 192.168.10.0/24 przeskanuje 256 hostów między
192.168.10.0 (binarnie: 11000000 10101000 00001010 00000000) i 192.168.10.255 (binarnie:
11000000 10101000 00001010 11111111), włącznie. 192.168.10.40/24 zeskanuje dokładnie ten
te same cele. Biorąc pod uwagę, że host scanme.nmap.org. znajduje się pod adresem IP 64.13.134.52,
specyfikacja scanme.nmap.org/16 przeskanuje 65,536 64.13.0.0 adresów IP między XNUMX a
64.13.255.255. Najmniejsza dozwolona wartość to /0, która dotyczy całego Internetu. ten
największą wartością jest /32, która skanuje tylko nazwany host lub adres IP, ponieważ wszystkie adresy
bity są naprawione.
Notacja CIDR jest krótka, ale nie zawsze wystarczająco elastyczna. Na przykład możesz chcieć zeskanować
192.168.0.0/16, ale pomiń wszystkie adresy IP kończące się na .0 lub .255, ponieważ mogą być używane jako podsieć
adresy sieciowe i rozgłoszeniowe. Nmap obsługuje to poprzez adresowanie w zakresie oktetów. Raczej
niż podać normalny adres IP, możesz podać listę liczb oddzielonych przecinkami lub
zakresy dla każdego oktetu. Na przykład 192.168.0-255.1-254 spowoduje pominięcie wszystkich adresów w
zakres kończący się na .0 lub .255, a 192.168.3-5,7.1 przeskanuje cztery adresy
192.168.3.1, 192.168.4.1, 192.168.5.1 i 192.168.7.1. Każda ze stron zakresu może być
pominięty; wartości domyślne to 0 po lewej i 255 po prawej. Używanie - samo w sobie jest
to samo co 0-255, ale pamiętaj, aby użyć 0- w pierwszym oktecie, aby specyfikacja docelowa
nie wygląda jak opcja wiersza poleceń. Zakresy nie muszą być ograniczone do końcowych oktetów:
specyfikator 0-255.0-255.13.37 wykona skanowanie w całym Internecie dla wszystkich adresów IP
kończący się na 13.37. Ten rodzaj szerokiego próbkowania może być przydatny w ankietach internetowych i
Badania.
Adresy IPv6 można określić tylko za pomocą ich w pełni kwalifikowanego adresu IPv6 lub nazwy hosta.
Zakresy CIDR i oktetów nie są jeszcze obsługiwane w przypadku protokołu IPv6.
Adresy IPv6 o zakresie innym niż globalny muszą mieć sufiks identyfikatora strefy. W systemach uniksowych to
to znak procentu, po którym następuje nazwa interfejsu; pełny adres może być
fe80::a8bb:ccff:fedd:eeff%eth0. W systemie Windows użyj numeru indeksu interfejsu zamiast
nazwa interfejsu: fe80::a8bb:ccff:fedd:eeff%1. Możesz zobaczyć listę indeksów interfejsu przez
uruchamianie polecenia netsh.exe Interfejs Ipv6 pokazać Interfejs.
Nmap akceptuje wiele specyfikacji hostów w wierszu poleceń i nie muszą być
tego samego typu. Komenda nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.- robi to, co ty?
oczekiwałby.
Chociaż cele są zwykle określane w wierszach poleceń, następujące opcje są również
dostępne do kontroli wyboru celu:
-iL nazwa pliku wejściowego (Wprowadzanie z listy) .
Odczytuje specyfikacje docelowe z nazwa pliku wejściowego. Przekazywanie ogromnej listy gospodarzy jest często
niewygodne w wierszu poleceń, ale jest to powszechne pragnienie. Na przykład twój serwer DHCP
może wyeksportować listę 10,000 XNUMX bieżących dzierżaw, które chcesz przeskanować. A może chcesz
skanować wszystkie adresy IP z wyjątkiem dla tych, którzy lokalizują hosty przy użyciu nieautoryzowanego statycznego adresu IP
adresy. Po prostu wygeneruj listę hostów do przeskanowania i przekaż nazwę pliku do Nmapa jako
argument do -iL opcja. Wpisy mogą być w dowolnym formacie akceptowanym przez Nmap
w wierszu poleceń (adres IP, nazwa hosta, CIDR, IPv6 lub zakres oktetów). Każdy wpis
muszą być oddzielone co najmniej jedną spacją, tabulatorem lub znakiem nowej linii. Możesz podać myślnik
(-) jako nazwę pliku, jeśli chcesz, aby Nmap odczytywał hosty ze standardowego wejścia zamiast z
rzeczywisty plik.
Plik wejściowy może zawierać komentarze, które zaczynają się od # i rozciągają się na koniec
Linia.
-iR num gospodarze (Wybierz losowe cele) .
W przypadku ankiet internetowych i innych badań możesz wybrać cele na
losowy. ten num gospodarze argument mówi Nmapowi ile adresów IP ma wygenerować. Niepożądane adresy IP
takie jak te w niektórych prywatnych, multiemisji lub nieprzydzielonych zakresach adresów są
automatycznie pomijane. Argument 0 można określić dla niekończącego się skanowania. Trzymać
pamiętaj, że niektórzy administratorzy sieci najeżyli się na nieautoryzowane skanowanie ich
sieci i mogą narzekać. Korzystaj z tej opcji na własne ryzyko! Jeśli znajdziesz siebie
naprawdę znudzony pewnego deszczowego popołudnia, wypróbuj polecenie nmap -Pn -SS -p 80 -iR 0 --otwarty. do
zlokalizuj losowe serwery internetowe do przeglądania.
--wykluczać host1[,host2[,...]] (Wyklucz hosty/sieci) .
Określa rozdzieloną przecinkami listę celów, które mają być wykluczone ze skanowania, nawet jeśli:
należą do podanego przez Ciebie ogólnego zakresu sieci. Lista, którą przekazujesz, wygląda normalnie
Składnia Nmap, więc może zawierać nazwy hostów, bloki sieciowe CIDR, zakresy oktetów itp. Może to
być przydatne, gdy sieć, którą chcesz przeskanować, zawiera nietykalne, krytyczne dla misji
serwery, systemy, o których wiadomo, że niekorzystnie reagują na skanowanie portów lub podsieci
administrowane przez inne osoby.
--wyklucz plik wyklucz_plik (Wyklucz listę z pliku) .
Oferuje taką samą funkcjonalność jak --wykluczać opcja, z wyjątkiem tego, że wykluczone
cele są rozdzielane znakami nowej linii, spacjami lub tabulatorami wyklucz_plik zamiast
w wierszu poleceń.
Plik wykluczeń może zawierać komentarze, które zaczynają się od # i rozciągają się do końca
Linia.
HOST ODKRYCIE
Jednym z pierwszych kroków w każdej misji rozpoznania sieci jest zmniejszenie
(czasami ogromny) zestaw zakresów adresów IP w listę aktywnych lub interesujących hostów. Łów
każdy port każdego adresu IP jest wolny i zwykle niepotrzebny. Oczywiście co?
sprawia, że host jest interesujący, w dużej mierze zależy od celów skanowania. Administratorzy sieci mogą
interesować się tylko hostami obsługującymi określoną usługę, podczas gdy audytorom bezpieczeństwa może to zależeć
o każdym urządzeniu z adresem IP. Administrator może wygodnie używać
tylko ping ICMP, aby zlokalizować hosty w jego sieci wewnętrznej, podczas gdy penetracja zewnętrzna
tester może użyć zróżnicowanego zestawu kilkudziesięciu sond, aby obejść firewall
ograniczenia.
Ponieważ potrzeby w zakresie wykrywania hostów są tak różnorodne, Nmap oferuje szeroką gamę opcji dla
dostosowywanie stosowanych technik. Wykrywanie hosta jest czasami nazywane skanowaniem ping, ale tak się dzieje
daleko poza prostymi pakietami żądań echa ICMP związanymi z wszechobecnym narzędziem ping.
Użytkownicy mogą całkowicie pominąć krok ping za pomocą skanowania listy (-SL) lub wyłączając ping (-Pn),
lub włącz sieć z dowolnymi kombinacjami wieloportowych TCP SYN/ACK, UDP, SCTP
Sondy INIT i ICMP. Celem tych sond jest uzyskanie odpowiedzi, które wykazują:
czy adres IP jest rzeczywiście aktywny (jest używany przez hosta lub urządzenie sieciowe). Na wielu
sieciach, tylko niewielki procent adresów IP jest aktywny w danym momencie. To jest
szczególnie powszechne w przypadku prywatnej przestrzeni adresowej, takiej jak 10.0.0.0/8. Ta sieć ma 16
milionów adresów IP, ale widziałem, że jest używany przez firmy posiadające mniej niż tysiąc maszyn. Gospodarz
wykrywanie może znaleźć te maszyny w rzadko przydzielonym morzu adresów IP.
Jeśli nie podano żadnych opcji wykrywania hostów, Nmap wysyła żądanie echa ICMP, pakiet TCP SYN
do portu 443, pakiet TCP ACK do portu 80 i żądanie znacznika czasu ICMP. (Dla IPv6,
Żądanie znacznika czasu ICMP jest pominięte, ponieważ nie jest częścią ICMPv6.) Te wartości domyślne to:
równoważny z -STOPA -PS443 -PA80 -PP opcje. Wyjątkiem od tego są ARP (dla
IPv4) i wykrywanie sąsiadów. (dla IPv6) skanów, które są używane dla dowolnych celów w lokalizacji lokalnej
sieć Ethernet. Dla nieuprzywilejowanych użytkowników powłoki Unix, domyślnymi sondami są pakiety SYN
do portów 80 i 443 za pomocą connect wywołanie systemowe.. To wykrywanie hosta jest często
wystarczające przy skanowaniu sieci lokalnych, ale bardziej wszechstronny zestaw sond wykrywających
jest zalecany do audytu bezpieczeństwa.
-P* opcje (które wybierają typy pingów) można łączyć. Możesz zwiększyć swoje szanse na
penetrowanie ścisłych zapór ogniowych poprzez wysyłanie wielu typów sond przy użyciu różnych portów/flag TCP
i kody ICMP. Należy również pamiętać, że ARP/Neighbor Discovery (-PR). odbywa się domyślnie przeciwko
cele w lokalnej sieci Ethernet, nawet jeśli określisz inne -P* opcje, bo tak jest
prawie zawsze szybciej i skuteczniej.
Domyślnie Nmap wykrywa hosty, a następnie wykonuje skanowanie portów na każdym z hostów
określa, że jest online. Dzieje się tak, nawet jeśli określisz inne niż domyślne typy wykrywania hostów
takie jak sondy UDP (-PU). Przeczytaj o -SN opcja, aby dowiedzieć się, jak wykonać tylko host
odkrycie lub użycie -Pn aby pominąć wykrywanie hostów i skanowanie portów na wszystkich hostach docelowych. Następujące
opcje kontrolują wykrywanie hostów:
-SL (Skanowanie listy) .
Skanowanie listy jest zdegenerowaną formą wykrywania hostów, która po prostu wyświetla listę każdego hosta z
określonych sieci, bez wysyłania pakietów do hostów docelowych. Domyślnie,
Nmap nadal zajmuje się odwrotną rozdzielczością DNS na hostach, aby poznać ich nazwy. To jest często
zaskakujące, ile przydatnych informacji podają proste nazwy hostów. Na przykład fw.chi
to nazwa zapory sieciowej jednej firmy w Chicago. Nmap podaje również całkowitą liczbę
Adresy IP na końcu. Skanowanie listy jest dobrym sprawdzeniem, czy masz
właściwe adresy IP dla celów. Jeśli gospodarze sportowych nazw domen, których nie używasz
rozpoznać, warto zbadać dalej, aby zapobiec skanowaniu niewłaściwej firmy
sieci.
Ponieważ chodzi o po prostu wydrukowanie listy hostów docelowych, opcje dla wyższego poziomu
nie można łączyć funkcji, takich jak skanowanie portów, wykrywanie systemu operacyjnego lub skanowanie ping
z tym. Jeśli chcesz wyłączyć skanowanie przy użyciu polecenia ping podczas wykonywania takich wyższych czynności
poziom funkcjonalności, czytaj dalej -Pn (pomiń ping).
-SN (Brak skanowania portów) .
Ta opcja mówi Nmapowi, aby nie wykonywał skanowania portów po wykryciu hosta i tylko drukował
dostępnych hostów, które odpowiedziały na sondy do wykrywania hostów. To jest często znane
jako „skanowanie ping”, ale możesz również zażądać, aby skrypty hosta traceroute i NSE były
uruchomić. Domyślnie jest to o jeden krok bardziej inwazyjne niż skanowanie listy i często może być
używane do tych samych celów. Umożliwia lekki rozpoznanie sieci docelowej bez
przyciągające dużo uwagi. Wiedza o tym, ile hostów działa, jest bardziej cenna dla atakujących
niż lista dostarczona przez skanowanie listy każdego adresu IP i nazwy hosta.
Administratorzy systemów często również uważają tę opcję za cenną. Może być łatwo używany
do zliczania dostępnych maszyn w sieci lub monitorowania dostępności serwerów. To jest często
nazywa się to ping sweep i jest bardziej niezawodne niż pingowanie adresu rozgłoszeniowego, ponieważ
wiele hostów nie odpowiada na zapytania rozgłoszeniowe.
Domyślne wykrywanie hosta wykonane za pomocą -SN składa się z żądania echa ICMP, TCP SYN do
port 443, TCP ACK do portu 80 i domyślnie żądanie sygnatury czasowej ICMP. Po wykonaniu
przez nieuprzywilejowanego użytkownika, wysyłane są tylko pakiety SYN (za pomocą connect połączenie) do portów 80
i 443 na cel. Gdy uprzywilejowany użytkownik próbuje skanować obiekty lokalne
sieć Ethernet, używane są żądania ARP, chyba że --wyślij-ip został określony. ten -SN opcja
można łączyć z dowolnym typem sondy wykrywającej ( -P* opcje, z wyłączeniem -Pn)
dla większej elastyczności. Jeśli którykolwiek z tych opcji typu sondy i numeru portu jest używany,
domyślne sondy są zastępowane. Gdy między
host źródłowy z uruchomionym Nmapem i siecią docelową, przy użyciu tych zaawansowanych technik jest
Zalecana. W przeciwnym razie hosty mogą zostać pominięte, gdy zapora zrzuci sondy lub ich
odpowiedzi
W poprzednich wersjach Nmapa, -SN był znany jako -sP..
-Pn (Brak pingów) .
Ta opcja całkowicie pomija etap wykrywania Nmapa. Normalnie Nmap używa tego etapu
do określenia aktywnych maszyn do cięższego skanowania. Domyślnie Nmap wykonuje tylko
intensywne sondowanie, takie jak skanowanie portów, wykrywanie wersji lub wykrywanie systemu operacyjnego pod kątem hostów
które okazały się być w górę. Wyłączanie wykrywania hosta za pomocą -Pn powoduje, że Nmap próbuje wykonać
żądane funkcje skanowania przeciwko każdy określony docelowy adres IP. Więc jeśli klasa
Docelowa przestrzeń adresowa (/16) jest określona w wierszu poleceń, wszystkie 65,536 XNUMX adresów IP
są skanowane. Prawidłowe wykrywanie hostów jest pomijane, jak przy skanowaniu listy, ale zamiast
zatrzymanie i wydrukowanie listy celów, Nmap kontynuuje wykonywanie żądanych funkcji
tak jakby każdy docelowy adres IP był aktywny. Aby pominąć skanowanie ping i skanowanie portów, nadal zezwalając
NSE do uruchomienia, użyj dwóch opcji -Pn -SN razem.
W przypadku maszyn w lokalnej sieci Ethernet skanowanie ARP będzie nadal wykonywane (chyba że:
--wyłącz-arp-ping or --wyślij-ip jest określony), ponieważ Nmap potrzebuje adresów MAC do
dalsze skanowanie hostów docelowych. W poprzednich wersjach Nmapa -Pn była -P0. i -PN..
-PS Port podstęp (Ping TCP SYN) .
Ta opcja wysyła pusty pakiet TCP z ustawioną flagą SYN. Domyślny cel podróży
port to 80 (konfigurowalny w czasie kompilacji poprzez zmianę DEFAULT_TCP_PROBE_PORT_SPEC, w
nmap.h).. Alternatywne porty można określić jako parametr. Składnia jest taka sama jak
dla -p z wyjątkiem tego, że specyfikatory typu portu, takie jak T:, nie są dozwolone. Przykłady to
-PS22 i -PS22-25,80,113,1050,35000. Pamiętaj, że między nimi nie może być spacji -PS i
listę portów. Jeśli określono wiele sond, zostaną one wysłane równolegle.
Flaga SYN sugeruje zdalnemu systemowi, że próbujesz ustanowić
połączenie. Zwykle port docelowy zostanie zamknięty, a pakiet RST (reset)
odesłać. Jeśli port okaże się otwarty, cel wykona drugi krok
Uzgadnianie trójetapowe TCP. odpowiadając pakietem SYN/ACK TCP. Maszyna pracuje
Nmap następnie niszczy powstające połączenie, odpowiadając za pomocą RST, a nie
wysłanie pakietu ACK, który zakończyłby uzgadnianie trójstronne i ustanowił
pełne połączenie. Pakiet RST jest wysyłany przez jądro maszyny z uruchomionym Nmapem w
odpowiedź na nieoczekiwane SYN/ACK, a nie przez samego Nmapa.
Nmap nie dba o to, czy port jest otwarty czy zamknięty. Albo RST, albo SYN/ACK
omówiona wcześniej odpowiedź informuje Nmapa, że host jest dostępny i reaguje.
Na komputerach z systemem Unix tylko uprzywilejowany użytkownik root. generalnie jest w stanie wysyłać i odbierać
surowe pakiety TCP. W przypadku nieuprzywilejowanych użytkowników automatycznie stosowane jest obejście.
przez co connect wywołanie systemowe jest inicjowane dla każdego portu docelowego. To ma
efekt wysłania pakietu SYN do hosta docelowego, w celu ustalenia
połączenie. Gdyby connect powraca z szybkim sukcesem lub ECONNREFUSED porażką,
podstawowy stos TCP musiał otrzymać SYN/ACK lub RST, a host jest oznaczony
dostępny. Jeśli próba połączenia pozostanie zawieszona do czasu przekroczenia limitu czasu,
host jest oznaczony jako wyłączony.
-ROCZNIE Port podstęp (Ping TCP ACK) .
Ping TCP ACK jest podobny do omówionego właśnie pingu SYN. Różnica, ponieważ
można się domyślić, że zamiast flagi SYN ustawiona jest flaga TCP ACK. Taki
pakiet ACK ma rzekomo potwierdzać dane przez ustanowione połączenie TCP,
ale takie połączenie nie istnieje. Dlatego zdalne hosty powinny zawsze odpowiadać za pomocą RST
pakiet, ujawniając w tym procesie ich istnienie.
-ROCZNIE opcja używa tego samego portu domyślnego, co sonda SYN (80) i może również przyjąć
lista portów docelowych w tym samym formacie. Jeśli spróbuje tego nieuprzywilejowany użytkownik,
connect stosowane jest obejście omówione wcześniej. To obejście jest niedoskonałe, ponieważ
connect w rzeczywistości wysyła pakiet SYN, a nie ACK.
Powodem oferowania zarówno sond SYN, jak i ACK ping jest maksymalizacja szans na
omijanie zapór. Wielu administratorów konfiguruje routery i inne proste zapory sieciowe
do blokowania przychodzących pakietów SYN z wyjątkiem tych przeznaczonych dla usług publicznych, takich jak
strona internetowa firmy lub serwer pocztowy. Zapobiega to innym połączeniom przychodzącym do
organizacji, jednocześnie umożliwiając użytkownikom nawiązywanie niezakłóconych połączeń wychodzących z
Internet. To niestanowe podejście zajmuje niewiele zasobów na zaporze/routerze i
jest szeroko obsługiwany przez filtry sprzętowe i programowe. Linux Netfilter/iptables.
oprogramowanie zapory oferuje te --syn wygodna opcja do zaimplementowania tego bezstanowego
zbliżać się. Gdy obowiązują bezstanowe reguły zapory sieciowej, takie jak ta, sondy ping SYN
(-PS) prawdopodobnie zostaną zablokowane po wysłaniu do zamkniętych portów docelowych. W takich przypadkach
Sonda ACK świeci, gdy przecina te zasady.
Inny popularny typ zapory używa reguł stanowych, które odrzucają nieoczekiwane pakiety. Ten
funkcja została początkowo znaleziona głównie na zaporach sieciowych z wyższej półki, choć stała się znacznie
bardziej powszechne na przestrzeni lat. System Linux Netfilter/iptables obsługuje to poprzez
dotychczasowy --stan opcja, która kategoryzuje pakiety na podstawie stanu połączenia. Sonda SYN
jest bardziej prawdopodobne, że zadziała przeciwko takiemu systemowi, ponieważ generalnie nieoczekiwane pakiety ACK są
rozpoznane jako fałszywe i usunięte. Rozwiązaniem tego problemu jest wysłanie zarówno SYN, jak i
Sondy ACK przez określenie -PS i -ROCZNIE.
-PU Port podstęp (Ping UDP) .
Inną opcją wykrywania hosta jest ping UDP, który wysyła pakiet UDP do podanego
porty. W przypadku większości portów pakiet będzie pusty, chociaż niektóre używają specyficznego protokołu
ładunek, który z większym prawdopodobieństwem wywoła odpowiedź. Opis bazy danych ładunku
at https://nmap.org/book/nmap-payloads.html.. --dane, --ciąg danych,
--data-długość opcje.
Lista portów ma taki sam format, jak w przypadku omówionej wcześniej -PS i -ROCZNIE
opcje. Jeśli nie określono portów, wartością domyślną jest 40125. Ta wartość domyślna może być
skonfigurowane w czasie kompilacji przez zmianę DEFAULT_UDP_PROBE_PORT_SPEC. w nmap.h.. A
domyślnie używany jest bardzo rzadki port, ponieważ wysyłanie do otwartych portów jest często
niepożądane dla tego konkretnego typu skanowania.
Po trafieniu w zamknięty port na maszynie docelowej sonda UDP powinna wywołać ICMP
port nieosiągalny pakiet w zamian. Oznacza to dla Nmapa, że komputer działa i
dostępny. Wiele innych rodzajów błędów ICMP, takich jak nieosiągalny host/sieć lub TTL
przekroczone wskazują na wyłączony lub nieosiągalny host. Brak odpowiedzi to także
interpretowane w ten sposób. Jeśli zostanie osiągnięty otwarty port, większość usług po prostu ignoruje
pusty pakiet i nie zwraca żadnej odpowiedzi. Dlatego domyślnym portem sondy jest
40125, którego użycie jest bardzo mało prawdopodobne. Kilka usług, takich jak Postać
Protokół generatora (ładowania), odpowie na pusty pakiet UDP, a tym samym ujawni
do Nmapa, że maszyna jest dostępna.
Główną zaletą tego typu skanowania jest to, że omija zapory i filtry, które:
tylko ekran TCP. Na przykład kiedyś posiadałem bezprzewodowe łącze szerokopasmowe Linksys BEFW11S4
router. Zewnętrzny interfejs tego urządzenia domyślnie filtrował wszystkie porty TCP, ale
Sondy UDP nadal będą wywoływać komunikaty o nieosiągalnym porcie, a tym samym oddawać urządzenie.
-PY Port podstęp (Ping początkowy SCTP) .
Ta opcja wysyła pakiet SCTP zawierający minimalną porcję INIT. Domyślny
port docelowy to 80 (konfigurowalny w czasie kompilacji poprzez zmianę
DEFAULT_SCTP_PROBE_PORT_SPEC. w nmap.h). Alternatywne porty można określić jako
parametr. Składnia jest taka sama jak w przypadku -p z wyjątkiem tego, że specyfikatory typu portu, takie jak
S: nie są dozwolone. Przykłady to -PY22 i -PY22,80,179,5060. Pamiętaj, że może być
brak spacji między -PY i listę portów. Jeśli określono wiele sond, będą one:
wysłane równolegle.
Fragment INIT sugeruje zdalnemu systemowi, że próbujesz ustanowić
Stowarzyszenie. Zwykle port docelowy będzie zamknięty, a fragment ABORT będzie
odesłać. Jeśli port zostanie otwarty, cel wykona drugi krok
Czterokierunkowy uścisk dłoni SCTP. odpowiadając fragmentem INIT-ACK. Jeśli maszyna pracuje
Nmap ma funkcjonalny stos SCTP, a następnie niszczy rodzącą się asocjację przez
odpowiadać fragmentem ABORT zamiast wysyłać fragment COOKIE-ECHO, który byłby
kolejny krok w czterokierunkowym uścisku dłoni. Pakiet ABORT jest wysyłany przez jądro
maszyna z uruchomionym Nmapem w odpowiedzi na nieoczekiwane INIT-ACK, a nie przez sam Nmap.
Nmap nie dba o to, czy port jest otwarty czy zamknięty. ABORT lub INIT-ACK
omówiona wcześniej odpowiedź informuje Nmapa, że host jest dostępny i reaguje.
Na komputerach z systemem Unix tylko uprzywilejowany użytkownik root. generalnie jest w stanie wysyłać i odbierać
surowe pakiety SCTP.. Używanie SCTP INIT Pings nie jest obecnie możliwe dla nieuprzywilejowanych
użytkownicy...
-STOPA; -PP; -PO POŁUDNIU (Typy pingów ICMP) .
Oprócz omówionych nietypowych typów wykrywania hostów TCP, UDP i SCTP
poprzednio Nmap może wysyłać standardowe pakiety wysyłane przez wszechobecny program ping.
Nmap wysyła pakiet ICMP typu 8 (żądanie echa) na docelowe adresy IP, oczekując
typ 0 (odpowiedź echa) w zamian z dostępnych hostów.. Niestety dla sieci
odkrywców, wiele hostów i zapór blokuje teraz te pakiety, zamiast odpowiadać jako
wymagane przez RFC 1122[2].. Z tego powodu skanowanie tylko za pomocą protokołu ICMP rzadko jest wystarczająco wiarygodne
przeciwko nieznanym celom przez Internet. Ale dla administratorów systemu monitorujących i
sieci wewnętrznej, mogą być praktycznym i skutecznym podejściem. Użyj -STOPA opcja
aby włączyć to zachowanie żądania echa.
Chociaż żądanie echa jest standardowym zapytaniem ICMP ping, Nmap na tym się nie kończy. ICMP
standardy (RFC 792[3]. oraz RFC 950[4]. ) podaj również żądanie znacznika czasu, informacje
request i pakiety żądania maski adresu odpowiednio jako kody 13, 15 i 17. Dopóki
rzekomym celem tych zapytań jest poznanie informacji, takich jak maski adresowe
i aktualnymi godzinami, można je łatwo wykorzystać do odnajdowania hostów. System, który odpowiada
jest gotowy i dostępny. Nmap obecnie nie implementuje pakietów żądań informacji, ponieważ
nie są powszechnie obsługiwane. RFC 1122 nalega, aby „host NIE POWINIEN implementować”
te wiadomości”. Zapytania o znacznik czasu i maskę adresu można wysyłać za pomocą -PP i -PO POŁUDNIU
opcje, odpowiednio. Odpowiedź znacznika czasu (kod ICMP 14) lub odpowiedź maski adresu (kod
18) ujawnia, że host jest dostępny. Te dwa zapytania mogą być przydatne, gdy
administratorzy specjalnie blokują pakiety żądań echa, zapominając o tym innym
Zapytania ICMP mogą być używane w tym samym celu.
-FRAGMENT protokół podstęp (Ping protokołu IP) .
Jedną z nowszych opcji wykrywania hostów jest ping protokołu IP, który wysyła IP
pakiety z określonym numerem protokołu ustawionym w ich nagłówku IP. Lista protokołów
przyjmuje ten sam format, co listy portów we wcześniej omawianych protokołach TCP, UDP i SCTP
opcje wykrywania hosta. Jeśli nie określono żadnych protokołów, domyślnie wysyłanych jest wiele
Pakiety IP dla ICMP (protokół 1), IGMP (protokół 2) i IP-in-IP (protokół 4). ten
domyślne protokoły można skonfigurować w czasie kompilacji, zmieniając
DEFAULT_PROTO_PROBE_PORT_SPEC. w nmap.h. Zauważ, że dla ICMP, IGMP, TCP (protokół
6), UDP (protokół 17) i SCTP (protokół 132), pakiety wysyłane są z poprawnym
nagłówki protokołów. podczas gdy inne protokoły są wysyłane bez dodatkowych danych poza
Nagłówek IP (chyba że którykolwiek z --dane, --ciąg danychlub --data-długość opcje są
określony).
Ta metoda wykrywania hostów wyszukuje odpowiedzi przy użyciu tego samego protokołu, co
probe lub komunikaty o nieosiągalnym protokole ICMP, które oznaczają, że dany protokół
nie jest obsługiwany na hoście docelowym. Każdy rodzaj odpowiedzi oznacza, że
host docelowy żyje.
-PR (Ping ARP) .
Jednym z najczęstszych scenariuszy użycia Nmapa jest skanowanie sieci Ethernet LAN. W większości sieci LAN
zwłaszcza te korzystające z prywatnych zakresów adresów określonych przez RFC 1918[5], ogromny
większość adresów IP jest w danym momencie nieużywana. Kiedy Nmap próbuje wysłać raw
pakiet IP, taki jak żądanie echa ICMP, system operacyjny musi określić
docelowy adres sprzętowy (ARP) odpowiadający docelowemu IP, dzięki czemu może
prawidłowo zaadresować ramkę Ethernet. Często jest to powolne i problematyczne, ponieważ
systemy operacyjne nie zostały napisane z oczekiwaniem, że będą musiały to zrobić
miliony żądań ARP przeciwko niedostępnym hostom w krótkim czasie.
Skanowanie ARP sprawia, że Nmap i jego zoptymalizowane algorytmy są odpowiedzialne za żądania ARP. A jeśli to
otrzymuje odpowiedź z powrotem, Nmap nie musi się nawet martwić o pakiety ping oparte na IP
ponieważ już wie, że host jest aktywny. To sprawia, że skanowanie ARP jest znacznie szybsze i więcej
niezawodne niż skanowanie oparte na protokole IP. Tak więc jest to domyślnie robione podczas skanowania hostów Ethernet
wykryte przez Nmap znajdują się w lokalnej sieci Ethernet. Nawet jeśli różne typy pingów (takie
as -STOPA or -PS), Nmap używa ARP zamiast dowolnego celu, który jest
w tej samej sieci LAN. Jeśli absolutnie nie chcesz wykonywać skanowania ARP, określ
--wyłącz-arp-ping.
Dla IPv6 (opcja -6), -PR używa ICMPv6 Neighbor Discovery zamiast ARP. Sąsiad
Odkrywanie, zdefiniowane w RFC 4861, może być postrzegane jako odpowiednik protokołu ARP w protokole IPv6.
--wyłącz-arp-ping (Brak pingów ARP lub ND) .
Nmap normalnie wykrywa połączenia lokalnie połączone przez ARP lub IPv6 Neighbor Discovery (ND)
hosty Ethernet, nawet jeśli inne opcje wykrywania hostów, takie jak -Pn or -STOPA są używane. Do
wyłącz to niejawne zachowanie, użyj --wyłącz-arp-ping opcja.
Domyślne zachowanie jest zwykle szybsze, ale ta opcja jest przydatna w sieciach korzystających z
proxy ARP, w którym router spekulatywnie odpowiada na wszystkie żądania ARP, dokonując każdego
cel wydaje się być ustawiony zgodnie ze skanowaniem ARP.
--trasowanie (Śledź ścieżkę do hosta) .
Tracerouty są wykonywane po skanowaniu z wykorzystaniem informacji z wyników skanowania, aby:
określić port i protokół z największym prawdopodobieństwem osiągnięcia celu. Działa ze wszystkimi
typy skanowania z wyjątkiem skanowania połączenia (-sT) i skany bezczynności (-si). Wszystkie ślady używają Nmapa
dynamiczny model taktowania i są wykonywane równolegle.
Traceroute działa, wysyłając pakiety z niskim TTL (czas życia) w celu:
uzyskać komunikaty ICMP o przekroczeniu czasu z pośrednich przeskoków między skanerem a
host docelowy. Standardowe implementacje traceroute zaczynają się od TTL 1 i przyrostu
TTL aż do osiągnięcia hosta docelowego. Trasa Nmapa zaczyna się od wysokiego
TTL, a następnie zmniejsza TTL, aż osiągnie zero. Robienie tego wstecz pozwala Nmap
stosuj sprytne algorytmy buforowania, aby przyspieszyć śledzenie na wielu hostach. Średnio
Nmap wysyła o 5–10 mniej pakietów na host, w zależności od warunków sieciowych. Jeśli singiel
podsieć jest skanowana (np. 192.168.0.0/24) Nmap może wysłać tylko dwa pakiety
do większości gospodarzy.
-n (Brak rozdzielczości DNS) .
Nakazuje Nmapowi nigdy odwrócić rozpoznawanie DNS na znalezionych aktywnych adresach IP.
Ponieważ DNS może działać wolno nawet z wbudowanym równoległym resolverem Nmapa, ta opcja
może skrócić czas skanowania.
-R (Rozdzielczość DNS dla wszystkich celów) .
Nakazuje Nmapowi zawsze odwrócić rozpoznawanie DNS na docelowych adresach IP. Normalnie
odwrotny DNS jest wykonywany tylko na responsywnych (online) hostach.
--system-dns (Użyj resolwera DNS systemu) .
Domyślnie Nmap rozwiązuje adresy IP, wysyłając zapytania bezpośrednio do serwerów nazw
skonfigurowane na hoście, a następnie nasłuchiwanie odpowiedzi. Wiele próśb (często dziesiątki)
są wykonywane równolegle w celu poprawy wydajności. Określ tę opcję, aby użyć swojego
zamiast tego przelicznik systemowy (jeden adres IP na raz przez pobierz informacje o nazwie połączenie). To jest wolniejsze
i rzadko przydatne, chyba że znajdziesz błąd w równoległym przeliczniku Nmapa (pozwól nam
wiesz, jeśli tak). Przelicznik systemowy jest zawsze używany do skanowania IPv6.
--dns-serwery server1[,server2[,...]] (Serwery używane do odwrotnych zapytań DNS) .
Domyślnie Nmap określa twoje serwery DNS (dla rozdzielczości rDNS) na podstawie twojego
plik resolv.conf (Unix) lub Rejestr (Win32). Alternatywnie możesz użyć tego
możliwość określenia alternatywnych serwerów. Ta opcja nie jest honorowana, jeśli używasz
--system-dns lub skanowanie IPv6. Korzystanie z wielu serwerów DNS jest często szybsze, zwłaszcza
jeśli wybierzesz autorytatywne serwery dla docelowej przestrzeni IP. Ta opcja może również
poprawić ukrycie, ponieważ Twoje żądania mogą zostać odbite od niemal każdego rekursywnego DNS
serwer w Internecie.
Ta opcja przydaje się również podczas skanowania sieci prywatnych. Czasami tylko kilka
serwery nazw dostarczają prawidłowe informacje rDNS, a Ty możesz nawet nie wiedzieć, gdzie one są
są. Możesz przeskanować sieć w poszukiwaniu portu 53 (być może z wykrywaniem wersji), a następnie spróbować
Skanowanie list Nmapa (-SL) określając każdy serwer nazw pojedynczo za pomocą --dns-serwery
dopóki nie znajdziesz takiego, który działa.
PORT ŁÓW PODSTAWY
Funkcjonalność Nmapa rozwijała się przez lata, ale zaczynał jako wydajny port
skaner i to pozostaje jego podstawową funkcją. Proste polecenie nmap cel skanuje 1,000
Porty TCP na hoście cel. Podczas gdy wiele skanerów portów tradycyjnie łączy wszystkie porty,
w stany otwarte lub zamknięte, Nmap jest znacznie bardziej szczegółowy. Dzieli porty na sześć
stany: otwarte, zamknięte, przefiltrowane, niefiltrowane, otwarte|filtrowane lub zamknięte|filtrowane.
Te stany nie są wewnętrznymi właściwościami samego portu, ale opisują, jak widzi Nmap
ich. Na przykład skan Nmapa z tej samej sieci co cel może pokazać port 135/tcp
jako otwarte, a skanowanie w tym samym czasie z tymi samymi opcjami z całego Internetu
może pokazać ten port jako filtrowany.
sześć Port państwa uznane by Nmap
Aplikacja aktywnie akceptuje połączenia TCP, datagramy UDP lub SCTP
stowarzyszeń na tym porcie. Ich znalezienie jest często głównym celem skanowania portów.
Osoby dbające o bezpieczeństwo wiedzą, że każdy otwarty port jest drogą do ataku. Atakujący i
pen-testerzy chcą wykorzystać otwarte porty, podczas gdy administratorzy próbują zamknąć lub
chroń je za pomocą zapór ogniowych bez przeszkadzania legalnym użytkownikom. Otwarte porty są również
interesujące dla skanów niezwiązanych z bezpieczeństwem, ponieważ pokazują usługi dostępne do użytku w
sieci.
Zamknięty port jest dostępny (odbiera i odpowiada na pakiety sond Nmap), ale
nie ma na nim żadnej aplikacji. Mogą być pomocne w wykazaniu, że gospodarz jest?
na adres IP (wykrywanie hosta lub skanowanie ping) oraz jako część wykrywania systemu operacyjnego.
Ponieważ zamknięte porty są osiągalne, warto przeskanować je później w przypadku otwarcia niektórych
w górę. Administratorzy mogą rozważyć zablokowanie takich portów za pomocą zapory. Wtedy oni
pojawi się w stanie filtrowanym, omówionym dalej.
Nmap nie może określić, czy port jest otwarty, ponieważ filtrowanie pakietów zapobiega jego
sondy przed dotarciem do portu. Filtrowanie może pochodzić z dedykowanej zapory
urządzenie, reguły routera lub oprogramowanie zapory oparte na hoście. Te porty frustrują atakujących
ponieważ dostarczają tak mało informacji. Czasami odpowiadają z błędem ICMP
komunikaty typu 3 kod 13 (miejsce docelowe nieosiągalne: komunikacja)
administracyjnie zabronione), ale filtry, które po prostu upuszczają sondy bez odpowiedzi
są znacznie bardziej powszechne. Zmusza to Nmapa do kilkukrotnego ponowienia próby, na wypadek gdyby sonda
został odrzucony z powodu przeciążenia sieci, a nie filtrowania. Spowalnia to skanowanie
dramatycznie.
Stan niefiltrowany oznacza, że port jest dostępny, ale Nmap nie może określić
czy jest otwarty czy zamknięty. Tylko skanowanie ACK, które jest używane do mapowania zapory
zestawy reguł, klasyfikuje porty do tego stanu. Skanowanie niefiltrowanych portów za pomocą innego skanowania
typy, takie jak skanowanie okien, skanowanie SYN lub skanowanie FIN, mogą pomóc w ustaleniu, czy port jest:
otwarte.
Nmap umieszcza porty w tym stanie, gdy nie jest w stanie określić, czy port jest otwarty
lub filtrowane. Dzieje się tak w przypadku typów skanowania, w których otwarte porty nie dają odpowiedzi. Brak
odpowiedzi może również oznaczać, że filtr pakietów odrzucił sondę lub jakąkolwiek odpowiedź na nią
wywołane. Tak więc Nmap nie wie na pewno, czy port jest otwarty czy filtrowany.
Skany UDP, IP, FIN, NULL i Xmas klasyfikują porty w ten sposób.
Ten stan jest używany, gdy Nmap nie jest w stanie określić, czy port jest zamknięty, czy
przefiltrowany. Jest używany tylko do skanowania IP ID w stanie bezczynności.
PORT ŁÓW TECHNIKI
Jako nowicjusz wykonujący naprawę samochodową mogę godzinami męczyć się z dopasowaniem mojego
podstawowe narzędzia (młotek, taśma klejąca, klucz itp.) do wykonywanego zadania. Kiedy mi się nie uda
nędznie i holuję mojego gruchota do prawdziwego mechanika, on niezmiennie łapie się w ogromnym narzędziu
klatkę piersiową, dopóki nie wyciągnie idealnego gadżetu, który sprawia, że praca wydaje się bezwysiłkowa. Sztuka
skanowanie portów jest podobne. Eksperci rozumieją dziesiątki technik skanowania i wybierają te
odpowiednia (lub kombinacja) do danego zadania. Niedoświadczeni użytkownicy i skrypt
dzieciaki. z drugiej strony spróbuj rozwiązać każdy problem za pomocą domyślnego skanowania SYN. Odkąd
Nmap jest darmowy, jedyną barierą do opanowania skanowania portów jest wiedza. To z pewnością bije
świat motoryzacyjny, w którym ustalenie, że potrzebujesz amortyzatora, może wymagać wielkich umiejętności
ściągacz do sprężyn, to i tak trzeba za niego zapłacić tysiące dolarów.
Większość typów skanowania jest dostępna tylko dla uprzywilejowanych użytkowników. Dzieje się tak, ponieważ wysyłają
i odbieraj surowe pakiety. który wymaga dostępu roota w systemach Unix. Korzystanie z
zalecane jest konto administratora w systemie Windows, chociaż Nmap czasami działa dla
nieuprzywilejowani użytkownicy tej platformy, gdy WinPcap został już załadowany do systemu operacyjnego.
Wymaganie uprawnień roota było poważnym ograniczeniem, gdy Nmap został wydany w 1997 roku, aż tak wielu
użytkownicy mieli dostęp tylko do współdzielonych kont shell. Teraz świat jest inny. Komputery są
tańsze, znacznie więcej osób ma zawsze bezpośredni dostęp do Internetu i stacjonarne systemy uniksowe
(w tym Linux i Mac OS X) są powszechne. Dostępna jest już wersja Nmapa dla systemu Windows,
dzięki czemu może działać na jeszcze większej liczbie komputerów stacjonarnych. Z tych wszystkich powodów użytkownicy mają mniejszą potrzebę
uruchom Nmapa z ograniczonych współdzielonych kont powłoki. To szczęśliwe, ponieważ uprzywilejowane opcje
uczynić Nmapa znacznie bardziej wydajnym i elastycznym.
Podczas gdy Nmap próbuje uzyskać dokładne wyniki, pamiętaj, że wszystkie jego spostrzeżenia są
na podstawie pakietów zwróconych przez docelowe maszyny (lub znajdujące się przed nimi zapory). Taki
hosty mogą być niewiarygodne i wysyłać odpowiedzi mające na celu zmylenie lub wprowadzenie w błąd Nmapa. Dużo
bardziej powszechne są hosty niezgodne z RFC, które nie odpowiadają tak jak powinny na sondy Nmap.
Skany FIN, NULL i Xmas są szczególnie podatne na ten problem. Takie problemy są
specyficzne dla określonych typów skanowania i dlatego są omówione w poszczególnych wpisach typu skanowania.
Ta sekcja opisuje kilkanaście technik skanowania portów obsługiwanych przez Nmapa. Tylko jeden
metoda może być używana na raz, z wyjątkiem skanowania UDP (-jego) i którykolwiek ze skanów SCTP
typy (-sY, -sz Z) można łączyć z dowolnym typem skanowania TCP. Jako pomoc w pamięci, port
opcje typu skanowania mają postać -sC, Gdzie C jest widocznym znakiem w nazwie skanu,
zwykle pierwszy. Jedynym wyjątkiem jest przestarzałe skanowanie odbić FTP (-b). Za pomocą
domyślnie Nmap wykonuje skanowanie SYN, chociaż zastępuje skanowanie połączenia, jeśli użytkownik to zrobi
nie mają odpowiednich uprawnień do wysyłania surowych pakietów (wymaga dostępu roota w systemie Unix). Z
skany wymienione w tej sekcji, nieuprzywilejowani użytkownicy mogą wykonywać tylko połączenia i odbijanie FTP
skanuje.
-SS (Skanowanie TCP SYN) .
Skanowanie SYN jest domyślną i najpopularniejszą opcją skanowania nie bez powodu. To może być
wykonywane szybko, skanowanie tysięcy portów na sekundę w szybkiej sieci nie
utrudniane przez restrykcyjne zapory. Jest również stosunkowo dyskretny i ukradkowy
ponieważ nigdy nie kończy połączeń TCP. Skanowanie SYN działa na każdym zgodnym protokole TCP
stosuj, a nie zależnie od specyfiki konkretnych platform, takich jak Nmap
Skany FIN/NULL/Xmas, Maimon i bezczynności działają. Pozwala również na jasne, niezawodne
rozróżnienie między stanami otwartym, zamkniętym i filtrowanym.
Ta technika jest często określana jako półotwarte skanowanie, ponieważ nie otwierasz
pełne połączenie TCP. Wysyłasz pakiet SYN, tak jakbyś miał zamiar otworzyć prawdziwy
połączenie, a następnie poczekaj na odpowiedź. SYN/ACK wskazuje, że port nasłuchuje
(otwarty), podczas gdy RST (reset) wskazuje, że nie słuchasz. Jeśli nie ma odpowiedzi
odebrany po kilku retransmisjach, port jest oznaczany jako filtrowany. Port jest
również oznaczone jako filtrowane, jeśli błąd ICMP nieosiągalny (typ 3, kod 0, 1, 2, 3, 9, 10 lub
13) otrzymuje. Port jest również uważany za otwarty, jeśli pakiet SYN (bez ACK
flaga) jest odbierana w odpowiedzi. Może to być spowodowane niezwykle rzadką znaną funkcją TCP
jako jednoczesne otwarte lub podzielone połączenie uścisk dłoni (patrz
https://nmap.org/misc/split-handshake.pdf).
-sT (Skanowanie połączenia TCP) .
Skanowanie połączenia TCP jest domyślnym typem skanowania TCP, gdy skanowanie SYN nie jest opcją. To jest
przypadek, gdy użytkownik nie ma uprawnień do surowych pakietów. Zamiast pisać na surowo
pakietów, tak jak robi to większość innych typów skanowania, Nmap prosi system operacyjny, aby:
nawiązać połączenie z maszyną docelową i portem, wydając connect system
połączenie. Jest to to samo wywołanie systemowe wysokiego poziomu, co przeglądarki internetowe, klienci P2P i większość
inne aplikacje sieciowe używają do nawiązania połączenia. Jest to część
interfejs programowania znany jako Berkeley Sockets API. Zamiast czytać surowy pakiet
odpowiedzi z przewodu, Nmap używa tego interfejsu API, aby uzyskać informacje o stanie każdego z nich
próba połączenia.
Kiedy skanowanie SYN jest dostępne, zwykle jest lepszym wyborem. Nmap ma mniejszą kontrolę nad
wysoki poziom connect niż w przypadku surowych pakietów, co czyni go mniej wydajnym. ten
wywołanie systemowe kończy połączenia z otwartymi portami docelowymi, zamiast wykonywać
półotwarty reset, który robi skanowanie SYN. Nie tylko trwa to dłużej i wymaga więcej
pakiety, aby uzyskać te same informacje, ale komputery docelowe są bardziej skłonne do rejestrowania
połączenie. Przyzwoity IDS też się złapie, ale większość maszyn nie ma takiego alarmu
system. Wiele usług w przeciętnym systemie uniksowym doda notatkę do dziennika systemowego i
czasami zagadkowy komunikat o błędzie, gdy Nmap łączy się, a następnie zamyka połączenie
bez wysyłania danych. Naprawdę żałosne usługi ulegają awarii, gdy to się dzieje, chociaż tak jest
niezwykły. Administrator, który widzi w swoich dziennikach kilka prób połączenia z
pojedynczy system powinien wiedzieć, że został przeskanowany.
-jego (Skanowanie UDP) .
Podczas gdy większość popularnych usług w Internecie działa po protokole TCP, UDP[6] usługi
są szeroko stosowane. DNS, SNMP i DHCP (zarejestrowane porty 53, 161/162 i 67/68) są
trzy z najczęstszych. Ponieważ skanowanie UDP jest generalnie wolniejsze i trudniejsze
niż TCP, niektórzy audytorzy bezpieczeństwa ignorują te porty. To jest błąd, ponieważ można go wykorzystać
Usługi UDP są dość powszechne i osoby atakujące z pewnością nie ignorują całego protokołu.
Na szczęście Nmap może pomóc w inwentaryzacji portów UDP.
Skanowanie UDP jest aktywowane za pomocą -jego opcja. Można go połączyć z typem skanowania TCP
takie jak skanowanie SYN (-SS), aby sprawdzić oba protokoły podczas tego samego cyklu.
Skanowanie UDP działa poprzez wysyłanie pakietu UDP do każdego docelowego portu. W przypadku niektórych popularnych portów
takich jak 53 i 161, ładunek specyficzny dla protokołu jest wysyłany w celu zwiększenia szybkości odpowiedzi, ale
dla większości portów pakiet jest pusty, chyba że --dane, --ciąg danychlub --data-długość
określone są opcje. Jeśli zostanie zwrócony błąd nieosiągalnego portu ICMP (typ 3, kod 3),
port jest zamknięty. Inne nieosiągalne błędy ICMP (typ 3, kody 0, 1, 2, 9, 10 lub
13) oznacz port jako przefiltrowany. Czasami usługa odpowie pakietem UDP,
udowadniając, że jest otwarty. Jeśli po retransmisji nie zostanie odebrana odpowiedź, port jest:
sklasyfikowane jako otwarte|filtrowane. Oznacza to, że port może być otwarty, a może pakiet
filtry blokują komunikację. Wykrywanie wersji (-sV) może służyć jako pomoc
odróżnić naprawdę otwarte porty od filtrowanych.
Dużym wyzwaniem przy skanowaniu UDP jest robienie tego szybko. Rzadko otwieraj i filtruj porty
wyślij dowolną odpowiedź, pozostawiając Nmapowi przekroczenie limitu czasu, a następnie przeprowadź retransmisję tuż za
w przypadku utraty sondy lub odpowiedzi. Zamknięte porty to często jeszcze większy problem.
Zwykle odsyłają błąd nieosiągalnego portu ICMP. Ale w przeciwieństwie do wysłanych pakietów RST
przez zamknięte porty TCP w odpowiedzi na SYN lub skanowanie połączenia, limit szybkości wielu hostów. ICMP
domyślnie przenoś wiadomości nieosiągalne. Linux i Solaris są szczególnie surowe w kwestii
ten. Na przykład jądro Linuksa 2.4.20 ogranicza komunikaty o nieosiągalnym miejscu docelowym do
jeden na sekundę (w net/ipv4/icmp.c).
Nmap wykrywa ograniczenia prędkości i odpowiednio spowalnia, aby uniknąć zalania sieci
z bezużytecznymi pakietami, które odrzuci maszyna docelowa. Niestety, w stylu Linuksa
ograniczenie jednego pakietu na sekundę sprawia, że skanowanie 65,536 18 portów zajmuje więcej niż XNUMX godzin. Pomysły
aby przyspieszyć skanowanie UDP, uwzględnij skanowanie większej liczby hostów równolegle, wykonując szybkie
najpierw skanowanie tylko popularnych portów, skanowanie zza zapory i używanie
--przekroczenie limitu czasu hosta aby pominąć powolne hosty.
-sY (Skanowanie SCTP INIT) .
SCTP[7] to stosunkowo nowa alternatywa dla protokołów TCP i UDP, łącząca większość
charakterystykę TCP i UDP, a także dodanie nowych funkcji, takich jak multi-homing i
wielostrumieniowe. Jest używany głównie do usług związanych z SS7 / SIGTRAN, ale ma
potencjał do wykorzystania również w innych zastosowaniach. Skanowanie SCTP INIT to SCTP
odpowiednik skanowania TCP SYN. Można to zrobić szybko, skanując tysiące portów
na sekundę w szybkiej sieci nieskrępowanej restrykcyjnymi zaporami. Podobnie jak skanowanie SYN,
Skanowanie INIT jest stosunkowo dyskretne i ukryte, ponieważ nigdy nie kończy SCTP
wspomnienia. Pozwala również na wyraźne, rzetelne rozróżnienie między otwartym, zamkniętym,
i filtrowane stany.
Ta technika jest często określana jako półotwarte skanowanie, ponieważ nie otwierasz
pełne stowarzyszenie SCTP. Wysyłasz fragment INIT, tak jakbyś miał zamiar otworzyć prawdziwy
skojarzenie, a następnie czekać na odpowiedź. Fragment INIT-ACK wskazuje, że port jest
słuchanie (otwarte), podczas gdy fragment ABORT wskazuje na osobę, która nie słucha. Jeśli nie ma odpowiedzi
zostanie odebrany po kilku retransmisjach, port zostaje oznaczony jako filtrowany. Port jest
również oznaczone jako filtrowane, jeśli błąd ICMP nieosiągalny (typ 3, kod 0, 1, 2, 3, 9, 10 lub
13) otrzymuje.
-SN; -sF; -sX (Skanowania TCP NULL, FIN i Xmas) .
Te trzy typy skanowania (jeszcze więcej jest możliwych dzięki --flagi skanowania opisana opcja
w następnej sekcji) wykorzystać subtelną lukę w TCP RFC[8] różnicować
między portami otwartymi i zamkniętymi. Strona 65 w RFC 793 mówi, że „jeśli [docelowy] port
stan jest ZAMKNIĘTY .... przychodzący segment nie zawierający RST powoduje wysłanie RST
w odpowiedzi." Następnie następna strona omawia pakiety wysyłane do otwartych portów bez
Ustawiono bity SYN, RST lub ACK, stwierdzając, że: „mało prawdopodobne, że się tu dostaniesz, ale jeśli to zrobisz,
upuść segment i wróć”.
Podczas skanowania systemów zgodnych z tym tekstem RFC każdy pakiet niezawierający SYN,
Bity RST lub ACK spowodują zwrócenie RST, jeśli port jest zamknięty i brak odpowiedzi
w ogóle, jeśli port jest otwarty. Dopóki żaden z tych trzech bitów nie jest uwzględniony, dowolny
kombinacja pozostałych trzech (FIN, PSH i URG) jest OK. Nmap wykorzystuje to za pomocą
trzy typy skanowania:
Skanowanie zerowe (-SN)
Nie ustawia żadnych bitów (nagłówek flagi TCP to 0)
Skanowanie FIN (-sF)
Ustawia tylko bit TCP FIN.
Skan świąteczny (-sX)
Ustawia flagi FIN, PSH i URG, oświetlając pakiet jak choinkę.
Te trzy typy skanowania zachowują się dokładnie tak samo, z wyjątkiem ustawionych flag TCP
w pakietach sondujących. Jeśli odebrany zostanie pakiet RST, port jest uważany za zamknięty, podczas gdy nie
odpowiedź oznacza, że jest otwarty|filtrowany. Port jest oznaczony jako filtrowany, jeśli ICMP jest nieosiągalny
błąd (typ 3, kod 0, 1, 2, 3, 9, 10 lub 13).
Kluczową zaletą tych typów skanowania jest to, że mogą przemykać przez pewne
zapory bezstanowe i routery filtrujące pakiety. Kolejną zaletą jest to, że te
typy skanowania są nieco bardziej ukryte niż nawet skanowanie SYN. Nie licz na to
jednak — większość nowoczesnych produktów IDS można skonfigurować tak, aby je wykrywały. Dużym minusem jest
że nie wszystkie systemy są zgodne z RFC 793 co do joty. Wiele systemów wysyła RST
odpowiedzi na sondy niezależnie od tego, czy port jest otwarty, czy nie. To powoduje, że wszystko
portów, które mają być oznaczone jako zamknięte. Główne systemy operacyjne, które to robią to Microsoft
Windows, wiele urządzeń Cisco, BSDI i IBM OS/400. To skanowanie działa w przypadku większości
Jednak systemy oparte na systemie Unix. Inną wadą tych skanów jest to, że nie mogą
odróżnić otwarte porty od niektórych filtrowanych, pozostawiając ci odpowiedź
otwarte|filtrowane.
-SA (Skanowanie TCP ACK) .
Ten skan różni się od innych omówionych do tej pory, ponieważ nigdy nie określa:
otwarte (lub nawet otwarte|filtrowane) porty. Służy do mapowania zestawów reguł zapory,
określenie, czy są one stanowe, czy nie i które porty są filtrowane.
Pakiet sondy skanowania ACK ma tylko ustawioną flagę ACK (chyba że używasz --flagi skanowania). Kiedy
skanowanie niefiltrowanych systemów, otwarte i zamknięte porty zwrócą pakiet RST. Nmap
następnie oznacza je jako niefiltrowane, co oznacza, że są osiągalne przez pakiet ACK, ale
to, czy są otwarte, czy zamknięte, jest nieokreślone. Porty, które nie odpowiadają lub wysyłają
niektóre komunikaty o błędach ICMP z powrotem (typ 3, kod 0, 1, 2, 3, 9, 10 lub 13) są oznaczone
przefiltrowany.
-południowy zachód (Skanowanie okna TCP) .
Skanowanie okna jest dokładnie takie samo jak skanowanie ACK, z wyjątkiem tego, że wykorzystuje implementację
szczegóły niektórych systemów w celu odróżnienia otwartych portów od zamkniętych, a nie
zawsze drukuje bez filtrowania, gdy zwracany jest RST. Robi to, badając TCP
Pole okna zwróconych pakietów RST. W niektórych systemach otwarte porty używają pozytywnego
rozmiar okna (nawet dla pakietów RST), podczas gdy zamknięte mają okno zerowe. Więc zamiast
zawsze wyświetla port jako niefiltrowany, gdy otrzymuje z powrotem RST, skanowanie w oknie wyświetla
port jako otwarty lub zamknięty, jeśli wartość okna TCP w tym resecie jest dodatnia lub zerowa,
odpowiednio.
To skanowanie opiera się na szczegółach implementacji mniejszości systemów znajdujących się na
Internet, więc nie zawsze możesz mu ufać. Systemy, które tego nie obsługują, zwykle będą
zwróć wszystkie porty zamknięte. Oczywiście możliwe, że maszyna naprawdę nie ma otwartej
porty. Jeśli większość skanowanych portów jest zamknięta, ale kilka typowych numerów portów (takich jak 22, 25,
53) są filtrowane, system jest najprawdopodobniej podatny. Czasami systemy będą:
nawet wykazywać dokładnie odwrotne zachowanie. Jeśli twój skan pokazuje 1,000 otwartych portów i trzy
porty zamknięte lub filtrowane, to te trzy mogą równie dobrze być tymi naprawdę otwartymi.
-sM (Skanowanie TCP Maimon) .
Skanowanie Maimon nosi imię jego odkrywcy, Uriela Maimona.. Opisał on
technika w numerze 49 magazynu Phrack (listopad 1996). Nmap, który zawierał to
technika została wydana dwa wydania później. Ta technika jest dokładnie taka sama jak NULL,
Skany FIN i Xmas, z wyjątkiem tego, że sonda to FIN/ACK. Według RFC 793[8] (TCP),
w odpowiedzi na taką sondę powinien zostać wygenerowany pakiet RST, czy port jest otwarty
lub zamknięte. Uriel zauważył jednak, że wiele systemów wywodzących się z BSD po prostu odrzuca pakiet
jeśli port jest otwarty.
--flagi skanowania (Niestandardowe skanowanie TCP) .
Prawdziwie zaawansowani użytkownicy Nmapa nie muszą ograniczać się do oferowanych gotowych typów skanowania.
--flagi skanowania opcja umożliwia zaprojektowanie własnego skanu poprzez określenie dowolnego TCP
flagi.. Niech Twoje kreatywne soki popłyną, unikając systemów wykrywania włamań.
których dostawcy po prostu przeglądali stronę podręcznika Nmapa, dodając określone reguły!
--flagi skanowania argument może być wartością numeryczną flagi, taką jak 9 (PSH i FIN), ale
używanie nazw symbolicznych jest łatwiejsze. Wystarczy połączyć dowolną kombinację URG, ACK, PSH,
RST, SYN i FIN. Na przykład, --flagi skanowania URGACKPSHRSTSYNFIN ustawia jednak wszystko
to nie jest zbyt przydatne do skanowania. Kolejność, w jakiej są one określone, nie ma znaczenia.
Oprócz określenia żądanych flag można określić typ skanowania TCP (taki jak
-SA or -sF). Ten typ bazowy mówi Nmapowi, jak interpretować odpowiedzi. Na przykład SYN
skanowanie uwzględnia brak odpowiedzi, aby wskazać filtrowany port, podczas gdy skanowanie FIN traktuje
tak samo jak otwarte|filtrowane. Nmap będzie zachowywał się tak samo jak dla podstawowego typu skanowania,
z wyjątkiem tego, że zamiast tego użyje określonych flag TCP. Jeśli nie określisz podstawy
typ, używany jest skan SYN.
-sz Z (Skanowanie SCTP COOKIE ECHO).
Skan SCTP COOKIE ECHO jest bardziej zaawansowanym skanowaniem SCTP. Wykorzystuje fakt
że implementacje SCTP powinny po cichu odrzucać pakiety zawierające kawałki COOKIE ECHO
na otwartych portach, ale wyślij ABORT, jeśli port jest zamknięty. Zaletą tego skanowania
typ jest taki, że skanowanie portów nie jest tak oczywiste, jak skanowanie INIT. Ponadto może być
niestanowe zestawy reguł zapory sieciowej blokujące porcje INIT, ale nie porcje COOKIE ECHO. Nie
daj się zwieść myśleniu, że to sprawi, że skanowanie portów będzie niewidoczne; dobry IDS będzie
w stanie wykryć również skany SCTP COOKIE ECHO. Minusem jest to, że SCTP COOKIE ECHO skanuje
nie może rozróżnić portów otwartych i filtrowanych, pozostawiając cię ze stanem
otwarte|filtrowane w obu przypadkach.
-si zambi gospodarz[:port sondy] (skanowanie w trybie bezczynności) .
Ta zaawansowana metoda skanowania pozwala na prawdziwie ślepe skanowanie portu TCP celu
(co oznacza, że żadne pakiety nie są wysyłane do celu z twojego prawdziwego adresu IP). Zamiast tego
unikalny atak boczny wykorzystuje przewidywalną sekwencję identyfikatorów fragmentacji IP
generowanie na hoście zombie w celu zebrania informacji o otwartych portach w systemie docelowym.
Systemy IDS będą wyświetlać skan jako pochodzący z określonej maszyny zombie (która
musi być w górze i spełniać określone kryteria). Ten fascynujący typ skanowania jest zbyt złożony, aby
w pełni opisz w tym przewodniku, więc napisałem i wysłałem nieformalny artykuł z
pełne szczegóły na https://nmap.org/book/idlescan.html.
Oprócz tego, że jest niezwykle dyskretny (ze względu na swoją ślepą naturę), ten typ skanowania
umożliwia mapowanie relacji zaufania opartych na protokole IP między komputerami. Lista portów
pokazuje otwarte porty od dotychczasowy perspektywa of dotychczasowy zambi gospodarz. Możesz więc spróbować zeskanować a
celuj za pomocą różnych zombie, które Twoim zdaniem mogą być godne zaufania. (przez router/pakiet
reguły filtrowania).
Możesz dodać dwukropek, a następnie numer portu do hosta zombie, jeśli chcesz sondować
konkretny port w zombie dla zmian IP ID. W przeciwnym razie Nmap użyje portu it
używa domyślnie dla pingów TCP (80).
-więc (Skanowanie protokołu IP) .
Skanowanie protokołów IP pozwala określić, które protokoły IP (TCP, ICMP, IGMP itp.)
są obsługiwane przez maszyny docelowe. Technicznie rzecz biorąc, nie jest to skanowanie portów, ponieważ działa cyklicznie
poprzez numery protokołów IP zamiast numerów portów TCP lub UDP. Jednak nadal używa
-p możliwość wyboru numerów zeskanowanych protokołów, raportuje ich wyniki w granicach normy
format tabeli portów, a nawet używa tego samego podstawowego silnika skanowania, co prawdziwy port
metody skanowania. Jest więc wystarczająco blisko skanowania portów, że należy tutaj.
Poza tym, że jest użyteczny sam w sobie, skanowanie protokołu demonstruje moc
oprogramowanie o otwartym kodzie źródłowym. Chociaż podstawowa idea jest dość prosta, nie myślałem
aby go dodać, ani nie otrzymał żadnych próśb o taką funkcjonalność. Potem latem
2000, Gerharda Riegera. wpadł na pomysł, napisał świetną łatkę go realizującą,
i wysłał go na listę dyskusyjną anonsów. (wtedy nazywanych nmap-hackerami).
włączył tę łatkę do drzewa Nmap i wydał nową wersję następnego dnia.
Niewiele części komercyjnego oprogramowania ma wystarczająco entuzjastycznych użytkowników, aby zaprojektować i
wnoszą własne ulepszenia!
Skanowanie protokołu działa w podobny sposób jak skanowanie UDP. Zamiast iterować przez
pole numeru portu pakietu UDP, wysyła nagłówki pakietów IP i iteruje przez
ośmiobitowe pole protokołu IP. Nagłówki są zwykle puste, nie zawierają danych i nie
nawet właściwy nagłówek dla żądanego protokołu. Wyjątkami są TCP, UDP, ICMP,
SCTP i IGMP. Odpowiedni nagłówek protokołu dla nich jest dołączony, ponieważ niektóre systemy
nie wyśle ich inaczej i ponieważ Nmap ma już funkcje do ich tworzenia.
Zamiast szukać komunikatów o nieosiągalnym porcie ICMP, skanowanie protokołu jest włączone
wypatruj ICMP protokół nieosiągalne wiadomości. Jeśli Nmap otrzyma jakąkolwiek odpowiedź w dowolnym
protokołu z hosta docelowego, Nmap oznacza ten protokół jako otwarty. Protokół ICMP
błąd nieosiągalny (typ 3, kod 2) powoduje oznaczenie protokołu jako zamkniętego, gdy
port nieosiągalny (typ 3, kod 3) oznacza, że protokół jest otwarty. Inny ICMP nieosiągalny
błędy (typ 3, kod 0, 1, 9, 10 lub 13) powodują oznaczenie protokołu jako przefiltrowany
(choć dowodzą, że ICMP jest otwarty w tym samym czasie). Jeśli nie otrzymasz odpowiedzi
po retransmisjach protokół jest oznaczony jako otwarty|filtrowany
-b FTP przekaźnik gospodarz (Skanowanie odbić FTP) .
Ciekawa funkcja protokołu FTP (RFC 959[9]) to obsługa tzw. proxy
Połączenia FTP. Pozwala to użytkownikowi połączyć się z jednym serwerem FTP, a następnie poprosić o pliki
być wysyłane na serwer innej firmy. Taka funkcja jest gotowa do nadużyć na wielu poziomach, więc
większość serwerów przestała go obsługiwać. Jednym z nadużyć, na które pozwala ta funkcja, jest:
powodując, że serwer FTP skanuje porty innych hostów. Po prostu poproś serwer FTP o przesłanie
plik do każdego interesującego portu hosta docelowego po kolei. Komunikat o błędzie będzie
opisać, czy port jest otwarty, czy nie. To dobry sposób na ominięcie zapór sieciowych
ponieważ organizacyjne serwery FTP są często umieszczane tam, gdzie mają większy dostęp do
innych hostów wewnętrznych niż jakikolwiek stary host internetowy. Nmap obsługuje skanowanie odbić FTP
z -b opcja. Potrzeba argumentu postaci nazwa użytkownika:password@serwer:Port.
to nazwa lub adres IP podatnego serwera FTP. Podobnie jak w przypadku normalnego adresu URL, ty
może pominąć nazwa użytkownika:password, w takim przypadku anonimowe dane logowania (użytkownik: anonimowy
hasło:-wwwuser@). Numer portu (i poprzedzający go dwukropek) można pominąć jako
cóż, w takim przypadku domyślny port FTP (21) włączony serwer Jest używane.
Ta luka była szeroko rozpowszechniona w 1997 roku, kiedy Nmap został wydany, ale w dużej mierze została
naprawiony. Podatne serwery wciąż są dostępne, więc warto spróbować, gdy wszystko inne zawiedzie.
Jeśli Twoim celem jest ominięcie zapory, przeskanuj sieć docelową w poszukiwaniu portu 21 (lub nawet
wszelkie usługi FTP, jeśli skanujesz wszystkie porty z wykrywaniem wersji) i używasz ftp-bounce.
Skrypt NSE. Nmap poinformuje Cię, czy host jest podatny na ataki, czy nie. Jeśli jesteś po prostu
próbując zatrzeć ślady, nie musisz (a właściwie nie powinieneś) ograniczać
się do hostów w sieci docelowej. Zanim przejdziesz do skanowania losowego Internetu
adresy podatnych serwerów FTP, pamiętaj, że administratorzy mogą cię nie docenić
nadużywanie swoich serwerów w ten sposób.
PORT SPECYFIKACJA ROLNICZE SCAN ZAMÓWIENIE
Oprócz wszystkich metod skanowania omówionych wcześniej, Nmap oferuje opcje dla
określenie, które porty są skanowane i czy kolejność skanowania jest losowa czy sekwencyjna.
Domyślnie Nmap skanuje najpopularniejsze 1,000 portów dla każdego protokołu.
-p Port zakresy (Skanuj tylko określone porty) .
Ta opcja określa, które porty chcesz skanować i zastępuje domyślne.
Poszczególne numery portów są prawidłowe, podobnie jak zakresy oddzielone myślnikiem (np. 1-1023).
Początkowe i/lub końcowe wartości zakresu mogą zostać pominięte, przez co Nmap użyje 1 i
65535, odpowiednio. Więc możesz określić -P- do skanowania portów od 1 do 65535.
Skanowanie portu zero. jest dozwolone, jeśli określisz to wyraźnie. Do skanowania protokołu IP
(-więc), ta opcja określa numery protokołów, które chcesz skanować (0–255).
Podczas skanowania kombinacji protokołów (np. TCP i UDP) można określić
konkretny protokół poprzedzając numery portów przez T: dla TCP, U: dla UDP, S: dla
SCTP lub P: dla protokołu IP. Kwalifikator trwa, dopóki nie określisz innego kwalifikatora.
Na przykład argument -p U:53,111,137, T:21-25,80,139,8080 przeskanuje porty UDP 53,
111 i 137, a także wymienione porty TCP. Pamiętaj, że aby skanować zarówno UDP, jak i TCP, należy
muszę określić -jego i co najmniej jeden typ skanowania TCP (taki jak -SS, -sFlub -sT). Jeśli nie
kwalifikator protokołu, numery portów są dodawane do wszystkich list protokołów. Porty
można również określić według nazwy zgodnie z tym, do czego port jest określony w
usługi nmap. Możesz nawet użyć symboli wieloznacznych * i ? z imionami. Na przykład, aby
skanuj FTP i wszystkie porty, których nazwy zaczynają się od „http”, użyj -p ftp, http*. Bądź ostrożny
o rozszerzeniach powłoki i zacytuj argument, aby -p jeśli nie masz pewności.
Zakresy portów można otoczyć nawiasami kwadratowymi, aby wskazać porty wewnątrz tego
zakres, który pojawia się w nmap-services. Na przykład poniższe przeskanuje wszystkie porty w
nmap-services równe lub mniejsze niż 1024: -p [-1024]. Uważaj na rozszerzenia powłoki i
zacytuj argument, aby -p jeśli nie masz pewności.
--wyklucz-porty Port zakresy (Wyklucz określone porty ze skanowania) .
Ta opcja określa, które porty Nmap ma wykluczać ze skanowania. ten Port
zakresy są określone podobnie do -p. Do skanowania protokołu IP (-więc), ta opcja
określa numery protokołów, które chcesz wykluczyć (0–255).
Gdy porty są proszone o wykluczenie, są one wykluczane ze wszystkich typów skanowań (tj
w żadnym wypadku nie będą skanowane). Obejmuje to również odkrycie
faza.
-F (Szybkie (ograniczone porty) skanowanie) .
Określa, że chcesz skanować mniej portów niż domyślna. Normalnie Nmap skanuje
najczęściej używanych 1,000 portów dla każdego skanowanego protokołu. Z -F, to jest zredukowane do 100.
Nmap potrzebuje pliku nmap-services z informacją o częstotliwości, aby wiedzieć, które
porty są najczęstsze. Jeśli informacje o częstotliwości portu nie są dostępne, być może
ze względu na użycie niestandardowego pliku nmap-services, Nmap skanuje wszystkie nazwane porty plus
porty 1-1024. W tym wypadku, -F oznacza skanowanie tylko portów wymienionych w usługach
plik.
-r (Nie losuj portów) .
Domyślnie Nmap losuje kolejność skanowanych portów (poza niektórymi często
dostępne porty są przesuwane blisko początku ze względu na wydajność). Ten
randomizacja jest zwykle pożądana, ale możesz określić -r dla sekwencyjnego (posortowane
od najniższego do najwyższego) zamiast tego skanowanie portów.
--port-współczynnik stosunek<dziesiętny numer pomiędzy 0 i 1>
Skanuje wszystkie porty w pliku nmap-services ze współczynnikiem większym niż podany. stosunek
musi wynosić od 0.0 do 1.1.
-- górne porty n
Skanuje n porty o najwyższym współczynniku znalezione w pliku nmap-services po wykluczeniu wszystkich portów
określone przez --wyklucz-porty. n musi wynosić 1 lub więcej.
SERWIS ROLNICZE WERSJA WYKRYCIE
Wskaż Nmapa na zdalną maszynę, a może ci powiedzieć, że porty 25/tcp, 80/tcp i 53/udp
są otwarte. Korzystanie z jego usług nmap. baza około 2,200 znanych serwisów. Nmap
zgłosiłby, że te porty prawdopodobnie odpowiadają serwerowi pocztowemu (SMTP), serwerowi WWW
(HTTP) i serwer nazw (DNS). To wyszukiwanie jest zwykle dokładne — ogromna
większość demonów nasłuchujących na porcie TCP 25 to w rzeczywistości serwery pocztowe. Jednak ty
nie powinieneś stawiać na to swojego bezpieczeństwa! Ludzie mogą i uruchamiają usługi na dziwnych portach..
Nawet jeśli Nmap ma rację, a hipotetyczny serwer powyżej obsługuje SMTP, HTTP i DNS
serwery, to nie jest dużo informacji. Podczas dokonywania oceny podatności (lub nawet
proste inwentaryzacje sieciowe) Twoich firm lub klientów, naprawdę chcesz wiedzieć, które
Serwery i wersje poczty i DNS są uruchomione. Posiadanie dokładnego numeru wersji pomaga
radykalnie w określeniu, na które exploity jest podatny serwer. Wykrywanie wersji
pomaga uzyskać te informacje.
Po wykryciu portów TCP i/lub UDP przy użyciu jednej z pozostałych metod skanowania, wersja
wykrywanie odpytuje te porty, aby dowiedzieć się więcej o tym, co jest aktualnie uruchomione. ten
nmap-sondy-serwisowe. baza danych zawiera sondy do odpytywania różnych usług i dopasowania
wyrażenia do rozpoznawania i analizowania odpowiedzi. Nmap próbuje określić protokół usługi
(np. FTP, SSH, Telnet, HTTP), nazwa aplikacji (np. ISC BIND, Apache httpd, Solaris
telnetd), numer wersji, nazwa hosta, typ urządzenia (np. drukarka, router), rodzina systemów operacyjnych
(np. Windows, Linux). Jeśli to możliwe, Nmap pobiera również Common Platform Enumeration
(CPE). przedstawienie tych informacji. Czasami różne szczegóły, takie jak czy
serwer X jest otwarty na połączenia, wersja protokołu SSH lub nazwa użytkownika KaZaA są
dostępny. Oczywiście większość usług nie zapewnia wszystkich tych informacji. Jeśli Nmap był
skompilowany z obsługą OpenSSL, połączy się z serwerami SSL, aby wywnioskować usługę
nasłuchiwanie za tą warstwą szyfrowania.. Niektóre porty UDP są pozostawione w otwartym|filtrowanym
stan po skanowaniu portu UDP nie może określić, czy port jest otwarty, czy filtrowany.
Wykrywanie wersji będzie próbowało uzyskać odpowiedź z tych portów (tak jak to ma miejsce w przypadku
otwarte porty) i zmień stan na otwarty, jeśli się powiedzie. otwarte|filtrowane porty TCP są
traktowany w ten sam sposób. Zauważ, że Nmap -A opcja umożliwia m.in. wykrywanie wersji
rzeczy. Dokument dokumentujący działanie, użytkowanie i dostosowywanie wykrywania wersji
jest dostępny https://nmap.org/book/vscan.html.
Gdy usługi RPC zostaną wykryte, szlifierka Nmap RPC. jest automatycznie używany do
określić program RPC i numery wersji. Zajmuje wszystkie porty TCP/UDP wykryte jako
RPC i zalewa je poleceniami programu SunRPC NULL, próbując określić, czy:
są to porty RPC, a jeśli tak, to jaki program i numer wersji obsługują. W ten sposób możesz
skutecznie uzyskać te same informacje, co Informacje o rpc -p nawet jeśli portmapper celu jest za a
firewall (lub chroniony przez wrappery TCP). Wabiki nie działają obecnie ze skanowaniem RPC..
Gdy Nmap otrzymuje odpowiedzi z usługi, ale nie może dopasować ich do swojej bazy danych, to
drukuje specjalny odcisk palca i adres URL do przesłania, jeśli wiesz na pewno
co działa na porcie. Poświęć kilka minut na zgłoszenie, aby
Twoje odkrycie może przynieść korzyści wszystkim. Dzięki tym zgłoszeniom Nmap ma około 6,500 wzorów
pasuje do ponad 650 protokołów, takich jak SMTP, FTP, HTTP itp.
Wykrywanie wersji jest włączane i kontrolowane za pomocą następujących opcji:
-sV (Wykrywanie wersji) .
Włącza wykrywanie wersji, jak omówiono powyżej. Alternatywnie możesz użyć -A, który
umożliwia między innymi wykrywanie wersji.
-Pan. jest aliasem dla -sV. Przed marcem 2011 był używany do aktywacji młynka RPC
niezależnie od wykrywania wersji, ale teraz te opcje są zawsze połączone.
--wszystkie porty (Nie wykluczaj żadnych portów z wykrywania wersji) .
Domyślnie wykrywanie wersji Nmapa pomija port TCP 9100, ponieważ niektóre drukarki po prostu
wypisuje wszystko, co jest wysyłane na ten port, co prowadzi do dziesiątek stron żądań HTTP GET,
binarne żądania sesji SSL itp. To zachowanie można zmienić, modyfikując lub
usunięcie dyrektywy Exclude w nmap-service-probes, lub możesz określić --wszystkie porty
skanować wszystkie porty bez względu na jakąkolwiek dyrektywę Wyklucz.
--intensywność-wersji intensywność (Ustaw intensywność skanowania wersji) .
Podczas skanowania wersji (-sV), Nmap wysyła serię sond, z których każda jest
przypisano wartość rzadkości od jednego do dziewięciu. Sondy o niższych numerach są skuteczne
przeciwko szerokiej gamie powszechnych usług, podczas gdy te o wyższym numerze są rzadko
użyteczne. Poziom intensywności określa, które sondy należy zastosować. Im wyższy
numer, tym większe prawdopodobieństwo, że usługa zostanie poprawnie zidentyfikowana. Jednak wysoki
intensywne skanowanie trwa dłużej. Intensywność musi wynosić od 0 do 9. Wartość domyślna to
7.. Gdy sonda jest zarejestrowana na porcie docelowym przez nmap-service-probesports
dyrektywy, że sonda jest próbowana niezależnie od poziomu intensywności. Gwarantuje to, że
Sondy DNS będą zawsze podejmowane na dowolnym otwartym porcie 53, sonda SSL będzie
sporządzono przeciwko 443 itd.
--wersja-światło (Włącz tryb światła) .
To jest wygodny alias dla --intensywność-wersji 2. Ten tryb światła sprawia, że wersja
skanowanie jest znacznie szybsze, ale identyfikowanie usług jest nieco mniej prawdopodobne.
--wersja-wszystkie (Wypróbuj każdą sondę) .
Alias dla --intensywność-wersji 9, upewniając się, że każda pojedyncza sonda jest poddawana próbie
na każdym porcie.
--wersja-śledzenia (Śledź aktywność skanowania wersji) .
Powoduje to, że Nmap wypisuje obszerne informacje debugowania o tym, jaka wersja jest skanowana
czyn. Jest to podzbiór tego, z czym otrzymujesz --śledzenie pakietów.
OS WYKRYCIE
Jedną z najbardziej znanych funkcji Nmapa jest zdalne wykrywanie systemu operacyjnego za pomocą stosu TCP/IP
pobieranie odcisków palców. Nmap wysyła serię pakietów TCP i UDP do zdalnego hosta i sprawdza
praktycznie wszystko w odpowiedziach. Po wykonaniu dziesiątek testów, takich jak TCP ISN
próbkowanie, obsługa i zamawianie opcji TCP, próbkowanie IP ID i początkowy rozmiar okna
sprawdź, Nmap porównuje wyniki ze swoim nmap-os-db. baza danych ponad 2,600 znanych systemów operacyjnych
odciski palców i drukuje szczegóły systemu operacyjnego, jeśli istnieje dopasowanie. Każdy odcisk palca zawiera
dowolny tekstowy opis systemu operacyjnego i klasyfikację, która zapewnia dostawcę;
nazwa (np. Sun), bazowy system operacyjny (np. Solaris), generacja systemu operacyjnego (np. 10) i typ urządzenia
(ogólne, router, przełącznik, konsola do gier itp.). Większość odcisków palców ma również wspólny
Wyliczanie platform (CPE). reprezentacja, jak cpe:/o:linux:linux_kernel:2.6.
Jeśli Nmap nie jest w stanie odgadnąć systemu operacyjnego komputera, a warunki są dobre (np. przynajmniej jeden)
znaleziono otwarty port i jeden zamknięty), Nmap poda adres URL, którego możesz użyć do przesłania
odcisk palca, jeśli znasz (na pewno) system operacyjny działający na komputerze. Robiąc to, ty
przyczynią się do puli systemów operacyjnych znanych Nmapowi, dzięki czemu będzie ich więcej
dokładne dla każdego.
Wykrywanie systemu operacyjnego umożliwia wykonanie innych testów wykorzystujących zebrane informacje
w każdym razie podczas procesu. Jednym z nich jest klasyfikacja przewidywalności sekwencji TCP.
Mierzy to w przybliżeniu, jak trudno jest nawiązać fałszywe połączenie TCP przeciwko
zdalny host. Jest to przydatne do wykorzystywania relacji zaufania opartych na źródłowym adresie IP (rlogin,
filtry zapory itp.) lub ukrywanie źródła ataku. Ten rodzaj spoofingu jest
rzadko wykonywane, ale wiele maszyn nadal jest na to podatnych. Aktualny
liczba trudności jest oparta na próbkach statystycznych i może się zmieniać. To jest ogólnie
lepiej użyć angielskich klasyfikacji, takich jak „godne wyzwanie” lub „trywialny żart”.
Jest to raportowane tylko w normalnych danych wyjściowych w pełnej wersji (-v) tryb. Gdy włączony jest tryb szczegółowy
oraz -O, raportowane jest również generowanie sekwencji IP ID. Większość maszyn jest w
klasy „incremental”, co oznacza, że inkrementują pole ID w nagłówku IP dla
każdy wysłany pakiet. To sprawia, że są podatni na kilka zaawansowanych informacji
zbieranie i fałszowanie ataków.
Kolejną dodatkową informacją, którą umożliwia wykrywanie systemu operacyjnego, jest zgadywanie czasu pracy celu.
Używa opcji znacznika czasu TCP (RFC 1323[10]) odgadnąć, kiedy maszyna była ostatnia
zrestartowany. Przypuszczenie może być niedokładne, ponieważ licznik znaczników czasu nie jest inicjowany
do zera lub licznik przepełnia się i zawija, więc jest drukowany tylko w trybie gadatliwym
tryb.
Dokument dokumentujący działanie, użytkowanie i dostosowywanie wykrywania systemu operacyjnego jest dostępny pod adresem
https://nmap.org/book/osdetect.html.
Wykrywanie systemu operacyjnego jest włączane i kontrolowane za pomocą następujących opcji:
-O (Włącz wykrywanie systemu operacyjnego) .
Włącza wykrywanie systemu operacyjnego, jak omówiono powyżej. Alternatywnie możesz użyć -A aby włączyć system operacyjny
wykrywanie wraz z innymi rzeczami.
--osscan limit (Ogranicz wykrywanie systemu operacyjnego do obiecujących celów) .
Wykrywanie systemu operacyjnego jest znacznie skuteczniejsze, jeśli co najmniej jeden otwarty i jeden zamknięty port TCP są
znaleziony. Ustaw tę opcję, a Nmap nie będzie nawet próbował wykrywać systemu operacyjnego na hostach, które nie
nie spełniają tych kryteriów. Pozwala to zaoszczędzić sporo czasu, szczególnie w przypadku -Pn skany
przeciwko wielu gospodarzom. Ma to znaczenie tylko wtedy, gdy żądanie wykrycia systemu operacyjnego jest wymagane za pomocą -O or -A.
--osscan-zgadnij; --zamazany (Odgadnij wyniki wykrywania systemu operacyjnego) .
Kiedy Nmap nie jest w stanie wykryć idealnego dopasowania systemu operacyjnego, czasami oferuje prawie identyczne
jako możliwości. Dopasowanie musi być bardzo zbliżone, aby Nmap domyślnie to robił.
Każda z tych (równoważnych) opcji powoduje, że Nmap zgaduje bardziej agresywnie. Nmap będzie
nadal informuje Cię, kiedy drukowane jest niedoskonałe dopasowanie i wyświetla jego poziom ufności
(procent) za każde odgadnięcie.
--max-os-prób (Ustaw maksymalną liczbę prób wykrywania systemu operacyjnego w celu) .
Gdy Nmap wykryje system operacyjny na celu i nie znajdzie idealnego dopasowania, to
zwykle powtarza próbę. Domyślnie Nmap próbuje pięć razy, jeśli warunki są
sprzyja przesyłaniu odcisków palców systemu operacyjnego i dwukrotnie, gdy warunki nie są tak dobre.
Określanie niższej --max-os-prób wartość (np. 1) przyspiesza działanie Nmapa, nawet jeśli chybisz
w przypadku ponownych prób, które mogą potencjalnie zidentyfikować system operacyjny. Alternatywnie wysoka wartość
można ustawić, aby umożliwić jeszcze więcej ponownych prób, gdy warunki są sprzyjające. To rzadko
zrobione, z wyjątkiem generowania lepszych odcisków palców do przesłania i integracji z
Baza danych systemu operacyjnego Nmap.
nmapa SCENARIUSZ SILNIK (NSE)
Silnik skryptów Nmapa (NSE) jest jedną z najpotężniejszych i najbardziej elastycznych funkcji Nmapa. To
pozwala użytkownikom pisać (i udostępniać) proste skrypty (przy użyciu Luka programowanie język[11].
), aby zautomatyzować różnorodne zadania sieciowe. Te skrypty są wykonywane równolegle
z szybkością i wydajnością, jakiej oczekujesz od Nmapa. Użytkownicy mogą liczyć na rosnącą i
różnorodny zestaw skryptów dystrybuowanych z Nmapem lub napisz własne, aby spełnić niestandardowe potrzeby.
Zadania, o których myśleliśmy podczas tworzenia systemu, to m.in. wykrywanie sieci, więcej
zaawansowane wykrywanie wersji, wykrywanie podatności. NSE może być nawet używany do
wykorzystywanie luk w zabezpieczeniach.
Aby odzwierciedlić te różne zastosowania i uprościć wybór skryptów do uruchomienia, każdy
skrypt zawiera pole kojarzące go z co najmniej jedną kategorią. Obecnie zdefiniowane
kategorie to auth, broadcast, default. odkrycie, DOS, wykorzystać, zewnętrzne, fuzzer,
natrętne, złośliwe oprogramowanie, bezpieczne, wersja i luka. Wszystkie są opisane na
https://nmap.org/book/nse-usage.html#nse-categories.
Skrypty nie są uruchamiane w piaskownicy i dlatego mogą przypadkowo lub złośliwie uszkodzić twoją
systemu lub naruszyć twoją prywatność. Nigdy nie uruchamiaj skryptów stron trzecich, chyba że ufasz
autorów lub sam dokładnie sprawdziłeś skrypty.
Silnik skryptów Nmapa jest szczegółowo opisany w https://nmap.org/book/nse.html i jest
kontrolowane przez następujące opcje:
-sC .
Wykonuje skanowanie skryptów przy użyciu domyślnego zestawu skryptów. Jest to równoważne
--skrypt=domyślny. Niektóre skrypty z tej kategorii są uważane za natrętne i
nie powinien być uruchamiany w sieci docelowej bez pozwolenia.
--scenariusz filename|kategoria|katalog|wyrażenie[,...] .
Uruchamia skanowanie skryptu przy użyciu rozdzielonej przecinkami listy nazw plików, kategorii skryptów i
katalogi. Każdy element na liście może być również wyrażeniem logicznym opisującym
bardziej złożony zestaw skryptów. Każdy element jest najpierw interpretowany jako wyrażenie, a następnie
jako kategorię, a na końcu jako nazwę pliku lub katalogu.
Istnieją dwie specjalne funkcje tylko dla zaawansowanych użytkowników. Jednym z nich jest przedrostek nazw skryptów
i wyrażenia z +, aby zmusić je do uruchomienia, nawet jeśli normalnie by tego nie zrobiły (np
odpowiednia usługa nie została wykryta na porcie docelowym). Drugim jest to, że argument…
all można użyć do określenia każdego skryptu w bazie danych Nmapa. Bądź z tym ostrożny
ponieważ NSE zawiera niebezpieczne skrypty, takie jak exploity, uwierzytelnianie brute force
crackery i ataki typu „odmowa usługi”.
Nazwy plików i katalogów mogą być względne lub bezwzględne. Używane są nazwy bezwzględne
bezpośrednio. Ścieżek względnych szukamy w skryptach każdego z poniższych miejsc
do momentu znalezienia: --katalog danych
$NMAPDIR.
~/.nmap (nie wyszukiwane w systemie Windows).
GŁÓWNA\AppData\Roaming\nmap (tylko w systemie Windows).
katalog zawierający plik wykonywalny nmap
katalog zawierający plik wykonywalny nmap, po którym następuje ../share/nmap
NMAPDATADIR.
bieżący katalog.
Gdy podana jest nazwa katalogu, Nmap ładuje każdy plik w katalogu, którego nazwa się kończy
z rozszerzeniem .nse. Wszystkie inne pliki są ignorowane, a katalogi nie są przeszukiwane rekursywnie. Kiedy
podana jest nazwa pliku, nie musi on mieć rozszerzenia .nse; zostanie dodany
w razie potrzeby automatycznie. Skrypty Nmapa są przechowywane w podkatalogu skryptów w Nmap
katalog danych domyślnie (zobacz https://nmap.org/book/data-files.html). Dla wydajności,
skrypty są indeksowane w bazie danych przechowywanej w scripts/script.db,. która zawiera listę kategorii
lub kategorie, do których należy każdy skrypt. Odnosząc się do skryptów z script.db przez
nazwy, możesz użyć symbolu wieloznacznego „*” w stylu powłoki.
nmap --scenariusz „http-*”
Ładuje wszystkie skrypty, których nazwa zaczyna się od http-, takie jak http-auth i http-open-proxy.
Argument, aby… --scenariusz musiał być w cudzysłowie, aby chronić symbol wieloznaczny przed powłoką.
Bardziej skomplikowanego wyboru skryptu można dokonać za pomocą operatorów i, lub, a nie do
budowanie wyrażeń logicznych. Operatorzy mają to samo precedens[12] jak w Lua: nie jest
najwyższy, a następnie i, a następnie lub. Możesz zmienić pierwszeństwo, używając nawiasów.
Ponieważ wyrażenia zawierają spacje, konieczne jest ich zacytowanie.
nmap --scenariusz "nie natrętny"
Wczytuje wszystkie skrypty z wyjątkiem tych z kategorii natrętnej.
nmap --scenariusz "domyślna or bezpieczna"
Jest to funkcjonalnie równoważne nmap --scenariusz "domyślny, bezpieczny". Ładuje wszystkie skrypty
które znajdują się w kategorii domyślnej, kategorii bezpiecznej lub obu.
nmap --scenariusz "domyślna i bezpieczna"
Ładuje te skrypty, które są w obie kategorie domyślne i bezpieczne.
nmap --scenariusz "(domyślna or "bezpiecznym" or natrętny) i nie http-*"
Ładuje skrypty w kategoriach domyślnych, bezpiecznych lub natrętnych, z wyjątkiem tych, których:
nazwy zaczynają się od http-.
--argumenty-skryptu n1=v1,n2={n3=v3},n4={v4,v5} .
Pozwala podać argumenty do skryptów NSE. Argumenty to rozdzielona przecinkami lista
pary nazwa=wartość. Nazwy i wartości mogą być ciągami niezawierającymi spacji lub
znaki '{', '}', '=' lub ','. Aby zawrzeć jeden z tych znaków w ciągu,
ujmij ciąg w pojedyncze lub podwójne cudzysłowy. W ciągu cudzysłowu '\' zastępuje a
cytat. W tym szczególnym przypadku odwrotny ukośnik jest używany tylko do ucieczki cudzysłowów; we wszystkim
w innych przypadkach ukośnik odwrotny jest interpretowany dosłownie. Wartości mogą być również załączone w tabelach
w {}, tak jak w Lua. Tabela może zawierać proste wartości łańcuchowe lub więcej nazwa-wartość
pary, w tym tabele zagnieżdżone. Wiele skryptów kwalifikuje swoje argumenty za pomocą skryptu
nazwa, jak w xmpp-info.nazwa_serwera. Możesz użyć tej w pełni kwalifikowanej wersji, aby wpłynąć
tylko określony skrypt lub możesz przekazać wersję niekwalifikowaną (nazwa_serwera w
w tym przypadku), aby wpłynąć na wszystkie skrypty używające tej nazwy argumentu. Skrypt najpierw sprawdzi
dla jego w pełni kwalifikowanej nazwy argumentu (nazwy określonej w dokumentacji) przed
akceptuje niekwalifikowaną nazwę argumentu. Złożonym przykładem argumentów skryptu jest
--argumenty-skryptu
'user=foo,pass=",{}=bar",whois={whodb=nofollow+dojrzały},xmpp-info.server_name=localhost'.
Internetowy portal dokumentacji NSE pod adresem https://nmap.org/nsedoc/ wymienia argumenty
akceptowany przez każdy skrypt.
--skrypt-args-plik filename .
Umożliwia ładowanie argumentów do skryptów NSE z pliku. Wszelkie argumenty w wierszu poleceń
zastępują te w pliku. Plik może być ścieżką bezwzględną lub ścieżką względną do
Zwykła ścieżka wyszukiwania Nmapa (NMAPDIR, itp.) Argumenty mogą być oddzielone przecinkami lub
oddzielone znakami nowego wiersza, ale poza tym postępuj zgodnie z tymi samymi zasadami, co for --argumenty-skryptu, bez
wymagają specjalnego cytowania i ucieczki, ponieważ nie są analizowane przez powłokę.
--skrypt-pomoc filename|kategoria|katalog|wyrażenie|wszystkie[,...] .
Wyświetla pomoc dotyczącą skryptów. Dla każdego skryptu pasującego do podanej specyfikacji, Nmap
drukuje nazwę skryptu, jego kategorie i jego opis. Specyfikacje są
takie same jak te zaakceptowane przez --scenariusz; więc na przykład, jeśli potrzebujesz pomocy na temat
skrypt ftp-anon, byś uruchomił nmap --skrypt-pomoc ftp-anon. Oprócz uzyskania
pomoc dla poszczególnych skryptów, możesz użyć tego jako podglądu jakie skrypty będą uruchamiane
dla specyfikacji, na przykład z nmap --skrypt-pomoc domyślnym.
--śledzenie-skryptu .
Ta opcja robi co --śledzenie pakietów tak, tylko o jedną warstwę ISO wyżej. Jeśli ta opcja
jest określone, że cała komunikacja przychodząca i wychodząca wykonywana przez skrypt jest drukowana.
Wyświetlane informacje obejmują protokół komunikacyjny, źródło, cel
i przesyłane dane. Jeśli więcej niż 5% wszystkich przesłanych danych nie nadaje się do wydruku,
wtedy dane wyjściowe śledzenia są w formacie zrzutu szesnastkowego. Określanie --śledzenie pakietów Umożliwia
śledzenie skryptów.
--skrypt-aktualizacjadb .
Ta opcja aktualizuje bazę danych skryptów znalezioną w scripts/script.db, która jest używana przez
Nmap, aby określić dostępne domyślne skrypty i kategorie. To jest tylko konieczne
aby zaktualizować bazę danych, jeśli dodałeś lub usunąłeś skrypty NSE z domyślnych
skryptów lub jeśli zmieniłeś kategorie dowolnego skryptu. Ta opcja to
ogólnie używany samodzielnie: nmap --skrypt-aktualizacjadb.
ROZRZĄD ROLNICZE DZIAŁANIE
Jednym z moich najwyższych priorytetów rozwoju Nmapa zawsze była wydajność. Skanowanie domyślne
(nmap hosta) hosta w mojej sieci lokalnej zajmuje jedną piątą sekundy. To ledwie
wystarczająco dużo czasu, aby mrugnąć, ale sumuje się, gdy skanujesz setki lub tysiące hostów.
Ponadto niektóre opcje skanowania, takie jak skanowanie UDP i wykrywanie wersji, mogą wzrosnąć
czas skanowania znacznie. Podobnie jak niektóre konfiguracje zapory, w szczególności odpowiedź?
ograniczenie szybkości. Podczas gdy Nmap wykorzystuje równoległość i wiele zaawansowanych algorytmów do przyspieszenia
Dzięki tym skanom użytkownik ma pełną kontrolę nad działaniem Nmapa. Zaawansowani użytkownicy ostrożnie
twórz polecenia Nmapa, aby uzyskać tylko te informacje, na których im zależy podczas spotykania się z nimi
ograniczenia czasowe.
Techniki poprawiające czas skanowania obejmują pomijanie testów niekrytycznych i aktualizację do
najnowszą wersję Nmapa (często wprowadzane są ulepszenia wydajności). Optymalizacja
Istotną różnicę mogą mieć również parametry czasowe. Te opcje są wymienione poniżej.
Niektóre opcje akceptują parametr czasu. Jest to domyślnie określane w sekundach, chociaż ty
może dodać „ms”, „s”, „m” lub „h” do wartości, aby określić milisekundy, sekundy, minuty,
lub godzin. Więc --przekroczenie limitu czasu hosta argumenty 900000ms, 900, 900s i 15m robią to samo
rzecz.
--min-grupa hostów liczba hostów; --max-grupa hostów liczba hostów (Dostosuj rozmiary grup skanowania równoległego) .
Nmap ma możliwość równoległego skanowania portów lub wersji wielu hostów. Nmap
robi to, dzieląc docelową przestrzeń IP na grupy, a następnie skanując jedną grupę na
czas. Ogólnie rzecz biorąc, większe grupy są bardziej wydajne. Minusem jest to, że host wyniki
nie można zapewnić, dopóki cała grupa nie zostanie skończona. Więc jeśli Nmap zaczął od
wielkość grupy 50, użytkownik nie otrzymywałby żadnych raportów (poza aktualizacjami)
oferowane w trybie pełnym) aż do ukończenia pierwszych 50 hostów.
Domyślnie Nmap stosuje kompromisowe podejście do tego konfliktu. Zaczyna się od
wielkość grupy wynosząca zaledwie pięć, dzięki czemu pierwsze wyniki przychodzą szybko, a następnie zwiększa się
groupsize aż do 1024. Dokładne wartości domyślne zależą od podanych opcji.
Ze względu na wydajność, Nmap używa większych rozmiarów grup do skanowania UDP lub kilku portów TCP.
Gdy maksymalna wielkość grupy jest określona za pomocą --max-grupa hostów, Nmap nigdy nie przekroczy
ten rozmiar. Określ minimalny rozmiar za pomocą --min-grupa hostów a Nmap spróbuje zachować grupę
rozmiary powyżej tego poziomu. Nmap może być zmuszony do użycia mniejszych grup niż określisz, jeśli istnieją
nie ma wystarczającej liczby hostów docelowych na danym interfejsie, aby spełnić określone
minimum. Oba mogą być ustawione tak, aby utrzymać wielkość grupy w określonym zakresie, chociaż to
rzadko jest pożądana.
Te opcje nie mają wpływu na fazę wykrywania hosta podczas skanowania. Ten
zawiera zwykłe skanowanie ping (-SN). Odnajdywanie hostów zawsze działa w dużych grupach hostów
aby poprawić szybkość i dokładność.
Podstawowym zastosowaniem tych opcji jest określenie dużej minimalnej wielkości grupy, tak aby
pełne skanowanie działa szybciej. Typowym wyborem jest 256 do skanowania sieci w rozmiarze klasy C
kawałki. W przypadku skanowania z wieloma portami przekroczenie tej liczby raczej nie pomoże.
W przypadku skanowania tylko kilku numerów portów pomocne mogą być grupy hostów o wielkości 2048 lub więcej.
--min-równoległość sondy numeryczne; --max-równoległość sondy numeryczne (Dostosuj zrównoleglenie sondy) .
Te opcje kontrolują całkowitą liczbę sond, które mogą być wyjątkowe dla hosta
Grupa. Służą do skanowania portów i wykrywania hostów. Domyślnie Nmap oblicza
ciągle zmieniający się idealny paralelizm oparty na wydajności sieci. Jeśli pakiety są
porzucone, Nmap spowalnia i pozwala na mniejszą liczbę zaległych prób. Idealny numer sondy
powoli rośnie, gdy sieć okazuje się godna. Te opcje stawiają minimum lub
maksymalne granice tej zmiennej. Domyślnie idealna równoległość może spaść do jednego, jeśli
sieć okazuje się zawodna i rozrasta się do kilkuset w idealnych warunkach.
Najczęstszym zastosowaniem jest ustawienie --min-równoległość na liczbę wyższą niż jeden, aby przyspieszyć
skanowanie słabo wydajnych hostów lub sieci. Jest to ryzykowna opcja do zabawy,
ponieważ ustawienie go zbyt wysoko może wpłynąć na dokładność. Ustawienie tego zmniejsza również zdolność Nmapa
do dynamicznego sterowania równoległością w oparciu o warunki sieciowe. Wartość 10 może być
rozsądne, chociaż koryguję tę wartość tylko w ostateczności.
--max-równoległość opcja jest czasami ustawiona na jeden, aby Nmap nie wysyłał więcej
niż jedna sonda na raz do hostów. ten --skanowanie-opóźnienie opcja, omówiona później, to
inny sposób na zrobienie tego.
--min-rtt-limit czasu czas, --max-rtt-limit czasu czas, --początkowy-rtt-timeout czas (Dostosuj sondę
limity czasu) .
Nmap utrzymuje bieżącą wartość limitu czasu, aby określić, jak długo będzie czekać na
odpowiedź sondy przed rezygnacją lub retransmisją sondy. Jest to obliczane na podstawie
na czasy odpowiedzi poprzednich sond.
Jeśli opóźnienie sieci okazuje się być znaczne i zmienne, ten limit czasu może:
rosną do kilku sekund. Zaczyna się również na konserwatywnym (wysokim) poziomie i może pozostać
w ten sposób przez chwilę, gdy Nmap skanuje nieodpowiadające hosty.
Określanie niższej --max-rtt-limit czasu i --początkowy-rtt-timeout niż domyślne mogą
znacznie skrócić czas skanowania. Dotyczy to w szczególności pingless (-Pn) skany i
te przeciwko mocno filtrowanym sieciom. Nie bądź jednak zbyt agresywny. Skanowanie może
kończy się to dłużej, jeśli określisz tak niską wartość, że wiele sond przekracza limit czasu
i retransmisja w trakcie przesyłania odpowiedzi.
Jeśli wszystkie hosty znajdują się w sieci lokalnej, 100 milisekund (--max-rtt-limit czasu 100ms) jest
rozsądna agresywna wartość. Jeśli w grę wchodzi routing, pinguj hosta w sieci
najpierw za pomocą narzędzia ICMP ping lub niestandardowego narzędzia do tworzenia pakietów, takiego jak Nping. że
jest bardziej prawdopodobne, że przedostanie się przez zaporę. Spójrz na maksymalny czas podróży w obie strony z
około dziesięciu paczek. Możesz chcieć podwoić to za --początkowy-rtt-timeout i
trzykrotnie lub czterokrotnie dla --max-rtt-limit czasu. Generalnie nie ustawiam maksimum
RTT poniżej 100 ms, bez względu na czasy pingów. Nie przekraczam też 1000 ms.
--min-rtt-limit czasu jest rzadko używaną opcją, która może być przydatna, gdy sieć jest taka
niewiarygodne, że nawet domyślne ustawienia Nmapa są zbyt agresywne. Ponieważ Nmap zmniejsza tylko
przekroczenie limitu czasu do minimum, gdy sieć wydaje się być niezawodna, ta potrzeba jest
nietypowy i powinien zostać zgłoszony jako błąd na liście dyskusyjnej nmap-dev..
--maksymalna liczba prób numtrys (Określ maksymalną liczbę retransmisji sondy skanowania portu) .
Gdy Nmap nie otrzymuje odpowiedzi na sondę skanowania portu, może to oznaczać, że port jest
przefiltrowany. A może sonda lub odpowiedź zostały po prostu utracone w sieci. To jest również
możliwe, że host docelowy ma włączone ograniczenie szybkości, które tymczasowo zablokowało
odpowiedź. Tak więc Nmap próbuje ponownie, przesyłając początkową sondę. Jeśli Nmap wykryje
słaba niezawodność sieci, może próbować wiele razy, zanim zrezygnuje z portu. Dopóki
zapewnia to dokładność, a także wydłuża czas skanowania. Gdy wydajność ma kluczowe znaczenie,
skanowanie można przyspieszyć, ograniczając liczbę dozwolonych retransmisji. Możesz nawet
sprecyzować --maksymalna liczba prób 0 aby zapobiec wszelkim retransmisjom, ale to tylko
zalecane w sytuacjach takich jak nieformalne ankiety, w których okazjonalnie omija się porty i
gospodarze są do przyjęcia.
Wartość domyślna (bez -T szablonu) jest umożliwienie dziesięciu retransmisji. Jeśli pojawi się sieć
niezawodne, a hosty docelowe nie ograniczają szybkości, Nmap zwykle robi tylko jeden
retransmisja. Tak więc upuszczanie nie ma nawet wpływu na większość skanów celów --maksymalna liczba prób do
niska wartość, taka jak trzy. Takie wartości mogą znacznie przyspieszyć skanowanie powolnych (szybkość
ograniczone) gospodarze. Zwykle tracisz trochę informacji, gdy Nmap wcześnie rezygnuje z portów,
chociaż może to być lepsze niż pozwolenie --przekroczenie limitu czasu hosta wygasa i traci wszystko
informacje o celu.
--przekroczenie limitu czasu hosta czas (Zrezygnuj z wolnych hostów docelowych) .
Niektórzy gospodarze po prostu biorą długie czas na skanowanie. Może to być spowodowane słabą wydajnością lub
zawodny sprzęt lub oprogramowanie sieciowe, ograniczenie szybkości pakietów lub restrykcyjne
zapora. Najwolniejsze kilka procent przeskanowanych hostów może pochłonąć większość
czas skanowania. Czasami najlepiej jest ograniczyć straty i początkowo pominąć tych hostów.
Sprecyzować --przekroczenie limitu czasu hosta z maksymalną ilością czasu, przez którą chcesz czekać. Do
na przykład, podaj 30m, aby upewnić się, że Nmap nie zmarnuje więcej niż pół godziny na a
pojedynczy host. Zwróć uwagę, że Nmap może w tym czasie skanować inne komputery w tym samym czasie
pół godziny, więc nie jest to kompletna strata. Host, który przekroczył limit czasu, jest pomijany. Brak portu
wyniki wykrycia tabeli, systemu operacyjnego lub wersji są drukowane dla tego hosta.
--skanowanie-opóźnienie czas; --max-opóźnienie-skanowania czas (Dostosuj opóźnienie między sondami) .
Ta opcja powoduje, że Nmap odczekuje co najmniej podaną ilość czasu między każdą sondą
wysyła do danego hosta. Jest to szczególnie przydatne w przypadku ograniczania stawek.
Maszyny Solaris (i wiele innych) zazwyczaj odpowiadają na pakiety sondy skanowania UDP
z tylko jednym komunikatem ICMP na sekundę. Każde więcej niż wysłane przez Nmapa będzie
rozrzutny. A --skanowanie-opóźnienie 1s utrzyma Nmapa w tym wolnym tempie. Nmap próbuje wykryć
ograniczenie szybkości i odpowiednie dostosowanie opóźnienia skanowania, ale nie zaszkodzi to określić
wyraźnie, jeśli już wiesz, jaka stawka działa najlepiej.
Gdy Nmap zwiększa opóźnienie skanowania, aby poradzić sobie z ograniczeniem szybkości, skanowanie spowalnia
dramatycznie spadła. ten --max-opóźnienie-skanowania opcja określa największe opóźnienie jakie Nmap
pozwoli. niski --max-opóźnienie-skanowania może przyspieszyć Nmapa, ale jest to ryzykowne. Ustawienie tego
zbyt niska wartość może prowadzić do niepotrzebnych retransmisji pakietów i możliwych pominięć portów
gdy cel wprowadza ścisłe ograniczenie szybkości.
Inne zastosowanie --skanowanie-opóźnienie jest uniknięcie wykrywania włamań na podstawie progów i
systemy prewencji (IDS/IPS)..
--min-stawka numer; --maksymalna ocena numer (Bezpośrednio steruj szybkością skanowania) .
Dynamiczne taktowanie Nmapa dobrze sprawdza się w znalezieniu odpowiedniej prędkości, przy której
skanowanie. Czasami jednak może się zdarzyć, że znasz odpowiednią szybkość skanowania dla
sieci lub być może będziesz musiał zagwarantować, że skanowanie zakończy się o określonej godzinie.
A może musisz uniemożliwić Nmapowi zbyt szybkie skanowanie. ten --min-stawka i --maksymalna ocena
opcje są przeznaczone do takich sytuacji.
Podczas --min-stawka podana jest opcja Nmap dołoży wszelkich starań, aby wysyłać pakiety tak szybko, jak
lub szybciej niż podana stawka. Argumentem jest dodatnia liczba rzeczywista reprezentująca a
szybkość pakietów w pakietach na sekundę. Na przykład określenie --min-stawka 300 oznacza, że
Nmap będzie starał się utrzymać prędkość wysyłania 300 pakietów na sekundę lub wyższą. Określanie
minimalna stawka nie powoduje, że Nmap działa szybciej, jeśli wymagają tego warunki.
Podobnie, --maksymalna ocena ogranicza szybkość wysyłania skanu do określonego maksimum. Posługiwać się --maksymalna ocena
100, na przykład, aby ograniczyć wysyłanie do 100 pakietów na sekundę w szybkiej sieci. Posługiwać się
--maksymalna ocena 0.1 powolnego skanowania jednego pakietu co dziesięć sekund. Posługiwać się --min-stawka i
--maksymalna ocena razem, aby utrzymać kurs w określonym zakresie.
Te dwie opcje mają charakter globalny i mają wpływ na cały skan, a nie na poszczególne hosty. Oni
wpływają tylko na skanowanie portów i skanowanie odnajdywania hostów. Inne funkcje, takie jak wykrywanie systemu operacyjnego
wdrożyć własny harmonogram.
Istnieją dwa warunki, w których rzeczywista szybkość skanowania może spaść poniżej żądanej
minimum. Pierwszym z nich jest to, czy minimum jest szybsze niż najszybsze tempo, z jakim Nmap może
wysłać, który jest zależny od sprzętu. W takim przypadku Nmap po prostu wyśle pakiety jako
najszybciej jak to możliwe, ale pamiętaj, że tak wysokie stawki mogą spowodować utratę
dokładność. Drugi przypadek to sytuacja, w której Nmap nie ma nic do wysłania, na przykład pod koniec
skanowanie, gdy ostatnie sondy zostały wysłane, a Nmap czeka na ich przekroczenie lub
być odpowiedzią. To normalne, że szybkość skanowania spada na końcu skanowania lub w
między grupami hostów. Szybkość wysyłania może tymczasowo przekroczyć maksimum, aby nadrobić
nieprzewidywalnych opóźnień, ale średnio wskaźnik pozostanie na poziomie maksymalnym lub poniżej.
Określanie minimalnej stawki powinno być wykonane z rozwagą. Skanowanie szybsze niż w sieci
wsparcie może prowadzić do utraty dokładności. W niektórych przypadkach użycie większej szybkości może spowodować a
zeskanuj brać dłużej niż w wolniejszym tempie. Dzieje się tak, ponieważ Nmap jest adaptacyjny
algorytmy retransmisji wykryją przeciążenie sieci spowodowane nadmiernym
szybkość skanowania i zwiększyć liczbę retransmisji w celu poprawy dokładności.
Tak więc, mimo że pakiety są wysyłane z większą szybkością, ogółem wysyłanych jest więcej pakietów. Czapka
liczba retransmisji z --maksymalna liczba prób opcja, jeśli chcesz ustawić
górny limit całkowitego czasu skanowania.
--porażka-pierwszy-limit szybkości .
Wiele hostów od dawna stosuje ograniczanie szybkości. aby zmniejszyć liczbę komunikatów o błędach ICMP
(takich jak błędy nieosiągalnego portu), które wysyłają. Niektóre systemy stosują teraz podobną stawkę
ograniczenia do generowanych pakietów RST (reset). Może to znacznie spowolnić działanie Nmapa
ponieważ dostosowuje swój harmonogram, aby odzwierciedlić te limity stawek. Możesz powiedzieć Nmapowi, aby ignorował
te limity szybkości (w przypadku skanowania portów, takiego jak skanowanie SYN, które nie traktować niereagującego
porty jako otwarte) określając --porażka-pierwszy-limit szybkości.
Użycie tej opcji może zmniejszyć dokładność, ponieważ niektóre porty nie będą odpowiadać
ponieważ Nmap nie czekał wystarczająco długo na odpowiedź RST z ograniczoną szybkością. Dzięki skanowaniu SYN
brak odpowiedzi powoduje, że port jest oznaczony jako filtrowany, a nie zamknięty
stan, który widzimy, gdy pakiety RST są odbierane. Ta opcja jest przydatna, gdy tylko Ci zależy
o otwartych portach, a rozróżnianie portów zamkniętych i filtrowanych nie jest warte
Dodatkowy czas.
--nsock-silnik epoll|kqueue|sonda|wybierz .
Wymuś użycie danego silnika multipleksowania nsock IO. Tylko wybierać(2) awaryjne na podstawie
Gwarantujemy, że silnik będzie dostępny w Twoim systemie. Silniki są nazwane po nazwie
wykorzystywanego przez nich systemu zarządzania IO. Aktualnie wdrożone silniki to epoll,
kqueue, poll i select, ale nie wszystkie będą dostępne na dowolnej platformie. Posługiwać się nmap -V do
zobacz, które silniki są obsługiwane.
-T paranoidalny|podstępny|uprzejmy|normalny|agresywny|szalony (Ustaw szablon taktowania) .
Podczas gdy szczegółowe kontrole czasu omówione w poprzedniej sekcji są potężne,
i skuteczne, niektórzy uważają je za mylące. Co więcej, wybierając odpowiedni
wartości mogą czasami zająć więcej czasu niż skanowanie, które próbujesz zoptymalizować. Więc Nmap
oferuje prostsze podejście, z sześcioma szablonami taktowania. Możesz je określić za pomocą -T
opcję i ich numer (0–5) lub ich nazwę. Nazwy szablonów to paranoidalny (0),
podstępny (1), grzeczny (2), normalna (3), agresywny (4), A szalony (5). Pierwsze dwa to
za uchylanie się od IDS. Tryb kontroli spowalnia skanowanie, aby zużywać mniej przepustowości i celu
zasoby maszynowe. Tryb normalny jest trybem domyślnym, więc -T3 nic nie robi. Tryb agresywny
przyspiesza skanowanie, zakładając, że jesteś na dość szybkim i
niezawodna sieć. Wreszcie szalony tryb. zakłada, że jesteś na nadzwyczajnej trasie
szybka sieć lub są gotowi poświęcić trochę dokładności na rzecz szybkości.
Szablony te pozwalają użytkownikowi określić, jak agresywny chce być, podczas gdy
pozostawiając Nmapa, aby wybrać dokładne wartości czasu. Szablony również nieco przyspieszają
korekty, dla których nie istnieją obecnie szczegółowe opcje kontroli. Do
przykład, -T4. uniemożliwia dynamiczne opóźnienie skanowania przekraczające 10 ms dla portów TCP i
-T5 ogranicza tę wartość przy 5 ms. Szablony można stosować w połączeniu z drobnoziarnistymi
kontrolki, a precyzyjne kontrolki, które określisz, będą miały pierwszeństwo przed
domyślny szablon czasowy dla tego parametru. Polecam używać -T4 podczas skanowania
w miarę nowoczesne i niezawodne sieci. Zachowaj tę opcję nawet po dodaniu
precyzyjne sterowanie, dzięki czemu możesz skorzystać z tych dodatkowych drobnych optymalizacji, które
umożliwia.
Jeśli korzystasz z przyzwoitego połączenia szerokopasmowego lub ethernetowego, zawsze polecam
za pomocą -T4. Niektórzy ludzie kochają -T5 chociaż jest zbyt agresywny jak na mój gust. Ludzie
czasami określić -T2 ponieważ uważają, że jest mniej prawdopodobne, aby spowodować awarię hosta lub ponieważ
ogólnie uważają się za uprzejmych. Często nie zdają sobie sprawy, jak
powolny -T grzeczny. naprawdę jest. Ich skanowanie może trwać dziesięć razy dłużej niż skanowanie domyślne.
Awarie komputera i problemy z przepustowością są rzadkie w przypadku domyślnych opcji czasu (-T3)
więc zwykle polecam to dla ostrożnych skanerów. Pominięcie wykrywania wersji to
znacznie skuteczniejsze niż granie z wartościami czasowymi w redukowaniu tych problemów.
Kompletujemy wszystkie dokumenty (wymagana jest kopia paszportu i XNUMX zdjęcia) potrzebne do -T0. i -T1. mogą być przydatne do unikania alertów IDS, zajmą one
niezwykle długi czas skanowania tysięcy maszyn lub portów. Na tak długo
skanowania, możesz preferować ustawienie dokładnych wartości czasu, których potrzebujesz, zamiast polegać na
w puszkach -T0 i -T1 wartości.
Główne efekty T0 serializują skanowanie, więc tylko jeden port jest skanowany na raz,
i czekanie pięć minut między wysłaniem każdej sondy. T1 i T2 są podobne, ale
odczekaj tylko odpowiednio 15 sekund i 0.4 sekundy między sondami. T3. to Nmap
zachowanie domyślne, które obejmuje równoległość. -T4 czy odpowiednik
--max-rtt-limit czasu 1250ms --min-rtt-limit czasu 100ms --początkowy-rtt-timeout 500ms
--maksymalna liczba prób 6 i ustawia maksymalne opóźnienie skanowania TCP na 10 milisekund. T5 robi
odpowiednik --max-rtt-limit czasu 300ms --min-rtt-limit czasu 50ms --początkowy-rtt-timeout
250ms --maksymalna liczba prób 2 --przekroczenie limitu czasu hosta 15m a także ustawienie maksymalnego opóźnienia skanowania TCP
do 5 ms.
ZAPORA/IDS EVASION ROLNICZE OSZUSTWO
Wielu pionierów Internetu przewidziało globalną otwartą sieć z uniwersalną przestrzenią adresów IP
umożliwiając wirtualne połączenia między dowolnymi dwoma węzłami. Dzięki temu hosty mogą zachowywać się jak prawdziwe
rówieśnicy, służąc i pobierając informacje od siebie. Ludzie mogą uzyskać dostęp do wszystkich
ich domowe systemy z pracy, zmiany ustawień klimatyzacji lub odblokowania drzwi
dla wczesnych gości. Ta wizja uniwersalnej łączności została stłumiona przez przestrzeń adresową
braki i obawy dotyczące bezpieczeństwa. Na początku lat 1990. organizacje zaczęły wdrażać
zapory ogniowe w wyraźnym celu ograniczenia łączności. Ogromne sieci zostały otoczone kordonem
od niefiltrowanego Internetu przez serwery proxy aplikacji, translację adresów sieciowych i
filtry pakietów. Nieograniczony przepływ informacji ustąpił miejsca ścisłej regulacji
zatwierdzone kanały komunikacji i treści, które nad nimi przechodzą.
Przeszkody sieciowe, takie jak zapory sieciowe, mogą bardzo utrudnić mapowanie sieci.
Łatwiej nie będzie, ponieważ duszący, swobodny rekonesans jest często kluczowym celem
wdrażanie urządzeń. Niemniej jednak Nmap oferuje wiele funkcji, które pomogą je zrozumieć
złożonych sieci oraz w celu sprawdzenia, czy filtry działają zgodnie z przeznaczeniem. Obsługuje nawet
mechanizmy omijania źle wdrożonych mechanizmów obronnych. Jedna z najlepszych metod
Zrozumienie postawy w zakresie bezpieczeństwa sieci polega na próbie jej pokonania. Postaw się w
sposób myślenia napastnika i zastosuj techniki z tej sekcji w swoich sieciach.
Uruchom skanowanie odbić FTP, skanowanie w trybie bezczynności, atak fragmentacyjny lub spróbuj tunelować przez jeden
własnych pełnomocników.
Oprócz ograniczania aktywności w sieci, firmy coraz częściej monitorują ruch
z systemami wykrywania włamań (IDS). Wszystkie główne systemy IDS są dostarczane z zasadami zaprojektowanymi tak, aby:
wykrywać skanowania Nmapa, ponieważ skanowania są czasami prekursorem ataków. Wiele z nich
produkty niedawno przekształciły się w intruz zapobieganie systemy (IPS). że aktywnie
blokować ruch uznany za złośliwy. Niestety dla administratorów sieci i dostawców IDS,
niezawodne wykrywanie złych intencji poprzez analizę danych pakietowych to trudny problem. Atakujący
z cierpliwością, umiejętnościami i pomocą niektórych opcji Nmapa można zwykle przejść przez IDS
nie wykryty. Tymczasem administratorzy muszą radzić sobie z dużą liczbą fałszywych alarmów
wyniki, w których niewinna aktywność jest błędnie diagnozowana i ostrzegana lub blokowana.
Czasami ludzie sugerują, że Nmap nie powinien oferować funkcji umożliwiających obejście reguł zapory sieciowej
lub przemykając się obok IDS. Twierdzą, że te cechy są równie prawdopodobne, że będą nadużywane przez:
osoby atakujące używane przez administratorów w celu zwiększenia bezpieczeństwa. Problem z tą logiką polega na:
że metody te będą nadal wykorzystywane przez atakujących, którzy po prostu znajdą inne narzędzia lub
załatać funkcjonalność do Nmapa. Tymczasem administratorzy uznaliby to za bardzo
trudniej wykonywać swoją pracę. Wdrażanie tylko nowoczesnych, załatanych serwerów FTP jest znacznie potężniejsze
obrona niż próba uniemożliwienia dystrybucji narzędzi implementujących odbijanie FTP
atak.
Nie ma magicznego pocisku (lub opcji Nmapa) do wykrywania i obalania zapór sieciowych i IDS
systemy. Wymaga umiejętności i doświadczenia. Samouczek wykracza poza zakres tego odniesienia
przewodnik, w którym wymieniono tylko odpowiednie opcje i opisano ich działanie.
-f (pakiety fragmentów); --mtu (przy użyciu określonej jednostki MTU) .
-f opcja powoduje, że żądane skanowanie (w tym skanowanie pingowane) używa małych fragmentów
Pakiety IP. Pomysł polega na podzieleniu nagłówka TCP na kilka pakietów, aby to zrobić
trudniejsze do wykrycia filtrów pakietów, systemów wykrywania włamań i innych niedogodności
co robisz. Uważaj na to! Niektóre programy mają problemy z ich obsługą
małe paczki. Oldschoolowy sniffer o nazwie Sniffit segmentacja natychmiast popełnił błąd
po otrzymaniu pierwszego fragmentu. Określ tę opcję raz, a Nmap podzieli
pakiety do ośmiu bajtów lub mniej po nagłówku IP. Więc 20-bajtowy nagłówek TCP byłby
podzielić na trzy pakiety. Dwa z ośmioma bajtami nagłówka TCP i jeden z
finałowa czwórka. Oczywiście każdy fragment ma również nagłówek IP. Sprecyzować -f ponownie, aby użyć 16
bajtów na fragment (zmniejszenie liczby fragmentów). Lub możesz określić własne
przesunięcie rozmiaru za pomocą --mtu opcja. Nie podawaj również -f Jeśli użyjesz --mtu. Przesunięcie
musi być wielokrotnością ośmiu. Podczas gdy pofragmentowane pakiety nie są przekazywane przez filtry pakietów i
zapory sieciowe, które kolejkują wszystkie fragmenty adresów IP, takie jak CONFIG_IP_ALWAYS_DEFRAG opcja w
jądra Linuksa, niektóre sieci nie mogą sobie pozwolić na wydajność, która to powoduje, a zatem
zostaw to wyłączone. Inni nie mogą tego włączyć, ponieważ fragmenty mogą się różnić
tras do ich sieci. Niektóre systemy źródłowe defragmentują pakiety wychodzące w
jądro. Linux z iptables. Jednym z takich przykładów jest moduł śledzenia połączeń. Zrób
skanuj podczas sniffera, takiego jak Wireshark. działa, aby upewnić się, że wysyłane pakiety są
fragmentowane. Jeśli system operacyjny hosta powoduje problemy, wypróbuj --wyślij-eth. możliwość ominięcia
warstwę IP i wysyłaj surowe ramki Ethernet.
Fragmentacja jest obsługiwana tylko w przypadku surowych funkcji pakietów Nmapa, w tym TCP i
Skanowanie portów UDP (z wyjątkiem skanowania połączenia i skanowania odbicia FTP) oraz wykrywanie systemu operacyjnego. Cechy
takie jak wykrywanie wersji i Nmap Scripting Engine generalnie nie obsługują
fragmentacja, ponieważ polegają na stosie TCP twojego hosta do komunikacji z celem
usługi.
-D wabik1[,wabik2][,JA][,...] (Zasłoń skan wabikami) .
Powoduje wykonanie skanowania wabika, co sprawia, że zdalny host wydaje się, że
host(y), które określisz jako wabiki, również skanują sieć docelową. Tak więc ich IDS
mogą zgłosić skanowanie 5–10 portów z unikalnych adresów IP, ale nie będą wiedzieć, który adres IP
skanował je i które były niewinnymi przynętami. Chociaż można to pokonać
śledzenie ścieżki routera, odrzucanie odpowiedzi i inne aktywne mechanizmy, generalnie jest to
skuteczna technika ukrywania adresu IP.
Oddziel każdego hosta wabika przecinkami i możesz opcjonalnie użyć ME. jako jeden z
wabiki do reprezentowania pozycji dla twojego prawdziwego adresu IP. Jeśli umieścisz MNIE w szóstym miejscu
pozycji lub późniejszej, niektóre popularne detektory skanowania portów (takie jak Solar Designer's.
doskonały Scanlogd). prawdopodobnie w ogóle nie pokażą twojego adresu IP. Jeśli nie używasz
ME, Nmap postawi cię w losowej pozycji. Możesz także użyć RND. wygenerować
losowy, niezarezerwowany adres IP lub RND:numer generować numer adresy.
Pamiętaj, że hosty, których używasz jako wabików, powinny być aktywne, w przeciwnym razie możesz przypadkowo SYN zalać
Twoje cele. Również bardzo łatwo będzie określić, który host skanuje, jeśli tylko
jeden jest w sieci. Możesz użyć adresów IP zamiast nazw
(więc sieci wabiki nie widzą cię w swoich dziennikach serwerów nazw).
Wabiki są używane zarówno w początkowym skanowaniu ping (używając ICMP, SYN, ACK lub cokolwiek innego), jak i
podczas faktycznej fazy skanowania portów. Wabiki są również używane podczas zdalnego wykrywania systemu operacyjnego
(-O). Wabiki nie działają z wykrywaniem wersji ani skanowaniem połączeń TCP. Gdy opóźnienie skanowania
obowiązuje, opóźnienie jest wymuszane między każdą partią sfałszowanych sond, a nie między
każdą indywidualną sondę. Ponieważ wabiki są wysyłane jako partia na raz, mogą:
tymczasowo naruszać limity kontroli przeciążenia.
Warto zauważyć, że użycie zbyt wielu wabików może spowolnić skanowanie, a potencjalnie nawet
uczynić go mniej dokładnym. Ponadto niektórzy dostawcy usług internetowych odfiltrują Twoje sfałszowane pakiety, ale wielu
w ogóle nie ograniczaj sfałszowanych pakietów IP.
-S Adres IP (Sfałszowany adres źródłowy) .
W niektórych okolicznościach Nmap może nie być w stanie określić twojego adresu źródłowego (Nmap
powie ci, czy tak jest). W tej sytuacji użyj -S z adresem IP
interfejs, przez który chcesz wysyłać pakiety.
Innym możliwym zastosowaniem tej flagi jest sfałszowanie skanu, aby cele pomyślały, że
ktoś więcej skanuje je. Wyobraź sobie, że firma jest wielokrotnie skanowana przez
konkurent! ten -e opcja i -Pn są zazwyczaj wymagane do tego rodzaju użytkowania. Notatka
że zwykle nie otrzymasz z powrotem pakietów odpowiedzi (zostaną zaadresowane na adres IP)
fałszujesz), więc Nmap nie będzie generował użytecznych raportów.
-e Interfejs (Użyj określonego interfejsu) .
Mówi Nmapowi, na jakim interfejsie ma wysyłać i odbierać pakiety. Nmap powinien być w stanie
wykryje to automatycznie, ale powie ci, jeśli nie.
--Port źródłowy numer portu; -g numer portu (Sfałszowany numer portu źródłowego) .
Jedną z zaskakująco częstych błędnych konfiguracji jest zaufanie do ruchu opartego wyłącznie na źródle
numer portu. Łatwo zrozumieć, jak to się dzieje. Administrator ustawi
wznieść nową, błyszczącą zaporę sieciową, która zostanie zalana skargami niewdzięcznych użytkowników
których aplikacje przestały działać. W szczególności DNS może zostać uszkodzony, ponieważ UDP
Odpowiedzi DNS z serwerów zewnętrznych nie mogą już dostać się do sieci. FTP to kolejny
wspólny przykład. W aktywnych transferach FTP serwer zdalny próbuje ustanowić
połączenie z powrotem do klienta w celu przesłania żądanego pliku.
Istnieją bezpieczne rozwiązania tych problemów, często na poziomie aplikacji
serwery proxy lub moduły zapory analizującej protokół. Niestety są też łatwiejsze,
niezabezpieczone rozwiązania. Należy zauważyć, że odpowiedzi DNS pochodzą z portu 53, a aktywny FTP z portu
20, wielu administratorów wpadło w pułapkę zezwalania na ruch przychodzący
z tych portów. Często zakładają, że żaden atakujący nie zauważy i nie wykorzysta takich
dziury w zaporze. W innych przypadkach administratorzy uważają to za krótkoterminową przerwę
mierzyć, dopóki nie będą mogli wdrożyć bezpieczniejszego rozwiązania. Potem zapominają o zabezpieczeniach
Aktualizacja.
W tę pułapkę wpadają nie tylko przepracowani administratorzy sieci.
Wiele produktów zostało wysłanych z tymi niepewnymi zasadami. Nawet Microsoft był
winny. Filtry IPsec dostarczane z systemami Windows 2000 i Windows XP zawierają
niejawna reguła zezwalająca na cały ruch TCP lub UDP z portu 88 (Kerberos). Winnym
dobrze znany przypadek, wersje zapory osobistej Zone Alarm do 2.1.25 są dozwolone
przychodzące pakiety UDP z portem źródłowym 53 (DNS) lub 67 (DHCP).
Nmap oferuje -g i --Port źródłowy opcje (są równoważne), aby je wykorzystać
Słabości. Wystarczy podać numer portu, a Nmap wyśle pakiety z tego portu
tam, gdzie to możliwe. Większość operacji skanowania korzystających z gniazd surowych, w tym SYN i UDP
skany, całkowicie obsługują tę opcję. Opcja szczególnie nie ma wpływu na
wszelkie operacje wykorzystujące normalne gniazda systemu operacyjnego, w tym żądania DNS, TCP
connect skanowanie,. wykrywanie wersji i skanowanie skryptów. Ustawianie portu źródłowego również
nie działa przy wykrywaniu systemu operacyjnego, ponieważ Nmap musi używać różnych numerów portów dla
niektóre testy wykrywania systemu operacyjnego, aby działały poprawnie.
--dane hex ciąg (Dołącz niestandardowe dane binarne do wysyłanych pakietów) .
Ta opcja pozwala na włączenie danych binarnych jako ładunku w wysyłanych pakietach. hex ciąg może
być określony w jednym z następujących formatów: 0xAABBCCDDEEFF..., AABBCCDEEFF... or
\xAA\xBB\xCC\xDD\xEE\xFF.... Przykłady użycia to --dane 0xmartwa wołowina i --dane
\xCA\xFE\x09. Zwróć uwagę, że jeśli podasz liczbę taką jak 0x00ff, nie ma konwersji kolejności bajtów
jest wykonywany. Upewnij się, że podajesz informacje w kolejności bajtów oczekiwanej przez
odbiornik.
--ciąg danych ciąg (Dołącz niestandardowy ciąg do wysyłanych pakietów) .
Ta opcja umożliwia dołączenie zwykłego ciągu znaków jako ładunku w wysyłanych pakietach. ciąg mogą
zawierać dowolny ciąg. Pamiętaj jednak, że niektóre znaki mogą zależeć od twojego systemu
ustawienia regionalne i odbiorca mogą nie widzieć tych samych informacji. Upewnij się też, że załączasz
łańcuch w podwójnych cudzysłowach i unikaj znaków specjalnych z powłoki.
Przykłady: --ciąg danych "Skanowanie przeprowadzone by Bezpieczeństwo Operacje, rozbudowa 7192 " or
--ciąg danych „Ph34r my 33 umiejętności". Pamiętaj, że nikt tak naprawdę nie będzie
zobacz komentarze pozostawione przez tę opcję, chyba że uważnie monitorują sieć
z snifferem lub niestandardowymi regułami IDS.
--data-długość numer (Dołącz losowe dane do wysyłanych pakietów) .
Normalnie Nmap wysyła minimalistyczne pakiety zawierające tylko nagłówek. Więc jego pakiety TCP
mają zazwyczaj 40 bajtów, a żądania echa ICMP to tylko 28. Niektóre porty UDP. i IP
protokoły. otrzymuj domyślnie niestandardowy ładunek. Ta opcja mówi Nmapowi, aby dołączył
podana liczba losowych bajtów dla większości wysyłanych pakietów i nie używać żadnych
ładunki specyficzne dla protokołu. (Posługiwać się --data-długość 0 bez losowych lub specyficznych dla protokołu
ładunki. Wykrywanie systemu operacyjnego (-O) pakiety nie są naruszone. ponieważ dokładność tam
wymaga spójności sondy, ale większość pakietów pingujących i portscan to obsługuje. To
nieco spowalnia działanie, ale może sprawić, że skan będzie nieco mniej widoczny.
--ip-opcje S|R [trasa]|L [trasa]|T|U ... ; --ip-opcje hex ciąg (Wyślij pakiety z
określone opcje ip) .
IP protokół[13] oferuje kilka opcji, które można umieścić w nagłówkach pakietów.
W przeciwieństwie do wszechobecnych opcji TCP, opcje IP są rzadko spotykane ze względu na praktyczność i
obawy dotyczące bezpieczeństwa. W rzeczywistości wiele routerów internetowych blokuje najbardziej niebezpieczne opcje
takie jak routing źródłowy. Jednak opcje mogą być nadal przydatne w niektórych przypadkach do określenia
oraz manipulowanie trasą sieciową do maszyn docelowych. Na przykład możesz być w stanie
skorzystaj z opcji rekordu trasy, aby określić ścieżkę do celu, nawet jeśli jest to bardziej tradycyjne
Podejścia w stylu traceroute zawodzą. Lub jeśli twoje pakiety są odrzucane przez pewnego
firewall, możesz być w stanie określić inną trasę za pomocą ścisłego lub luźnego źródła
opcje routingu.
Najskuteczniejszym sposobem określenia opcji IP jest po prostu przekazanie wartości jako
argument drugi --ip-opcje. Poprzedź każdą liczbę szesnastkową \x, a następnie dwiema cyframi. Możesz
powtórz niektóre znaki, śledząc je gwiazdką, a następnie liczbą
razy chcesz je powtórzyć. Na przykład \x01\x07\x04\x00*36\x01 to ciąg szesnastkowy
zawierający 36 bajtów NUL.
Nmap oferuje również mechanizm skrótów do określania opcji. Po prostu przekaż list
R, T lub U, aby zażądać trasy rekordu. sygnatura czasowa rekordu. lub obie opcje razem,
odpowiednio. Luźny lub ścisły routing źródłowy. można określić za pomocą L lub S
po którym następuje spacja, a następnie oddzielona spacjami lista adresów IP.
Jeśli chcesz zobaczyć opcje w wysłanych i odebranych pakietach, określ --śledzenie pakietów.
Aby uzyskać więcej informacji i przykładów używania opcji IP z Nmap, zobacz
http://seclists.org/nmap-dev/2006/q3/52.
--ttl wartość (Ustaw pole czasu życia IP) .
Ustawia pole czasu życia IPv4 w wysyłanych pakietach na podaną wartość.
--randomizuj-hosty (Losowa kolejność hostów docelowych) .
Nakazuje Nmapowi przetasować każdą grupę do 16384 hostów przed ich przeskanowaniem. To może
sprawiają, że skany są mniej oczywiste dla różnych systemów monitorowania sieci, zwłaszcza gdy:
połącz to z opcjami wolnego czasu. Jeśli chcesz losowo wybierać większe grupy,
zwiększać PING_GROUP_SZ. w nmap.h. i ponownie skompilować. Alternatywnym rozwiązaniem jest:
wygeneruj listę docelowych adresów IP ze skanowaniem listy (-SL -n -na filename), wybierz losowo za pomocą
skrypt Perla, a następnie przekaż całą listę Nmapowi za pomocą -iL..
--spoof-mac PROCHOWIEC adres, prefiks, or sprzedawca Nazwa (Fałszywy adres MAC) .
Pyta Nmapa o użycie podanego adresu MAC dla wszystkich wysyłanych przez niego surowych ramek ethernetowych.
Ta opcja oznacza --wyślij-eth. aby upewnić się, że Nmap faktycznie wysyła dane na poziomie sieci Ethernet
pakiety. Podany adres MAC może mieć kilka formatów. Jeśli jest to po prostu liczba 0, Nmap
wybiera całkowicie losowy adres MAC dla sesji. Jeśli podany ciąg to an
parzysta liczba cyfr szesnastkowych (z parami opcjonalnie oddzielonymi dwukropkiem), Nmap będzie
użyj ich jako MAC. Jeśli podano mniej niż 12 cyfr szesnastkowych, Nmap wypełnia znak
pozostała część z sześciu bajtów z wartościami losowymi. Jeśli argument nie jest zerem lub szesnastką
ciągu, Nmap przegląda przedrostki nmap-mac, aby znaleźć nazwę dostawcy zawierającą znak
podany ciąg (nie jest rozróżniany wielkość liter). Jeśli zostanie znalezione dopasowanie, Nmap używa OUI dostawcy
(prefiks trzybajtowy). i losowo wypełnia pozostałe trzy bajty. Ważny
--spoof-mac przykłady argumentów to Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2,
i Cisco. Ta opcja dotyczy tylko surowych skanów pakietów, takich jak skanowanie SYN lub wykrywanie systemu operacyjnego,
funkcje niezorientowane na połączenie, takie jak wykrywanie wersji lub Nmap Scripting
Silnik.
-- proxy Oddzielone przecinkami podstęp of pełnomocnik Używać (Przekaż połączenia TCP przez łańcuch
proxy) .
Prosi Nmapa o nawiązanie połączeń TCP z ostatecznym celem poprzez dostarczony łańcuch
jeden lub więcej serwerów proxy HTTP lub SOCKS4. Serwery proxy mogą pomóc w ukryciu prawdziwego źródła skanu lub
omijać pewne ograniczenia zapory sieciowej, ale mogą one zmniejszać wydajność skanowania poprzez:
zwiększające się opóźnienie. Użytkownicy mogą potrzebować dostosować limity czasu Nmapa i inne parametry skanowania
odpowiednio. W szczególności niższy --max-równoległość może pomóc, ponieważ niektóre proxy
odmówić obsługi tylu jednoczesnych połączeń, ile Nmap domyślnie otwiera.
Ta opcja przyjmuje listę serwerów proxy jako argument, wyrażoną jako adresy URL w formacie
proto://host:port. Użyj przecinków, aby oddzielić adresy URL węzłów w łańcuchu. Brak uwierzytelnienia
obsługiwane jeszcze. Prawidłowe protokoły to HTTP i SOCKS4.
Ostrzeżenie: ta funkcja jest wciąż rozwijana i ma ograniczenia. To jest
zaimplementowany w bibliotece nsock i tym samym nie ma wpływu na ping, skanowanie portów
i fazy wykrywania systemu operacyjnego podczas skanowania. Tylko NSE i skanowanie wersji korzystają z tej opcji
do tej pory — inne funkcje mogą ujawnić Twój prawdziwy adres. Połączenia SSL nie są jeszcze
obsługiwane, podobnie jak rozwiązywanie DNS po stronie proxy (nazwy hostów są zawsze rozwiązywane przez Nmapa).
--badsum (Wysyłaj pakiety z fałszywymi sumami kontrolnymi TCP/UDP) .
Pyta Nmapa o użycie nieprawidłowej sumy kontrolnej TCP, UDP lub SCTP dla pakietów wysyłanych do celu
zastępy niebieskie. Ponieważ praktycznie wszystkie stosy IP hosta prawidłowo odrzucają te pakiety, wszelkie odpowiedzi
otrzymane prawdopodobnie pochodzą z zapory lub systemu IDS, który nie zadał sobie trudu, aby zweryfikować
suma kontrolna. Aby uzyskać więcej informacji na temat tej techniki, zobacz https://nmap.org/p60-12.html
--adler32 (Użyj przestarzałego Adler32 zamiast CRC32C dla sum kontrolnych SCTP) .
Prosi Nmapa o użycie przestarzałego algorytmu Adler32 do obliczania sumy kontrolnej SCTP.
If --adler32 nie podano, zastosowano CRC-32C (Castagnoli). RFC 2960[14] pierwotnie
zdefiniowany Adler32 jako algorytm sumy kontrolnej dla SCTP; RFC 4960[7] później przedefiniowano SCTP
sumy kontrolne do użycia CRC-32C. Obecne implementacje SCTP powinny używać CRC-32C, ale w
aby uzyskać odpowiedzi ze starych, starszych implementacji SCTP, może być preferowane
używać Adler32.
WYDAJNOŚĆ
Każde narzędzie zabezpieczające jest tak przydatne, jak generowane przez nie dane wyjściowe. Kompleksowe testy i
algorytmy mają niewielką wartość, jeśli nie są przedstawione w zorganizowany i zrozumiały sposób
moda. Biorąc pod uwagę liczbę sposobów, w jakie Nmap jest używany przez ludzi i inne oprogramowanie, nie ma jednego
format może zadowolić każdego. Tak więc Nmap oferuje kilka formatów, w tym tryb interaktywny
dla ludzi do bezpośredniego czytania i XML do łatwego analizowania przez oprogramowanie.
Oprócz oferowania różnych formatów wyjściowych, Nmap zapewnia opcje sterowania
szczegółowość danych wyjściowych, a także komunikaty debugowania. Typy danych wyjściowych mogą być wysyłane do
standardowe wyjście lub do nazwanych plików, do których Nmap może dołączać lub manipulować. Pliki wyjściowe mogą
służy również do wznawiania przerwanych skanów.
Nmap udostępnia dane wyjściowe w pięciu różnych formatach. Wartość domyślna to interaktywna
wyjście,. i jest wysyłane na standardowe wyjście (stdout).. Istnieje również normalne wyjście.
który jest podobny do interaktywnego, z wyjątkiem tego, że wyświetla mniej informacji o czasie wykonywania i
ostrzeżenia, ponieważ oczekuje się, że zostaną przeanalizowane po zakończeniu skanowania, a nie
interaktywnie.
Dane wyjściowe XML. jest jednym z najważniejszych typów wyjścia, ponieważ można go przekonwertować na HTML,
łatwo analizowane przez programy, takie jak graficzne interfejsy użytkownika Nmap, lub importowane do
bazy danych.
Dwa pozostałe typy danych wyjściowych to proste dane wyjściowe z możliwością grepable. który obejmuje większość
informacje o docelowym hoście w jednej linii i sCRIPt KiDDi3 0OUTPUt. dla użytkowników, którzy
uważają się za |<-r4d.
Chociaż wyjście interaktywne jest domyślne i nie ma skojarzonych opcji wiersza poleceń,
pozostałe cztery opcje formatu używają tej samej składni. Biorą jeden argument, którym jest
nazwę pliku, w którym powinny być przechowywane wyniki. Można określić wiele formatów, ale każdy
format można określić tylko raz. Na przykład możesz chcieć zapisać normalne wyjście dla
własna recenzja podczas zapisywania XML tego samego skanu do analizy programowej. możesz zrobić
to z opcjami -wół myscan.xml -na myscan.nmap. Chociaż w tym rozdziale użyto prostego
nazwy takie jak myscan.xml dla zwięzłości, ogólnie zalecane są bardziej opisowe nazwy. ten
Wybrane nazwy są kwestią osobistych preferencji, chociaż używam długich, które zawierają
data skanowania i słowo lub dwa opisujące skan, umieszczone w katalogu o nazwie
firma, którą skanuję.
Podczas gdy te opcje zapisują wyniki do plików, Nmap nadal wypisuje interaktywne wyjście na standardowe wyjście
jak zwykle. Na przykład polecenie nmap -wół myscan.xml cel drukuje XML do myscan.xml i
wypełnia standardowe wyjście tymi samymi interaktywnymi wynikami, które zostałyby wydrukowane, gdyby -wół
w ogóle nie został określony. Możesz to zmienić, przekazując jako argument znak łącznika
do jednego z typów formatu. Powoduje to, że Nmap dezaktywuje interaktywne wyjście, a zamiast tego
wydrukuj wyniki w określonym formacie do standardowego strumienia wyjściowego. Więc polecenie
nmap -wół - cel wyśle tylko dane wyjściowe XML na standardowe wyjście. Poważne błędy mogą nadal występować
drukowane do normalnego strumienia błędów, stderr..
W przeciwieństwie do niektórych argumentów Nmapa, spacja między flagą opcji logfile (taką jak -wół) i
nazwa pliku lub myślnik są obowiązkowe. Jeśli pominiesz flagi i podasz argumenty takie jak -oG-
or -oXscan.xml, funkcja kompatybilności wstecznej Nmapa spowoduje utworzenie
normalna format pliki wyjściowe o nazwach odpowiednio G- i Xscan.xml.
Wszystkie te argumenty wspierają strftime.-lubić. konwersje w nazwie pliku. %H, %M, %S,
%m, %d, %y i %Y są dokładnie takie same jak w strftime.. %T to to samo co %H%M%S, %R
to to samo co %H%M, a %D to to samo co %m%d%y. %, po którym następuje dowolny inny znak
po prostu daje ten znak (%% daje symbol procenta). Więc -wół „skanuj-%T-%D.xml” będzie
użyj pliku XML o nazwie w postaci scan-144840-121307.xml.
Nmap oferuje również opcje kontroli szczegółowości skanowania i raczej dołączania do plików wyjściowych
niż obijanie ich. Wszystkie te opcje zostały opisane poniżej.
Nmap Wydajność Formaty
-na specyfikacja pliku (normalne wyjście) .
Żąda skierowania normalnego wyjścia do podanej nazwy pliku. Jak omówiono powyżej,
różni się to nieco od wyników interaktywnych.
-wół specyfikacja pliku (wyjście XML) .
Żąda skierowania danych wyjściowych XML do podanej nazwy pliku. Nmap zawiera dokument
definicja typu (DTD), która umożliwia parserom XML sprawdzanie poprawności danych wyjściowych XML Nmap. Chociaż to
jest przeznaczony głównie do użytku programistycznego, może również pomóc ludziom w interpretacji Nmap XML
wyjście. DTD definiuje prawne elementy formatu i często wymienia
atrybuty i wartości, które mogą przyjąć. Najnowsza wersja jest zawsze dostępna od
https://svn.nmap.org/nmap/docs/nmap.dtd.
XML oferuje stabilny format, który jest łatwo analizowany przez oprogramowanie. Darmowe parsery XML są
dostępne dla wszystkich głównych języków komputerowych, w tym C/C++, Perl, Python i Java.
Ludzie napisali nawet powiązania dla większości tych języków do obsługi danych wyjściowych Nmap
i wykonanie konkretnie. Przykłady to Nmap::Skaner[15]. oraz Nmap::Parser[16]. w
Perl CPAN. W prawie wszystkich przypadkach, w których nietrywialna aplikacja łączy się z Nmapem,
Preferowanym formatem jest XML.
Dane wyjściowe XML odwołują się do arkusza stylów XSL, którego można użyć do sformatowania wyników jako
HTML. Najłatwiejszym sposobem użycia tego jest po prostu załadowanie danych wyjściowych XML w przeglądarce internetowej
takich jak Firefox czy IE. Domyślnie będzie to działać tylko na maszynie, na której uruchomiłeś Nmapa
(lub podobnie skonfigurowany) ze względu na zakodowaną na stałe ścieżkę systemu plików nmap.xsl. Posługiwać się
dotychczasowy --webxml or --arkusz stylów opcje tworzenia przenośnych plików XML, które są renderowane jako HTML
na dowolnym komputerze podłączonym do Internetu.
-oS specyfikacja pliku (ScRipT KIDd|3 WYJŚCIE) .
Dane wyjściowe Script kiddie są podobne do wyników interaktywnych, z wyjątkiem tego, że są przetwarzane w następujący sposób:
lepiej pasuje do l33t HaXXorZ, który wcześniej patrzył z góry na Nmapa ze względu na jego spójność
wielkość liter i pisownia. Osoby z upośledzeniem humoru powinny pamiętać, że ta opcja jest
wyśmiewanie się ze skryptowych dzieciaków, zanim oskarżysz mnie o rzekomą „pomaganie im”.
-oG specyfikacja pliku (wyjście grepable) .
Ten format wyjściowy został omówiony jako ostatni, ponieważ jest przestarzały. Format wyjściowy XML to
znacznie potężniejszy i prawie tak samo wygodny dla doświadczonych użytkowników. XML to
standard, dla którego dostępne są dziesiątki doskonałych parserów, podczas gdy wyjście grepable jest
mój własny prosty hack. XML jest rozszerzalny w celu obsługi nowych funkcji Nmapa, tak jak są
wydane, podczas gdy często muszę pomijać te funkcje w danych wyjściowych grepable z powodu braku a
miejsce do ich umieszczenia.
Niemniej jednak wyjście grepable jest nadal dość popularne. Jest to prosty format, który zawiera listy
każdy host w jednej linii i może być trywialnie przeszukiwany i analizowany za pomocą standardowego Uniksa
narzędzia takie jak grep, awk, cut, sed, diff i Perl. Nawet ja zwykle używam go jednorazowo
testy wykonane w wierszu poleceń. Znalezienie wszystkich hostów z otwartym portem SSH lub tym
działają w systemie Solaris, do identyfikacji hostów potrzebny jest tylko prosty program grep, przesyłany potokiem do awk lub
polecenie wytnij, aby wydrukować żądane pola.
Wyjście Grepable składa się z komentarzy (linie zaczynające się od funta (#)). i cel
linie. Linia docelowa zawiera kombinację sześciu oznaczonych pól, oddzielonych tabulatorami
a następnie okrężnicą. Pola to Host, Ports, Protocols, Ignored State, OS,
Indeks sekw., identyfikator IP i status.
Najważniejszym z tych pól są ogólnie Porty, które zawierają szczegółowe informacje na temat każdego z nich
ciekawy port. Jest to oddzielona przecinkami lista wpisów portów. Każdy wpis portu
reprezentuje jeden interesujący port i przyjmuje postać oddzielonych siedmioma ukośnikami (/)
podpola. Te podpola to: Numer portu, Stan, Protokół, Właściciel, Usługa, SunRPC
informacje i informacje o wersji.
Podobnie jak w przypadku wyjścia XML, ta strona podręcznika nie pozwala na udokumentowanie całego formatu. A
bardziej szczegółowe spojrzenie na format wyjściowy Nmapa jest dostępny od
https://nmap.org/book/output-formats-grepable-output.html.
-oA nazwa podstawowa (Wyjście do wszystkich formatów) .
Dla wygody możesz określić -oA nazwa podstawowa do przechowywania wyników skanowania w formacie normalnym, XML,
i grepable formatów jednocześnie. Są przechowywane w nazwa podstawowa.nmapa, nazwa podstawowa.xml i
nazwa podstawowa.gnmap, odpowiednio. Podobnie jak w przypadku większości programów, możesz poprzedzić nazwy plików znakiem
ścieżka do katalogu, na przykład ~/nmaplogs/foocorp/ w systemie Unix lub c:\hacking\sco w systemie Windows.
Gadatliwość i debugowania Opcje
-v (Zwiększenie poziomu szczegółowości) .
Zwiększa poziom szczegółowości, powodując, że Nmap drukuje więcej informacji o skanowaniu
w trakcie. Otwarte porty są wyświetlane tak, jak zostały znalezione, a szacowany czas ukończenia są
pod warunkiem, że Nmap uzna, że skanowanie zajmie więcej niż kilka minut. Użyj go dwa razy lub
więcej dla jeszcze większej gadatliwości: -wlub bezpośrednio podać poziom szczegółowości, na przykład
-v3..
Większość zmian dotyczy tylko wyjścia interaktywnego, a niektóre wpływają również na normalny i skrypt
wyjście dla dzieci. Inne typy danych wyjściowych mają być przetwarzane przez maszyny, więc Nmap
może domyślnie podawać istotne szczegóły w tych formatach, nie męcząc człowieka
użytkownik. Istnieje jednak kilka zmian w innych trybach, w których można zmniejszyć rozmiar wyjściowy
zasadniczo poprzez pominięcie niektórych szczegółów. Na przykład wiersz komentarza w grepable
dane wyjściowe zawierające listę wszystkich przeskanowanych portów są drukowane tylko w trybie szczegółowym
ponieważ może być dość długi.
-d (Zwiększenie poziomu debugowania) .
Jeśli nawet tryb szczegółowy nie zapewnia wystarczających danych, dostępne jest debugowanie
by zalać Cię o wiele więcej! Podobnie jak w przypadku opcji oznajmiania (-v), debugowanie jest włączone
z flagą wiersza poleceń (-d), a poziom debugowania można zwiększyć, określając go
wiele razy,. jak w -ddlub ustawiając poziom bezpośrednio. Na przykład, -d9 zestawy
poziom dziewiąty. To najwyższy efektywny poziom, który wyprodukuje tysiące linii
chyba że uruchomisz bardzo proste skanowanie z bardzo małą liczbą portów i celów.
Dane wyjściowe debugowania są przydatne, gdy podejrzewa się błąd w Nmap lub po prostu
zdezorientowany co do tego, co robi Nmap i dlaczego. Ponieważ ta funkcja jest przeznaczona głównie dla
programiści, wiersze debugowania nie zawsze są oczywiste. Możesz otrzymać coś takiego:
Wartości limitu czasu: srtt: -1 rttvar: -1 do: 1000000 delta 14987 ==> srtt: 14987 rttvar:
14987 do: 100000. Jeśli nie rozumiesz linijki, jedyne, co możesz zrobić, to zignorować
go, poszukaj go w kodzie źródłowym lub poproś o pomoc z listy programistów
(nmap-dev).. Niektóre linie są oczywiste, ale wiadomości stają się bardziej niejasne, ponieważ
poziom debugowania zostaje zwiększony.
--powód (Przyczyny stanu hosta i portu) .
Pokazuje powód, dla którego każdy port jest ustawiony na określony stan i powód, dla którego każdy host jest włączony
lub w dół. Ta opcja wyświetla typ pakietu, który określił port lub hosty
Państwo. Na przykład pakiet RST z zamkniętego portu lub odpowiedź echo od żywego
gospodarz. Informacje, które Nmap może dostarczyć, zależą od typu skanowania lub pingowania. ten
Skanowanie SYN i pingowanie SYN (-SS i -PS) są bardzo szczegółowe, ale skanowanie połączenia TCP (-sT)
jest ograniczona przez wdrożenie connect wywołanie systemowe. Ta funkcja to
automatycznie włączane przez opcję debugowania (-d). a wyniki są zapisywane w dzienniku XML
pliki, nawet jeśli ta opcja nie jest określona.
--statystyki-co czas (Drukuj okresowe statystyki czasu) .
Okresowo drukuje komunikat o stanie czasu po każdym interwale czas. Czas jest
specyfikacja typu opisanego w sekcji „CZAS I WYDAJNOŚĆ”; więc
na przykład użyj --statystyki-co 10s aby otrzymywać aktualizację statusu co 10 sekund. Aktualizacje
są drukowane na wyjściu interaktywnym (ekran) i wyjściu XML.
--śledzenie pakietów (Śledź pakiety oraz dane wysyłane i odbierane) .
Powoduje, że Nmap drukuje podsumowanie każdego wysłanego lub odebranego pakietu. Jest to często używane
do debugowania, ale jest także cennym sposobem dla nowych użytkowników, aby dokładnie zrozumieć, co
Nmap robi pod osłonami. Aby uniknąć drukowania tysięcy wierszy, możesz chcieć
określ ograniczoną liczbę portów do skanowania, na przykład -s20-30. Jeśli zależy Ci tylko na
dzieje się z podsystemem wykrywania wersji, użyj --wersja-śledzenia zamiast. Jeśli tylko
dbaj o śledzenie skryptów, określ --śledzenie-skryptu. Z --śledzenie pakietów, dostajesz wszystko
powyższe.
--otwarty (Pokaż tylko otwarte (lub ewentualnie otwarte) porty) .
Czasami interesują Cię tylko porty, z którymi możesz się połączyć (otwarte), a nie
chcesz wyniki zaśmiecone zamkniętymi, filtrowanymi i zamkniętymi|filtrowanymi portami. Wyjście
dostosowywanie odbywa się zwykle po skanowaniu za pomocą narzędzi takich jak grep, awk i Perl,
ale ta funkcja została dodana z powodu przytłaczających próśb. Sprecyzować --otwarty tylko zobaczyć
hosty z co najmniej jednym portem otwartym, otwartym|filtrowanym lub niefiltrowanym i widzą tylko porty w
te stany. Te trzy stany są traktowane tak, jak zwykle, co oznacza:
że otwarte|filtrowane i niefiltrowane mogą być skondensowane do liczby, jeśli istnieje
przytłaczająca ich liczba.
--iflista (Wymień interfejsy i trasy) .
Wyświetla listę interfejsów i trasy systemowe wykryte przez Nmapa. Jest to przydatne dla
debugowanie problemów z routingiem lub błędną charakterystyką urządzeń (takich jak Nmap traktujący PPP
połączenie jako Ethernet).
Różne wydajność Opcje
--dołącz-wyjście (Dołączaj zamiast plików wyjściowych clobber) .
Gdy określisz nazwę pliku do flagi formatu wyjściowego, takiej jak -wół or -na, ten plik to
domyślnie nadpisany. Jeśli wolisz zachować istniejącą zawartość pliku i
dołącz nowe wyniki, określ --dołącz-wyjście opcja. Wszystkie nazwy plików wyjściowych
określone w tym wykonaniu Nmapa zostanie dopisane, a nie zablokowane. Ten
nie działa dobrze dla XML (-wół) skanuj dane, ponieważ plik wynikowy na ogół nie jest analizowany
prawidłowo, dopóki nie naprawisz go ręcznie.
--wznawiać filename (Wznów przerwane skanowanie) .
Niektóre rozbudowane uruchomienia Nmapa zajmują bardzo dużo czasu — rzędu kilku dni. Takie skany nie
zawsze biegnij do końca. Ograniczenia mogą uniemożliwić uruchomienie Nmapa podczas pracy
godzin, sieć może ulec awarii, komputer, na którym działa Nmap, może ucierpieć
planowane lub nieplanowane ponowne uruchomienie lub sam Nmap może ulec awarii. Administrator działa
Nmap może to anulować również z innego powodu, naciskając ctrl-C. Ponowne uruchamianie
cały skan od początku może być niepożądany. Na szczęście, jeśli normalne (-na) lub
grpable (-oG) logi zostały zachowane, użytkownik może poprosić Nmapa o wznowienie skanowania za pomocą
cel, nad którym pracował, gdy egzekucja ustała. Po prostu określ --wznawiać opcja i
jako argument przekaż normalny/grepable plik wyjściowy. Żadne inne argumenty nie są
dozwolone, ponieważ Nmap analizuje plik wyjściowy tak, aby używał tych samych, które zostały określone wcześniej.
Po prostu zadzwoń do Nmapa jako nmap --wznawiać nazwa pliku dziennika. Nmap doda nowe wyniki do
pliki danych określone w poprzednim wykonaniu. Wznowienie nie obsługuje XML
format wyjściowy, ponieważ połączenie dwóch przebiegów w jeden prawidłowy plik XML byłoby
trudny.
--arkusz stylów ścieżka or URL (Ustaw arkusz stylów XSL, aby przekształcić wyjście XML) .
Nmap jest dostarczany z kodem XSL. arkusz stylów. o nazwie nmap.xsl. do przeglądania lub tłumaczenia XML
wyjście do HTML.. Wyjście XML zawiera dyrektywę xml-stylesheet, która wskazuje na
nmap.xml, gdzie został pierwotnie zainstalowany przez Nmapa. Uruchom plik XML przez XSLT
procesor, taki jak xsltproc[17]. do utworzenia pliku HTML. Bezpośrednie otwieranie XML
plik w przeglądarce nie działa już dobrze, ponieważ nowoczesne przeglądarki ograniczają lokalizacje a
arkusz stylów może być ładowany z. Jeśli chcesz użyć innego arkusza stylów, określ go
jako argument za… --arkusz stylów. Musisz podać pełną ścieżkę lub adres URL. Jeden wspólny
inwokacja jest --arkusz stylów https://nmap.org/svn/docs/nmap.xsl. To mówi XSLT
procesora, aby załadować najnowszą wersję arkusza stylów z Nmap.Org. ten --webxml
opcja robi to samo z mniejszą ilością pisania i zapamiętywania. Ładowanie XSL z
Nmap.Org ułatwia przeglądanie wyników na maszynie, która nie ma Nmapa (a co za tym idzie
nmap.xsl). Tak więc adres URL jest często bardziej przydatny, ale lokalny system plików
lokalizacja pliku nmap.xsl jest używana domyślnie ze względu na ochronę prywatności.
--webxml (Załaduj arkusz stylów z Nmap.Org) .
To wygodna opcja, nic więcej niż alias dla --arkusz stylów
https://nmap.org/svn/docs/nmap.xsl.
--brak arkusza stylów (Pomiń deklarację arkusza stylów XSL z XML) .
Wybierz tę opcję, aby uniemożliwić Nmapowi kojarzenie dowolnego arkusza stylów XSL z jego kodem XML
wyjście. Dyrektywa xml-stylesheet została pominięta.
RÓŻNE OPCJE
W tej sekcji opisano kilka ważnych (i nie tak ważnych) opcji, które tak naprawdę nie pasują
gdziekolwiek indziej.
-6 (Włącz skanowanie IPv6) .
Nmap obsługuje najpopularniejsze funkcje IPv6. Skanowanie ping, skanowanie portów,
wykrywanie wersji i aparat skryptów Nmapa obsługują IPv6. Składnia polecenia
jest taki sam jak zwykle, z wyjątkiem tego, że dodajesz również -6 opcja. Oczywiście musisz użyć
Składnia IPv6, jeśli określisz adres, a nie nazwę hosta. Adres może wyglądać
jak 3ffe:7501:4819:2000:210:f3ff:fe03:14d0, więc nazwy hostów są zalecane. Wyjście
wygląda tak samo jak zwykle, z adresem IPv6 w wierszu „ciekawe porty”
jedyny prezent IPv6.
Chociaż protokół IPv6 nie podbił świata szturmem, w niektórych jest używany
(zwykle azjatyckie) kraje i najnowocześniejsze systemy operacyjne obsługują go. Aby używać Nmap
w przypadku protokołu IPv6 zarówno źródło, jak i cel skanowania muszą być skonfigurowane dla protokołu IPv6. Jeśli
Twój dostawca usług internetowych (jak większość z nich) nie przydziela Ci adresów IPv6, darmowy tunel
brokerzy są szeroko dostępni i dobrze współpracują z Nmap. Korzystam z darmowego tunelu IPv6
pośrednik. obsługa w http://www.tunnelbroker.net. Inni brokerzy tuneli to wymienione at
Wikipedia[18]. Tunele 6to4 to kolejne popularne, bezpłatne podejście.
W systemie Windows skanowanie IPv6 surowego gniazda jest obsługiwane tylko na urządzeniach Ethernet (nie
tunele) i tylko w systemie Windows Vista. i później. Użyj --nieuprzywilejowani. opcja w
inne sytuacje.
-A (Opcje skanowania agresywnego) .
Ta opcja włącza dodatkowe zaawansowane i agresywne opcje. Obecnie umożliwia to
Wykrywanie systemu operacyjnego (-O), skanowanie wersji (-sV), skanowanie skryptów (-sC) i traceroute
(--trasowanie).. Więcej funkcji może zostać dodanych w przyszłości. Chodzi o to, aby umożliwić
kompleksowy zestaw opcji skanowania bez konieczności zapamiętywania dużego zestawu
flagi. Jednak ponieważ skanowanie skryptów z domyślnym zestawem jest uważane za inwazyjne,
nie powinieneś używać -A przeciwko sieciom docelowym bez pozwolenia. Tylko ta opcja
włącza funkcje, a nie opcje czasu (takie jak -T4) lub opcje oznajmiania (-v) to
ty też możesz chcieć. Opcje wymagające uprawnień (np. dostęp root), takie jak system operacyjny
wykrywanie i traceroute będą włączone tylko wtedy, gdy te uprawnienia będą dostępne.
--katalog danych nazwa katalogu (Określ niestandardową lokalizację pliku danych Nmap) .
Nmap pobiera specjalne dane w czasie wykonywania w plikach o nazwie nmap-service-probes,
nmap-services, nmap-protocols, nmap-rpc, nmap-mac-prefixes i nmap-os-db. Jeśli
określono lokalizację któregokolwiek z tych plików (za pomocą --serwisowanyb or
--wersjadb opcji), ta lokalizacja jest używana dla tego pliku. Następnie Nmap wyszukuje
te pliki w katalogu określonym przez --katalog danych opcja (jeśli istnieje). Wszelkie pliki
tam nie znaleziono, są wyszukiwane w katalogu określonym przez NMAPDIR.
Zmienna środowiskowa. Dalej nadchodzi ~/.nmap. dla prawdziwych i skutecznych UID; lub w systemie Windows,
GŁÓWNA\AppData\Roaming\nmapa (gdzie GŁÓWNA to katalog domowy użytkownika, na przykład
C:\Użytkownicy\użytkownik). Po tym następuje lokalizacja pliku wykonywalnego nmap i to samo
lokalizacja z dodanym ../share/nmap. Następnie wbudowaną lokalizację, taką jak
/usr/local/share/nmap lub /usr/share/nmap.
--serwisowanyb Branże filet (Określ plik usług niestandardowych) .
Pyta Nmapa, aby użył określonego pliku services zamiast pliku danych nmap-services
który jest dostarczany z Nmapem. Użycie tej opcji powoduje również szybkie skanowanie (-F) być używana. Widzieć
opis dla --katalog danych aby uzyskać więcej informacji o plikach danych Nmapa.
--wersjadb usługa sondy filet (Określ niestandardowy plik sond serwisowych) .
Pyta Nmapa o użycie określonego pliku sond serwisowych zamiast nmap-service-probes
plik danych dostarczany z Nmapem. Zobacz opis dla --katalog danych więcej informacji
w plikach danych Nmapa.
--wyślij-eth (Użyj wysyłania surowego Ethernetu) .
Pyta Nmapa o wysyłanie pakietów w surowej warstwie Ethernet (łącze danych), a nie wyższej
Warstwa IP (sieci). Domyślnie Nmap wybiera ten, który jest ogólnie najlepszy dla
platforma, na której działa. Gniazda surowe (warstwa IP). są na ogół najskuteczniejsze dla
Maszyny uniksowe, podczas gdy ramki Ethernet są wymagane do działania systemu Windows od
Microsoft wyłączył obsługę surowych gniazd. Nmap nadal używa surowych pakietów IP na Uniksie, mimo że
ta opcja, gdy nie ma innego wyboru (np. połączenia inne niż Ethernet).
--wyślij-ip (Wyślij na poziomie surowego adresu IP) .
Prosi Nmapa, aby wysyłał pakiety przez surowe gniazda IP zamiast wysyłania Ethernetu niższego poziomu
ramki. Jest uzupełnieniem --wyślij-eth opcja omówiona wcześniej.
--uprzywilejowany (Załóżmy, że użytkownik jest w pełni uprzywilejowany) .
Mówi Nmapowi, aby po prostu założył, że jest wystarczająco uprzywilejowany do wysyłania surowych gniazd,
podsłuchiwanie pakietów i podobne operacje, które zwykle wymagają uprawnień administratora. na Uniksie
systemy. Domyślnie Nmap kończy działanie, jeśli takie operacje są wymagane, ale geteuid nie jest
zero. --uprzywilejowany jest przydatne z możliwościami jądra Linux i podobnymi systemami, które:
można skonfigurować tak, aby umożliwić nieuprzywilejowanym użytkownikom wykonywanie skanowania surowych pakietów. Upewnij się, że
podaj tę flagę opcji przed wszelkimi flagami opcji wymagających uprawnień (SYN
skanowanie, wykrywanie systemu operacyjnego itp.). ten NMAP_PRIVILEGED. zmienna środowiskowa może być ustawiona jako an
równoważna alternatywa dla --uprzywilejowany.
--nieuprzywilejowani (Załóżmy, że użytkownik nie ma uprawnień do surowego gniazda) .
Ta opcja jest przeciwieństwem --uprzywilejowany. Mówi Nmapowi, aby traktował użytkownika jako
brak surowego gniazda sieciowego i uprawnień do sniffingu. Przydaje się to do testowania,
debugowanie lub gdy surowa funkcjonalność sieciowa twojego systemu operacyjnego jest w jakiś sposób
złamany. ten NMAP_UNPRIVILEGED. zmienna środowiskowa może być ustawiona jako odpowiednik
alternatywa dla --nieuprzywilejowani.
--uwolnij-pamięć (Zwolnij pamięć przed zakończeniem) .
Ta opcja jest przydatna tylko w przypadku debugowania przecieków pamięci. Powoduje to zwolnienie Nmapa
przydzielona pamięć tuż przed zamknięciem, dzięki czemu rzeczywiste wycieki pamięci są łatwiejsze do wykrycia.
Normalnie Nmap pomija to, ponieważ system operacyjny i tak robi to po zakończeniu procesu.
-V; --wersja (Numer wersji do druku) .
Wyświetla numer wersji Nmapa i kończy działanie.
-h; --help (Drukuj stronę podsumowania pomocy) .
Drukuje krótki ekran pomocy z najczęstszymi flagami poleceń. Uruchamianie Nmapa bez
wszelkie argumenty robią to samo.
CZAS PRACY INTERAKCJA
Podczas wykonywania Nmapa wszystkie naciśnięcia klawiszy są przechwytywane. To pozwala na interakcję
z programem bez przerywania i ponownego uruchamiania. Niektóre klawisze specjalne ulegną zmianie
opcje, podczas gdy inne klawisze wydrukują komunikat o stanie informujący o skanowaniu.
Konwencja jest taka, że małe listy zwiększać ilość druku, oraz wielkie litery
listy spadek drukowanie. Możesz także nacisnąć '?' o pomoc.
v / V
Zwiększ/zmniejsz poziom szczegółowości
d / D
Zwiększ/zmniejsz poziom debugowania
p / P
Włącz/wyłącz śledzenie pakietów
?
Wydrukuj ekran pomocy dotyczący interakcji w czasie wykonywania
Coś jeszcze
Wydrukuj taki komunikat o stanie:
Statystyki: upłynął 0:00:07; Ukończono 20 hostów (1 w górę), 1 w trakcie skanowania usług
Czas skanowania usługi: Zrobiono około 33.33%; ETC: 20:57 (pozostało 0:00:12)
PRZYKŁADY
Oto kilka przykładów użycia Nmapa, od prostych i rutynowych po nieco bardziej złożone
i ezoteryczne. Niektóre rzeczywiste adresy IP i nazwy domen służą do robienia czegoś więcej
beton. W ich miejsce należy podstawić adresy/nazwiska z Twój własny sieć.
Chociaż nie uważam, że skanowanie portów w innych sieciach jest lub powinno być nielegalne, niektóre sieci
administratorzy nie doceniają niechcianego skanowania ich sieci i mogą narzekać.
Najlepszym podejściem jest najpierw uzyskanie pozwolenia.
Do celów testowych masz uprawnienia do skanowania hosta scanme.nmap.org. To
zezwolenie obejmuje tylko skanowanie za pomocą Nmapa, a nie testowanie exploitów lub odmowę usługi
ataki. Aby oszczędzać przepustowość, nie inicjuj więcej niż tuzina skanów przeciwko
tego gospodarza dziennie. Jeśli ta bezpłatna usługa docelowa skanowania zostanie nadużyta, zostanie usunięta
a Nmap zgłosi błąd rozwiązania podanej nazwy hosta/IP: scanme.nmap.org. Te
uprawnienia dotyczą również hostów scanme2.nmap.org, scanme3.nmap.org itd.
te hosty obecnie nie istnieją.
nmap -v scanme.nmap.org.
Ta opcja skanuje wszystkie zarezerwowane porty TCP na maszynie scanme.nmap.org . ten -v opcja
włącza tryb pełny.
nmap -SS -O scanme.nmap.org/24.
Uruchamia ukryte skanowanie SYN na każdym komputerze, który ma ponad 256 adresów IP w
sieć klasy C, w której znajduje się Scanme. Próbuje również ustalić, co działa
system działa na każdym uruchomionym hoście. Wymaga to uprawnień administratora
ze względu na skanowanie SYN i wykrywanie systemu operacyjnego.
nmap -sV -p 22,53,110,143,4564 198.116.0-255.1-127.
Uruchamia wyliczanie hostów i skanowanie TCP w pierwszej połowie każdego z 255 możliwych
ośmiobitowe podsieci w przestrzeni adresowej 198.116 klasy B. To sprawdza, czy systemy działają
SSH, DNS, POP3 lub IMAP na ich standardowych portach lub cokolwiek na porcie 4564. Dla każdego z
te porty zostały znalezione otwarte, wykrywanie wersji jest używane do określenia, jaka jest aplikacja
uruchomiony.
nmap -v -iR 100000 -Pn -p 80.
Prosi Nmapa o losowy wybór 100,000 80 hostów i przeskanowanie ich w poszukiwaniu serwerów WWW (port XNUMX). Gospodarz
wyliczanie jest wyłączone za pomocą -Pn od pierwszego wysłania kilku sond, aby ustalić, czy
host jest marnotrawstwem, gdy i tak sprawdzasz tylko jeden port na każdym hoście docelowym.
nmap -Pn -s80 -wół logi/pb-port80scan.xml -oG logi/pb-port80scan.gnmap 216.163.128.20/20.
Skanuje 4096 adresów IP w poszukiwaniu dowolnych serwerów internetowych (bez pingowania ich) i zapisuje dane wyjściowe w
formaty grepable i XML.
nmapa BOOK
Chociaż ten przewodnik zawiera szczegółowe informacje o wszystkich materiałowych opcjach Nmap, nie może on w pełni zademonstrować
jak zastosować te funkcje do szybkiego rozwiązywania rzeczywistych zadań. W tym celu wydaliśmy Nmap
Skanowanie sieciowe: oficjalny przewodnik po projekcie Nmap dotyczący wykrywania i zabezpieczania sieci
Łów. Tematy obejmują obalanie zapór sieciowych i systemów wykrywania włamań, optymalizację
Wydajność Nmapa i automatyzacja typowych zadań sieciowych dzięki silnikowi Nmap Scripting Engine.
Dostępne są wskazówki i instrukcje dotyczące typowych zadań Nmapa, takich jak korzystanie z sieci
inwentaryzacja, testy penetracyjne, wykrywanie nieuczciwych bezprzewodowych punktów dostępowych i quashing
epidemie robaków sieciowych. Przykłady i schematy pokazują rzeczywistą komunikację na przewodzie. Więcej
ponad połowa książki jest dostępna bezpłatnie online. Widzieć https://nmap.org/book więcej
informacje.
Korzystaj z nmap online za pomocą usług onworks.net