diff options
Diffstat (limited to '')
-rw-r--r-- | docs/man-xlate/nmap-pl.1 | 1710 |
1 files changed, 1710 insertions, 0 deletions
diff --git a/docs/man-xlate/nmap-pl.1 b/docs/man-xlate/nmap-pl.1 new file mode 100644 index 0000000..7a0bf87 --- /dev/null +++ b/docs/man-xlate/nmap-pl.1 @@ -0,0 +1,1710 @@ +'\" t +.\" Title: nmap +.\" Author: [see the "Autor" section] +.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/> +.\" Date: 05/17/2023 +.\" Manual: Opis programu Nmap +.\" Source: Nmap +.\" Language: Polish +.\" +.TH "NMAP" "1" "05/17/2023" "Nmap" "Opis programu Nmap" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAZWA" +nmap \- Narzędzie do eksploracji sieci i skaner portów/zabezpieczeń +.SH "STRESZCZENIE" +.HP \w'\fBnmap\fR\ 'u +\fBnmap\fR [\fITyp\ Skanowania\fR...] [\fIOpcje\fR] {\fIspecyfikacja\ celu\fR} +.SH "OPIS" +.PP +Nmap (ang\&. +„Network Mapper\(rq) jest narzędziem open source do eksploracji sieci i audytów bezpieczeństwa\&. Został zaprojektowany do szybkiego skanowania dużych sieci, ale również działa dobrze w stosunku do pojedynczych adresów\&. Nmap wykorzystuje niskopoziomowe pakiety IP do wykrywania które adresy są dostępne w sieci, jakie udostępniają usługi (nazwa aplikacji i wersja), na jakich systemach operacyjnych pracują (wersja systemu), jakie typy systemów zaporowych (firewall) są wykorzystywane i dziesiątek innych cech\&. Nmap jest powszechnie wykorzystywany do audytów bezpieczeństwa, również wielu administratorów sieci i systemów wykorzystuje go wykonywania rutynowych czynności, takich jak inwentaryzacja zasobów sieci, zarządzanie aktualizacjami oprogramowania i monitorowania systemów oraz ich czasu działania (uptime)\&. +.PP +Wynikiem działania Nmapa jest lista przeskanowanych adresów z dodatkowymi informacjami zależnymi od wykorzystanych opcji\&. Jedną z głównych informacji jest +„lista interesujących portów\(rq\&. Zawiera ona numery portów wraz z protokołami, nazwami usługi i wykrytym stanem\&. Stan może zostać opisany jako +otwarty, +filtrowany, +zamknięty, lub +niefiltrowany\&. Otwarty oznacza, że aplikacja na badanym adresie oczekuje na połączenia/pakiety przychodzące na ten port\&. +Filtrowany +oznacza, że system zaporowy lub inne urządzenie blokujące ruch sieciowy nie dopuszcza komunikacji do tego portu i z tego powodu Nmap nie jest w stanie określić czy badany port jest +otwarty +czy +zamknięty\&. +Zamknięty +port nie posiada aplikacji, która obsługuje komunikację sieciową\&. Porty sklasyfikowane jako +niefiltrowane +odpowiadały na zapytania Nmapa, jednak nie było możliwe określenie, czy były one otwarte czy zamknięte\&. Nmap raportuje kombinacje stanów +otwarty|filtrowany +i +zamknięty|filtrowany +jeśli nie jest w stanie określić, który z dwóch podanych stanów lepiej opisuje stan portu\&. Lista portów może również zawierać informacje o wykrytych wersjach oprogramowania, jeśli została włączona detekcja wersji\&. Jeśli została wybrana opcja skanowania dostępnych protokołów (\fB\-sO\fR), Nmap zamiast listy portów dostarczy informacji na temat dostępności poszczególnych protokołów IP\&. +.PP +Poza listą interesujących portów, Nmap może dostarczyć dodatkowych informacje na temat badanych adresów, takich jak odwrotne nazwy DNS, prawdopodobne systemy operacyjne, typu urządzeń i adresy sprzętowe MAC\&. +.PP +Typowy wynik skanowania Nmapa jest przedstawiony w +Przykład 1, „Przykładowe wyniki skanowania Nmapa\(rq\&. W tym przypadku wykorzystano tylko opcję +\fB\-A\fR, wykrywającą wersje systemu operacyjnego, +\fB\-T4\fR +dla szybszego działania i dwa adresy docelowe\&. +.PP +\fBPrzykład 1. Przykładowe wyniki skanowania Nmapa\fR +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nmap \-A \-T4 scanme\&.nmap\&.org playground + +Starting nmap ( https://nmap\&.org/ ) +Interesting ports on scanme\&.nmap\&.org (205\&.217\&.153\&.62): +(The 1663 ports scanned but not shown below are in state: filtered) +PORT STATE SERVICE VERSION +22/tcp open ssh OpenSSH 3\&.9p1 (protocol 1\&.99) +53/tcp open domain +70/tcp closed gopher +80/tcp open http Apache httpd 2\&.0\&.52 ((Fedora)) +113/tcp closed auth +Device type: general purpose +Running: Linux 2\&.4\&.X|2\&.5\&.X|2\&.6\&.X +OS details: Linux 2\&.4\&.7 \- 2\&.6\&.11, Linux 2\&.6\&.0 \- 2\&.6\&.11 +Uptime 33\&.908 days (since Thu Jul 21 03:38:03 2005) + +Interesting ports on playground\&.nmap\&.org (192\&.168\&.0\&.40): +(The 1659 ports scanned but not shown below are in state: closed) +PORT STATE SERVICE VERSION +135/tcp open msrpc Microsoft Windows RPC +139/tcp open netbios\-ssn +389/tcp open ldap? +445/tcp open microsoft\-ds Microsoft Windows XP microsoft\-ds +1002/tcp open windows\-icfw? +1025/tcp open msrpc Microsoft Windows RPC +1720/tcp open H\&.323/Q\&.931 CompTek AquaGateKeeper +5800/tcp open vnc\-http RealVNC 4\&.0 (Resolution 400x250; VNC TCP port: 5900) +5900/tcp open vnc VNC (protocol 3\&.8) +MAC Address: 00:A0:CC:63:85:4B (Lite\-on Communications) +Device type: general purpose +Running: Microsoft Windows NT/2K/XP +OS details: Microsoft Windows XP Pro RC1+ through final release +Service Info: OSs: Windows, Windows XP + +Nmap finished: 2 IP addresses (2 hosts up) scanned in 88\&.392 seconds + +.fi +.if n \{\ +.RE +.\} +.PP +Najnowszą wersję Nmapa można pobrać z +\m[blue]\fB\%https://nmap.org/\fR\m[]\&. Najnowsza wersja dokumentacji man jest dostępna pod adresem +\m[blue]\fB\%https://nmap.org/man/\fR\m[]\&. +.SH "UWAGI DO TŁUMACZENIA" +.PP +Przemysław Galczewski +<sako(at)avet\&.com\&.pl> +(\m[blue]\fB\%http://www.avet.com.pl\fR\m[]) +.PP +Dokument ten zawiera nieoficjalne polskie tłumaczenie +\m[blue]\fBoryginalnej dokumentacji Nmapa\fR\m[]\&\s-2\u[1]\d\s+2 +w wersji 2991\&. Dołożyłem wszelkich starań, aby było ono jak najbardziej zbliżone do oryginału, a przy tym fachowe i zrozumiałe\&. Nie jest przy tym gwarantowane, że jest ono tak samo dokładne i aktualne jak oficjalna wersja angielska\&. Dokument ten może być modyfikowany i rozpowszechniany na zasadach +\m[blue]\fBCreative Commons Attribution License\fR\m[]\&\s-2\u[2]\d\s+2\&. Polska wersja tego dokumentu jest dostępna w formatach +\m[blue]\fBHTML\fR\m[]\&\s-2\u[3]\d\s+2, +\m[blue]\fBNROFF\fR\m[]\&\s-2\u[4]\d\s+2 +i +\m[blue]\fBXML\fR\m[]\&\s-2\u[5]\d\s+2\&. Wszelkie uwagi dotyczące tłumaczenia proszę kierować bezpośrednio do mnie\&. +.SH "SKRÓCONA LISTA OPCJI" +.PP +Skrócona lista opcji jest wyświetlana przy uruchomieniu Nmapa bez dodatkowych parametrów, a jej najnowsza wersja jest zawsze dostępna pod adresem +\m[blue]\fB\%https://nmap.org/data/nmap.usage.txt\fR\m[]\&. Skrócona lista pozwala łatwiej zapamiętać najpopularniejsze opcje, ale nie zastąpi wgłębienia sie w resztę tej dokumentacji\&. Wiele z pozostałych opcji nie jest nawet zawartych na liście skróconej\&. +.PP +.if n \{\ +.RS 4 +.\} +.nf +Użycie: nmap [Typ(y) skanowania] [Opcje] {specyfikacja celu} +SPECYFIKACJA CELU: + Można podać nazwy hostów, adresy IP, sieci, itp\&. + Przykłady: scanme\&.nmap\&.org, microsoft\&.com/24, 192\&.168\&.0\&.1; 10\&.0\&.0\-255\&.1\-254 + \-iL <plik_wejściowy>: Odczytanie listy hostów/sieci z pliku + \-iR <ilość hostów>: Wybranie losowych adresów + \-\-exclude <host1[,host2][,host3],\&.\&.\&.>: Wyłączenie hostów/sieci + \-\-excludefile <plik_wyłączeń>: Wyłączenie listy hostów/sieci z pliku +WYKRYWANIE HOSTÓW: + \-sL: Lista skanowania \- tylko wyświetla listę hostów do skanowania + \-sP: Skanowanie Ping \- tylko wykrywanie dostępności hostów + \-P0: Traktuj wszystkie hosty jako dostępne \- pomijanie wykrywania + \-PS/PA/PU [lista_portów]: Wykrywanie TCP SYN/ACK lub UDP na wybranych portach + \-PE/PP/PM: Zykrywanie za pomocą ICMP echo, timestamp, zapytania o maskę sieci + \-n/\-R: Nie używaj zapytań DNS/Zawsze odpytuj DNS [domyślnie: czasami] + \-\-dns\-servers <serv1[,serv2],\&.\&.\&.>: Używaj określonych serwerów DNS + \-\-system\-dns: Używaj systemowych ustawień DNS +TECHNIKI SKANOWANIA: + \-sS/sT/sA/sW/sM: Skanowania TCP SYN/Connect()/ACK/Window/Maimon + \-sN/sF/sX: Skanowania TCP Null, FIN i Xmas + \-\-scanflags <flagi>: Ręczne narzucanie flag TCP + \-sI <host zombie[:port]>: Idlescan + \-sO: Skanowanie protokołów IP + \-b <host pośredni ftp>: Skanowanie FTP bounce +SPECYFIKACJA PORTÓW I KOLEJNOŚCI SKANOWANIA: + \-p <zakres portów>: Skanuj tylko podane porty + Przykład: \-p22; \-p1\-65535; \-p U:53,111,137,T:21\-25,80,139,8080 + \-F: Szybkie skanowanie \- tylko porty zawarte w pliku nmap\-services + \-r: Skanuj porty kolejno \- wyłączenie losowania kolejności +DETEKCJA USŁUG/WERSJI: + \-sV: Wykrywaj wersję usługi na otwartych portach + \-\-version\-intensity <poziom>: Od 0 (tylko niektóre) do 9 (Używaj wszystkich testów) + \-\-version\-light: Limituj do najpopularniejszych testów (poziom 2) + \-\-version\-all: Używaj wszystkich testów (poziom 9) + \-\-version\-trace: Pokazuj dokładne informacje podczas skanowania (do usuwania błędów) +DETEKCJA OS: + \-O: Włączenie wykrywania systemu operacyjnego + \-\-osscan\-limit: Limitowanie wykrywania OS do obiecujących hostów + \-\-osscan\-guess: Zgaduj wersję OS bardziej agresywnie +WYDAJNOŚĆ I ZALEŻNOŚCI CZASOWE: + \-T[0\-5]: Ustaw szablon (wyższy jest szybszy) + \-\-min\-hostgroup/max\-hostgroup <rozmiar>: Rozmiary grup do równoległego skanowania + \-\-min\-parallelism/max\-parallelism <ilość_prób>: Zrównoleglenie testów + \-\-min\-rtt\-timeout/max\-rtt\-timeout/initial\-rtt\-timeout <msec>: Specyfikuje czas testów + \-\-max\-retries <ilość>: Ustala ilość możliwych powtórzeń testu + \-\-host\-timeout <msec>: Pomijaj po zadanym czasie + \-\-scan\-delay/\-\-max\-scan\-delay <msec>: Ustalenie opóźnienia pomiędzy testami +OPCJE FIREWALL/IDS: + \-f; \-\-mtu <wartość>: fragmentacja pakietów (opcjonalnie z podanym MTU) + \-D <decoy1,decoy2[,ME],\&.\&.\&.>: Ukrywaj skanowanie za pomocą innych hostów + \-S <Adres_IP>: Podmieniaj adres nadawcy + \-e <interfejs>: Używaj podanego interfejsu + \-g/\-\-source\-port <portnum>: Używaj podanego portu źródłowego + \-\-data\-length <num>: Dodawaj losowe dane do wysyłanych pakietów + \-\-ttl <wartość>: Ustaw czas życia pakietów + \-\-spoof\-mac <adres mac/prefix/producent>: Podmieniaj adres MAC + \-\-badsum: Wysyłaj pakiety z nieprawidłową sumą kontrolną TCP/UDP +WYJŚCIE: + \-oN/\-oX/\-oS/\-oG <plik>: Zapisz wyniki w podanym pliku normalnie, w XML, s|<rIpt kIddi3 + i formacie grepowalnym + \-oA <nazwabazowa>: Zapisz wyniki w trzech formatach jednocześnie + \-v: Podwyższenie poziomu raportowania (podwójne użycie powiększa efekt) + \-d[poziom]: Ustaw lub podwyższ poziom debugowania (do najwyższego 9) + \-\-packet\-trace: Pokazuj wszystkie wysyłane i odbierane pakiety + \-\-iflist: Wyświetl listę interfejsów i routingu (do wykrywania błędów) + \-\-append\-output: Dołącz nowe wyniki do już istniejących w pliku + \-\-resume <nazwapliku>: Wznów przerwane skanowanie + \-\-stylesheet <ścieżka/URL>: plik styli XSL do konwersji wyników w XML do formatu HTML + \-\-webxml: Domyślny styl z Insecure\&.Org + \-\-no\-stylesheet: Wyłączenie dodawania styli do plików z wynikami XML +RÓŻNE: + \-6: Włączenie skanowania IPv6 + \-A: Włączenie detekcji OS i wersji usług + \-\-datadir <katalog>: Podanie katalogu z plikami danych Nmapa + \-\-send\-eth/\-\-send\-ip: Wysyłaj za pomocą ramek ethernet lub pakietów IP + \-\-privileged: Zakładaj że użytkownik ma odpowiednie uprawnienia + \-V: Wyświetl numer wersji Nmapa + \-h: Wyświetl stronę pomocy +PRZYKŁADY: + nmap \-v \-A scanme\&.nmap\&.org + nmap \-v \-sP 192\&.168\&.0\&.0/16 10\&.0\&.0\&.0/8 + nmap \-v \-iR 10000 \-P0 \-p 80 +.fi +.if n \{\ +.RE +.\} +.sp +.SH "SPECYFIKACJA CELU" +.PP +Wszystko co nie jest opcją Nmapa w parametrach wywołania (lub jej argumentem) jest traktowane jako specyfikacja celu skanowania\&. Najprostszym przypadkiem jest sam adres do przeskanowania\&. +.PP +Czasami chcesz przeskanować całą sieć, dlatego Nmap obsługuje format CDIR\&. Możesz dołączyć do adresu /\fIilośćbitów\fR +i nmap przeskanuje każdy adres, który zawiera się w podanym zakresie\&. Na przykład, 192\&.168\&.10\&.0/24 przeskanuje 256 adresów pomiędzy 192\&.168\&.10\&.0 (binarnie: +11000000 10101000 00001010 00000000) i 192\&.168\&.10\&.255 (binarnie: +11000000 10101000 00001010 11111111) włącznie\&. Podanie 192\&.168\&.10\&.40/24 spowoduje dokładnie takie samo zachowanie\&. Załóżmy, że host scanme\&.nmap\&.org ma adres 205\&.217\&.153\&.62, podanie scanme\&.nmap\&.org/16 spowoduje przeskanowanie 65,536 adresów IP pomiędzy 205\&.217\&.0\&.0 i 205\&.217\&.255\&.255\&. Najmniejszą dopuszczalna wartość to /1, co stanowi połowę Internetu\&. Największa wartość to 32, która oznacza skanowanie pojedynczego adresu IP\&. +.PP +Notacja CIDR jest krótka i zwięzła, jednak nie zawsze wystarczająco elastyczna\&. Na przykład, chcesz przeskanować 192\&.168\&.0\&.0/16 z pominięciem wszystkich adresów kończących się \&.0 i \&.255, ponieważ są one najczęściej adresami typu broadcast\&. Nmap obsługuje to poprzez podawanie zakresów adresów za pomocą oktetów\&. Zamiast podawać normalny adres IP, możesz podać listę adresów lub zakresów oddzieloną przecinkami\&. Na przykład 192\&.168\&.0\-255\&.1\-254 pominie wszystkie adresy kończące się \&.0 lub \&.255\&. Zakresy nie są limitowane do końcowych oktetów: podanie 0\-255\&.0\-255\&.13\&.37 pozwoli na przeskanowanie wszystkich adresów kończących się 13\&.37\&. Tego typu skanowania mogą być przydatne podczas przeprowadzania badań Internetu\&. +.PP +Adresy IPv6 mogą być podawane jedynie w pełnej formie IPv6 lub nazwy hosta\&. Zapis z wykorzystaniem CIDR i zakresów nie jest obsługiwany przy IPV6, jednak rzadko byłoby to przydatne\&. +.PP +Nmap akceptuje podawanie wielu hostów w linii poleceń i nie muszą one być tego samego typu\&. Komenda +\fBnmap scanme\&.nmap\&.org 192\&.168\&.0\&.0/8 10\&.0\&.0,1,3\-7\&.0\-255\fR +zrobi to co powinna\&. +.PP +Zwykle adresy są podawane w linii poleceń, jednak poniższe opcje pozwalają na alternatywną specyfikację celu: +.PP +\fB\-iL <plik_wejściowy>\fR (Odczytanie z pliku) +.RS 4 +odczytuje specyfikację celu z pliku +\fIplik\-wejściowy\fR\&. Podawanie długiej listy adresów z linii poleceń jest dosyć niewygodne\&. Na przykład Twój serwer DHCP może posiadać listę 10,000 aktualnie dzierżawionych adresów, które chcesz przeskanować\&. Możliwe również, że chcesz przeskanować wszystkie adresy IP z +\fIwykluczeniem\fR +aktualnie dzierżawionych aby uzyskać listę nielegalnie przypisanych adresów statycznych\&. Po prostu wygeneruj listę adresów i podaj ją Nmapowi jako argument do parametru +\fB\-iL\fR\&. Poszczególne definicje mogą być zgodne z dowolnym formatem akceptowanym przez Nmapa w linii poleceń (adres IP, nazwa, CIDR, IPv6 lub zakres)\&. Każdy wpis musi być oddzielony od następnego za pomocą jednej (lub wiecej) spacji, znaków tabulacji lub znaków nowej linii\&. Możesz również podać znak (\-) zamiast nazwy pliku jeśli chesz aby Nmap pobrał adresy ze standardowego wejścia zamiast z pliku\&. +.RE +.PP +\fB\-iR <ilość hostów>\fR (Wybierz losowe cele) +.RS 4 +Do przeprowadzania badań Internetu, możesz używać wyboru losowych adresów\&. Argument +\fIilość hostów\fR +informuje Nmapa ile losowych adresów ma wygenerować\&. Adresy prywatne, typu multicast lub niewykorzystywane są automatycznie pomijane przy generowaniu\&. Argument +0 +pozwala na przeprowadzanie skanowania bez końca\&. Pamiętaj, że niektórzy administratorzy nie lubią skanowania ich sieci i może się im to nie spodobać\&. Używaj tej opcji na własne ryzyko! Jeśli poczujesz się naprawdę znudzony w deszczowe popołudnie, wyprubuj komendę +\fBnmap \-sS \-PS80 \-iR 0 \-p 80\fR +do wykrycia losowych serwerów WWW do przeglądania udostępnianych przez nie stron\&. +.RE +.PP +\fB\-\-exclude <host1[,host2][,host3],\&.\&.\&.>\fR (Wyłączenie hostów/sieci) +.RS 4 +Podana lista celów do wyłączenia z zakresu skanowania, jeśli wchodzą w zakres aktualnego skanowania\&. Lista musi być podana zgodnie ze standardowym formatem akceptowanycm przez Nmapa, więc może zawierać nazwy, adresy w formacie CDIR, zakresy, itp\&. Opcja ta jest przydatna, jeśli sieć którą chcesz przeskanować zawiera systemy nietykalne lub krytyczne, o których wiadomo, że nie tolerują dobrze skanowania lub też sieci administrowane przez innych ludzi\&. +.RE +.PP +\fB\-\-excludefile <plik_wyłączeń>\fR (Lista wyłączeń z pliku) +.RS 4 +Opcja ta oferuje taką samą funkcjonalność jak +\fB\-\-exclude\fR +z tą rożnicą, że wykluczone cele (oddzielone spacjami, znakami tabulacji lub nowej linii) są pobierane z pliku +\fIplik_wyłączeń\fR, a nie z linii poleceń\&. +.RE +.SH "WYKRYWANIE HOSTÓW" +.PP +Jednym z pierwszych kroków rekonesansu sieciowego jest redukcja (czasami ogromnych) zakresów adresów IP do listy aktywnych lub interesujących hostów\&. Skanowanie każdego portu na każdym adresie IP jest wolne i przeważnie niepotrzebne\&. Oczywiście to co czyni host interesującym głównie zależy od celu skanowania\&. Administratorzy sieci mogą być zainteresowani hostami udostępniającymi określoną usługę podczas gdy audytorzy bezpieczeństwa mogą chcieć przyjrzeć się każdemu urządzeniu posiadającemu adres IP\&. Administratorowi może wystarczać wykorzystanie pinga ICMP do zlokalizowania hostów w jego wewnętrznej sieci, podczas gdy audytor przeprowadzający zewnętrzne testy penetracyjne może wykorzystywać dziesiątki różnych testów do ominięcia reguł filtrowania systemu zaporowego\&. +.PP +Ponieważ niezbędne są różne metody wykrywania hostów, Nmap oferuje szeroki wachlarz opcji pozwalających na wybieranie wykorzystywanych technik\&. Wykrywanie hostów często jest zwane skanowaniem Ping, jednak wykracza daleko poza proste wysyłanie zapytania ICMP echo request znanego z programu +ping\&. Użytkownik może pominąć etap wykrywania poprzez wykorzystanie opcji skanowania listy (\fB\-sL\fR), poprzez wyłączenie pingowania (\fB\-P0\fR) lub wykorzystania różnych kombinacji wieloportowego badania za pomocą testów TCP SYN/ACK, UDP, i ICMP\&. Celem tych testów jest uzyskanie informacji o adresach IP, które są aktualnie dostępne (są wykorzystywane przez urządzenie sieciowe lub komputer)\&. W przypadku wielu sieci tylko mały procent wykorzystywanych adresów IP jest równocześnie aktywnych\&. Jest to szczególnie powszechne w sieciach prywatnych zgodnych z adresacją RFC1918, takich jak 10\&.0\&.0\&.0/8\&. Ta sieć zawiera 16 milionów adresów IP, ale widziałem nie raz firmy wykorzystujące niecały tysiąc z nich\&. Opcja wykrywania hostów pozwala na szybkie wykrycie rzeczywiście wykorzystywanych adresów IP z całej dostępnej puli\&. +.PP +Jeśli nie podano opcji wybierającej metodę wykrywania hostów, Nmap wysyła pakiety TCP ACK na port 80 i zapytanie ICMP Echo Request query do każdego badanego adresu\&. Wyjątkiem od tej reguły jest skanowanie ARP przeprowadzane dla aktualnego segmentu sieci ethernet\&. W przypadku uruchamiania przez nie uprzywilejowanych użytkowników systemów UNIX, wysyłany jest pakiet SYN zamiast ACK z wykorzystaniem wywołania systemowego +\fBconnect()\fR\&. Ustawienia domyślne są tożsame z opcjami +\fB\-PA \-PE\fR\&. Takie wykrywanie hostów jest najczęściej wystarczające podczas skanowania sieci lokalnej, jednak podczas audytów bezpieczeństwa zalecane jest wykorzystywanie bardziej zaawansowanych opcji\&. +.PP +Opcje +\fB\-P*\fR +(które wybierają sposób pingowania) mogą być łączone\&. Możesz poprawic dokładność wykrywania hostów za systemem zaporowym poprzez stosowanie wielu różnych portów/flag TCP i typów ICMP\&. Zwracam uwagę, że wykrywanie hostów ARP (\fB\-PR\fR) jest z założenia włączane podczas testów sieci lokalnej w ramach tego samego segmentu, nawet jeśli podasz inne opcje +\fB\-P*\fR, ponieważ praktycznie zawsze tak jest szybciej i efektywniej\&. +.PP +Opcje kontroli wykrywania hostów\&. +.PP +\fB\-sL\fR (Lista skanowania) +.RS 4 +Lista skanowania jest okrojoną funkcją wykrywania hostów, która po prostu wyświetla wszystkie adresy z podanych zakresów skanowania i nie wysyła żadnych pakietów do nich\&. Domyślnie Nmap wykonuje odwrotne zapytania DNS o badane adresy aby poznać ich nazwy\&. Często niespodzianką jest jak dużo informacji mogą udzielić już same nazwy hostów\&. Na przykład +fw\&.chi\&.playboy\&.com +jest systemem zaporowym w biurze Playboy Enterprises w Chicago\&. Na końcu Nmap podaje także całkowitą liczbę adresów IP\&. Lista skanowania jest dobrym sposobem na sprawdzenie i uzyskanie pewności, że prawidłowo podano zakres skanowania\&. Jeśli nie rozpoznajesz nazw domen na uzyskanej liście, warto sprawdzić podany zakres, co pozwala unikąć niepotrzebnego skanowania sieci nieznanej firmy\&. +.sp +Ideą tej opcji jest wyświetlanie prostej listy adresów, z tego powodu bardziej zaawansowana funkcjonalność taka jak skanowanie portów, wykrywanie systemu operacyjnego czy pingowanie nie może być łączone z tą metodą\&. Jeśli chcesz wyłączyć pingowanie podczas skanowania, poczytaj na ten temat w opisie opcji +\fB\-P0\fR\&. +.RE +.PP +\fB\-sP\fR (Skanowanie Ping) +.RS 4 +Ta opcja nakazuje Nmapowi przeprowadzać +\fItylko\fR +skanowanie typu Ping (wykrywanie hostów), a wynikiem jej działania jest lista aktywnych hostów\&. Dodatkowe testy (takie jak skanowanie portów lub wykrywanie systemu operacyjnego) nie są przeprowadzane\&. Metoda ta idzie krok dalej niż lista skanowania i może być wykorzystywana w podobnym celu\&. Pozwala na przeprowadzenie delikatnego rekonesansu bez zwracania zbytniej uwagi\&. Posiadanie wiedzy na temat ilości aktywnych hostów jest bardziej wartościowe dla atakujących niż sama lista adresów zawierająca adres IP i nazwę hosta\&. +.sp +Również administratorzy systemów często korzystają z tej opcji\&. Pozwala ona na łatwe i szybkie określenie liczby hostów w sieci lub monitorowanie dostępności serwerów\&. Opcja ta często jest nazywna Ping Sweep i daje bardziej wiarygodne wyniki niż pingowanie adresu broadcast, ponieważ niektóre adresy mogą na niego nie odpowiedzieć\&. +.sp +Domyślnie opcja +\fB\-sP\fR +wysyła pakiety ICMP echo request i pakiety TCP na port 80\&. W przypadku wykonywania z konta nie uprzywilejowanego użytkownika wysyłane są pakiety SYN (z wykorzystaniem funkcji systemowej +\fBconnect()\fR) na port 80 badanego hosta\&. Jeśli uprzywilejowany użytkownik próbuje przeskanować adresy w lokalnej sieci ethernet, wykorzystywane są zapytania ARP (\fB\-PR\fR), chyba że dodano opcję +\fB\-\-send\-ip\fR\&. Dla większej wygody opcja +\fB\-sP\fR +może być łączona w dowolny sposób z innymi metodami wykrywania hostów (opcje +\fB\-P*\fR, nie dotyczy +\fB\-P0\fR)\&. Jeśli wybrano któryś z typów testów i numer portu, nie są wykorzystywne domyślne ustawienia (ACK i echo request)\&. Wykorzystywanie tych opcji jest szczególnie zalecane, jeśli pomiędzy badanym systemem, a hostem na którym jest uruchomiony Nmap jest system zaporowy, inaczej niektóre (lub wszystkie) hosty nie zostaną wykryte\&. +.RE +.PP +\fB\-P0\fR (Bez pinga) +.RS 4 +Ta opcja wyłącza całkowicie wykrywanie hostów\&. Normalnie Nmap próbuje wykryć aktywne adresy przed rozpoczęciem właściwego skanowania\&. Domyślnie Nmap przeprowadza tylko testy takie jak skanowanie portów, wykrywanie wersji i systemu operacyjnego tylko dla hostów, które zostały wcześniej wykryte jako aktywne\&. Wyłączenie wykrywania hostów za pomocą opcji +\fB\-P0\fR +powoduje, że Nmap próbuje wykonać wszystkie żadane typy skanowania na +\fIkażdym\fR +podanym adresie IP\&. Jeśli więc jako cel w linii pleceń podano klasę B (/16), wszystkie 65,536 adresów zostanie przeskanowane\&. Drugi znak w opcji +\fB\-P0\fR +jest zerem, a nie literą O\&. Wykrywanie hostów jest pomijane jak przy wyświetlaniu listy skanowania, jednak zamiast zatrzymać się i wyświetlić listę, Nmap kontynuuje i przeprowadza założone testy na każym adresie IP, tak jak by był wykryty jako aktywny\&. +.RE +.PP +\fB\-PS [listaportów]\fR (TCP SYN Ping) +.RS 4 +Opcja ta powoduje wysyłanie pustych pakietów TCP z ustawioną flagą SYN\&. Domyślnie port docelowy to 80 (konfigurowalne przed kompilacją za pomocą stałej DEFAULT_TCP_PROBE_PORT w pliku +nmap\&.h), ale inny port może być podany jako parametr\&. Możliwe jest również podanie listy portów, odzielonych przecinkami (np\&. +\fB\-PS22,23,25,80,113,1050,35000\fR), co spowoduje przeprowadzenie testów na wszystkich podanych portach równolegle\&. +.sp +Ustawiona flaga SYN sugeruje badanemu systemowi, że próbujesz nawiązać z nim połączenie\&. Normalnie zdalny port będzie zamknięty i zostanie wysłany z powrotem pakiet z flagą RST (reset)\&. Jeśli port będzie otwarty, host będzie próbował wykonać drugi krok z trójstopniowego procesu nawiązywania połączenia odpowiadając za pomocą pakietu TCP SYN/ACK\&. Nmap zamiast wysłać pakiet ACK, który by pomyślnie zakończył nawiązywanie połączenia, w tym momencie przerwie połączenie wysyłając pakiet RST\&. Pakiet RST jest wysyłany przez kernel systemu na którym pracuje Nmap automatycznie, w odpowiedzi na niespodziwany pakiet SYN/ACK, a nie przez samego Nmapa\&. +.sp +Nmap nie zwraca uwagi czy port jest otwarty czy zamknięty\&. W zależności od uzyskanej omówionej wcześniej odpowiedzi (RST lub SYN/ACK) host jest uznawany za dostępny\&. +.sp +W systemach UNIX, tylko użytkownik uprzywilejowany \- +root +\- może wysyłać niskopoziomowe pakiety raw TCP\&. W przypadku użytkowników nie posiadających odpowiednich uprawnień wykorzystywane jest obejście w postaci wykorzystania funkcji systemowej connect() do wykonania połączeń ze wskazanymi portami\&. Jeśli connect() zwróci poprawność wykonania operacji lub błąd odmowy połączenia ECONNREFUSED, stos TCP musiał otrzymać pakiet z flagami SYN/ACK lub RST i host jest uznawany za dostępny\&. Jeśli próba nawiązania połączenia została przerwana po przekroczeniu maksymalnego czasu oczekiwania, host jest oznaczany jako niedostępny\&. To obejście jest również wykorzystywane dla protokołu IPv6, ponieważ wysyłanie niskopoziomowych pakietów raw TCP nie jest jeszcze dostępne w Nmapie\&. +.RE +.PP +\fB\-PA [lista portów]\fR (TCP ACK Ping) +.RS 4 +Metoda TCP ACK ping jest dosyć podobna do powyżej opisanego SYN ping\&. Różnica, jak łatwo zgadnąć, polega na wykorzystaniu flagi ACK zamiast SYN\&. Flaga ACK jest wykorzystywana do potwierdzania otrzymania danych za pomocą utworzonego wcześniej połączenia TCP, jednak w tym wypadku połączenie takie nie istnieje\&. Z tego powodu badany system powinien zawsze odpowiedzieć pakietem z flagą RST, świadczącą o nie isnieniu takiego połączenia\&. +.sp +Opcja +\fB\-PA\fR, tak jak SYN, używa portu numer 80 i również może przyjmować listę portów jako argument (w takim samym formacie)\&. Jeśli program został uruchomiony przez nie uprzywilejowanego użytkownika lub badany jest adres IPv6, wykorzystywane jest opisane wcześniej obejście za pomocą connect()\&. Obejście to nie jest idealne, ponieważ funkcja connect() wysyła pakiet SYN zamiast oczekiwanego ACK\&. +.sp +Powodem udostępniania zarówno metody SYN jak i ACK jest zwiększenie szansy na ominięcie systemu zaporowego\&. Wielu administratorów konfiguruje routery i proste systemy zaporowe tak, żeby blokowały przychodzące pakiety SYN, poza przychodzącymi do publicznych serwerów takich jak WWW czy pocztowych\&. Zabezpiecza to przed przychodzeniem innych połączeń przy jednoczesnym nie zakłucaniu pozostałej transmisji wychodzącej do Internetu\&. Takie bezstanowe (non\-stateful) rozwiązanie zajmuje mało zasobów systemu zaporowego/routera i jest szeroko wspierane przez filtry sprzętowe i programowe\&. Linuxowy firewall Netfilter/iptables dla wygody posiada opcję +\fB\-\-syn\fR, która implementuje takie właśnie bezstanowe filtrowanie\&. W przypadku takiego systemu zaporowego testy wykorzystujące metodę SYN ping (\fB\-PS\fR) zostaną prawdopodobnie zablokowane w przypadku zamkniętych portów\&. W tym przypadku metoda ACK pozwoli na obejście tych zabezpieczeń\&. +.sp +Innym popularnym typem jest firewall wykorzystujący stany (stateful) do blokowania niechcianych pakietów\&. Taka funkcjonalność jest najczęściej spotykana w wysokiej klasy systemach zaporowych, które stają się z roku na rok coraz popularniejsze\&. Linuxowy Netfilter/iptables posiada opcję +\fB\-\-state\fR, która kategoryzuje pakiety na podstawie stanu połączenia\&. Metoda SYN prawdopodobnie będzie działała poprawnie dla tego typu systemów, ale już pakiet z ACK zostanie rozpoznany jako nieprawidłowy i zostanie zablokowany\&. Rozwiązaniem tego problemu jest wykorzystywanie jednocześnie obu metod SYN i ACK poprzez podanie parametrów +\fB\-PS\fR +i +\fB\-PA\fR\&. +.RE +.PP +\fB\-PU [listaportów]\fR (UDP Ping) +.RS 4 +Kolejną metodą wykrywania hostów jest UDP ping, który wysyła puste (o ile nie wykorzystano opcji +\fB\-\-data\-length\fR) pakiety UDP na wskazane porty\&. Lista portów jest podawana w takim samym formacie jak dla wcześniej opisanych opcji +\fB\-PS\fR +i +\fB\-PA\fR\&. Jeśli nie podano numerów portów, domyślnie używany jest port 32338\&. Port ten może być zmieniony przed kompilacją poprzez zmianę stałej DEFAULT_UDP_PROBE_PORT w pliku +nmap\&.h\&. Wybór tak mało popularnego portu został podyktowany chęcią uniknięcia wysyłania pakietów do otwartych portów, co w przypadku tego testu nie przyniosło by oczekiwanego efektu\&. +.sp +W przypakdu kiedy port jest zamknięty na badaniej maszynie, w odpowiedzi na pakiet UDP powinien zostać odesłany pakiet ICMP port unreachable oznaczający brak możliwości komunikacji z wybranym portem\&. Po otrzymaniu takiej odpowiedzi Nmap oznacza host jako dostępny\&. Inne typy odpowiedzi ICMP, takie jak host/sieć niedostępna czy przekroczony czas życia TTL oznaczają, że badany host nie jest dostępny, podobnie interpretowany jest brak odpowiedzi\&. Jeśli badany port jest otwarty, większość typowych usług zignoruje pusty pakiet i nie zostanie wysłana żadna informacja zwrotna\&. Właśnie dla tego domyślnie testowanym portem jest 31338, który jest bardzo rzadko wykorzystywany\&. Wiele usług, takich jak chargen, odpowie na pusty pakiet co spowoduje, że Nmap uzna host za dostępny\&. +.sp +Główną zaletą tego typu skanowania jest fakt, że omija systemy zaporowe i filtry skupiające sie tylko na TCP\&. Przykładowo, miałem kiedyś szerokopasmowy router bezprzewodowy Linksys BEFW11S4\&. Zewnętrzny interfejs tego urządzenia filtrował domyślnie wszystkie porty TCP, za to testy UDP zwracały odpowiedzi ICMP port unreachable, co ujawnia istnienie urządzenia\&. +.RE +.PP +\fB\-PE\fR; \fB\-PP\fR; \fB\-PM\fR (Typy ICMP Ping) +.RS 4 +Dodatkowo poza opisanymi wcześniej metodami wykrywania hostów TCP i UDP, Nmap może wysyłać standardowe pakiety ICMP znane z typowego programu +ping\&. Nmap wysyła pakiety ICMP typu 8 (echo request) do badanego hosta i oczekuje typu 0 (echo reply) w odpowiedzi\&. Niestety wiele hostów i systemów zaporowych blokuje tego typu pakiety, zamiast odpowiadać prawidłowo i zgodnie z +\m[blue]\fBRFC 1122\fR\m[]\&\s-2\u[6]\d\s+2\&. Z tego powodu skanowania nieznanych hostów w internecie za pomocą tej metody przeważnie nie są wiarygodne\&. Jednakże administratorzy systemów monitorujący wewnętrzne sieci mogą z powodzeniem efektywnie wykorzystywać tą metodę\&. Takie wykorzystanie zapytań ICMP echo request jest możliwe za pomocą opcji +\fB\-PE\fR\&. +.sp +Zapytanie echo request jest standardowym zapytaniem ICMP ping, jednak Nmap nie poprzestaje na tym\&. Standard ICMP (\m[blue]\fBRFC 792\fR\m[]\&\s-2\u[7]\d\s+2) opisuje także zapytania timestamp request, information request, i address mask request o kodach odpowiednio 13, 15 i 17\&. Podczas kiedy założonym efektem działania tych zapytań jest uzyskanie informacji typu maska sieci czy aktualny czas, mogą być one wykorzystane do wykrywania aktywności hostów\&. System który odpowiada, jest uznawany za aktywny\&. Nmap nie obsługuje zapytań information request, jako że nie są one często spotykane\&. RFC 1122 zaleca, że +„host NIE POWINIEN obsługiwać tych zapytań\(rq\&. Zapytania timestamp i address mask mogą być wysyłane z wykorzystaniem opcji odpowiednio +\fB\-PP\fR +i +\fB\-PM\fR\&. Odpowiedzi timestamp reply (ICMP kod 14) lub address mask reply (kod 18) ujawniają aktywność hosta\&. Te dwa zapytania mogą być pomocne, kiedy administrator specyficznie blokuje zapytania echo request zapominając przy tym blokować inne typy ICMP, które mogą być wykorzystane w tym samym celu\&. +.RE +.PP +\fB\-PR\fR (ARP Ping) +.RS 4 +Jednym z najczęściej spotykanych scenariuszy wykorzystania Nmapa jest skanowanie sieci lokalnej ethernet\&. W większości sieci LAN, w szczególności wykorzystujących adresację prywatną zalecaną przez RFC1918, większość adresów IP nie jest wykorzystywana\&. Kiedy Nmap próbuje wysłać pakiet raw IP taki jak ICMP echo request, by poprawnie zaadresować ramkę ethernet system operacyjny musi określić (ARP) docelowy adres sprzętowy korespondujący z docelowym adresem IP\&. Takie zachowanie jest często powolne i problematyczne, ponieważ systemy operacyjne nie zostały napisane z uwzględnieniem potrzeby wysyłania milionów zapytań ARP o niedostępne hosty w krótkim czasie\&. +.sp +Skanowanie ARP wykorzystuje zoptymalizowany algorytm Nmapa do wysyłania zapytań ARP\&. Po otrzymaniu odpowiedzi Nmap nie musi się nawet martwić o oparte na IP pakiety ping, ponieważ już wie, że host jest aktywny\&. Takie zachowanie pozwala na dużo szybsze i bardziej wiarygodne skanowanie\&. Z tego powodu zachowanie takie jest domyślne podczas skanowania sieci, którą Nmap wykryje jako sieć lokalną należącą do tego samego segmentu\&. Nawet jeśli zostaną podane inne typy skanowania ping (takie jak +\fB\-PE\fR +lub +\fB\-PS\fR), Nmap używa ARP zamiast nich do wykrywaia hostów w lokalnej sieci ethernet\&. Jeśli nie chcesz używać ARP do skanowania, dodaj opcję +\fB\-\-send\-ip\fR\&. +.RE +.PP +\fB\-n\fR (Wyłącz zapytania DNS) +.RS 4 +Nakazuje Nmapowi +\fInigdy\fR +nie używać zapytań odrotnych do serwerów DNS o nazwy przypisane do adresów IP\&. Jako że zapytania DNS są najczęściej długo trwają, opcja ta przyspiesza pracę\&. +.RE +.PP +\fB\-R\fR (Wymuś zapytania DNS) +.RS 4 +Nakazuje Nmapowi +\fIzawsze\fR +wykonywać odwrotne zapytania do serwera DNS o nazwy dla skanowanych adresów IP\&. Domyślnie zapytania są wykonywane tylko dla aktywnych hostów\&. +.RE +.PP +\fB\-\-system\-dns\fR (Używaj systemowego DNS) +.RS 4 +Domyślnie Nmap określa nazwy dla adresów IP poprzez wysyłanie zapytań bezpośrednio do serwerów DNS skonfigurowanych w systemie, o ile są dostępne\&. Wiele zapytań (często dziesiątki) jest wykonywanych równolegle dla uzyskania wiekszej szybkości\&. Dodanie tej opcji wymusza wykorzystywanie rozwiązywania nazw za pośrednictwem systemu operacyjnego (każdorazowo o pojedyncze IP za pomocą funkcji getnameinfo())\&. Ta opcja jest wolniejsza i jest użyteczna tylko w sporadycznych przypadkach, chyba że w Nmapie jest błąd w kodzie DNS \- prosze się z nami skontaktować w tym przypadku\&. W przypadku skanowania sieci IPv6, rozwiązywanie nazw jest zawsze wykonywane z wykorzystaniem systemu operacyjnego\&. +.RE +.PP +\fB\-\-dns\-servers <server1[,server2],\&.\&.\&.> \fR (Serwery do wykonywania zapytań DNS) +.RS 4 +Domyślnie Nmap próbuje odczytać serwery DNS wpisane do pliku resolv\&.conf (UNIX) lub rejestru (Win32)\&. Alternatywnie, możesz użyć tej opcji do podania własnych serwerów\&. Opcja ta nie jest uwzględniana, jeśli użyto również opcji +\fB\-\-system\-dns\fR +lub skanowane są adresy IPv6\&. Używanie wielu serwerów DNS jest często dużo szybsze, niż tylko jednego\&. +.RE +.SH "PODSTAWY SKANOWANIA PORTÓW" +.PP +Przez lata funkcjonalność Nmapa była sukcesywnie powiększana, z początku był tylko efektywnym skanerem portów i to nadal pozostaje jego główną funkcją\&. Prosta komenda +\fBnmap \fR\fB\fItarget\fR\fR +skanuje ponad 1660 portów TCP na wybranym +\fIcelu skanowania\fR\&. Podczas kiedy większość skanerów tradycyjnie zalicza wszystkie porty do kategorii otwarty lub zamknięty, Nmap jest dużo dokładniejszy\&. Rozróżnia sześć możliwych stanów każdego portu: +otwarty, +zamknięty, +filtrowany, +niefiltrowany, +otwarty|filtrowany, or +zamknięty|filtrowany\&. +.PP +Te stany nie są rzeczywistymi stanami portów, opisują jak Nmap je widzi\&. Na przykład, skanowanie Nmapa z wnętrza sieci pokazuje port 135/TCP jako otwarty, podczas kiedy skanowanie przez Internet może określić stan portu jako +filtrowany\&. +.PP +\fBSześć stanów portów Nmapa\fR +.PP +otwarty +.RS 4 +Aplikacja aktywnie akceptuje na tym porcie połączenia TCP lub pakiety UDP\&. Znalezienie takich portów jest głównym celem skanowania\&. Osoby obeznane z bezpieczeństwem wiedzą, że każdy otwarty port to potencjalny cel ataku\&. Atakujący i wykonujący testy penetracyjne chcą wykorzystać luki w oprogramowaniu poprzez otwarte porty, podczas gdy administratorzy starają się zamykać lub chronić je za pomocą systemów zaporowych przed niepożądanymi użytkownikami\&. Otwarte porty są także interesujące przy skanowaniach nie związanych z oceną bezpieczeństwa, ponieważ pokazują usługi dostępne w sieci\&. +.RE +.PP +zamknięty +.RS 4 +Zamknięty port jest dostępny (odbiera i odpowiada na pakiety Nmapa), ale nie ma żadnej aplikacji, która by obsłużyła połaczenie\&. Porty te mogą być pomocne przy sprawdzaniu czy host jest aktywny (wykrywanie hostów lub skanowanie Ping) oraz przy wykrywaniu systemu operacyjnego\&. Ponieważ są dostępne zamknięte porty, warto skanować dalej w poszukiwaniu otwartych\&. Administratorzy mogą chcieć blokować takie porty za pomocą systemów zaporowych, wtedy ich stan zostanie określony jako filtrowany, opisany dalej\&. +.RE +.PP +filtrowany +.RS 4 +Nmap nie może określić czy port jest otwarty z powodu filtrowania komunikacji\&. Filtrowanie może być przeprowadzane na dedykowanym urządzeniu, za pomocą reguł routera lub programowego firewalla na hoście\&. Takie porty są frustrujące dla atakujących, ponieważ dostarczają znikomych ilości informacji\&. Porty czasami odpowiadają komunikatami ICMP takim jak typ 3 kod 13 (destination unreachable: communication administratively prohibited), ale filtry blokują wysyłanie takiego komunikatu bez wysyłania typowej odpowiedzi\&. Takie zachowanie zmusza Nmapa do kilkukrotnego powtarzania pakietów na wypadek ich zaginięcia na przykład na skutek przeciążenia sieci, co spowalnia skanowanie w sposób drastyczny\&. +.RE +.PP +niefiltrowany +.RS 4 +Stan niefiltrowane oznacza że port jest dostępny, ale Nmap nie jest w stanie ustalić czy port jest otwarty czy zamknięty\&. Tylko skanowanie ACK, które jest używane do mapowania reguł firewalla, może przypisać portom taki stan\&. Skanowanie niefiltrowanych portów za pomocą innych typów skanowania takich jak Window, SYN czy FIN może pomóc określić czy port jest otwarty czy zamknięty\&. +.RE +.PP +otwarty|filtrowany +.RS 4 +Nmap podaje taki stan w przypadku portów, dla których nie jest w stanie określić czy port jest otwarty, czy filtrowany\&. Taki zachowanie występuje podczas typów skanowania, przy których porty nie dają odpowiedzi\&. Brak odpowiedzi może również oznaczać, że filtr pakietów zablokował połączenie lub wysyłaną odpowiedź\&. Z tego powodu Nmap nie ma pewności czy port jest otwarty, czy filtrowany\&. W ten sposób klasyfikują porty skanowania UDP, FIN, Null, Xmas i skanowanie protokołów\&. +.RE +.PP +zamknięty|filtrowany +.RS 4 +Ten stan jest używany przez Nmapa do oznaczania portów, dla których nie jest możliwe ustalenie czy port jest zamknięty czy filtrowany\&. Taki stan może się pojawiać tylko podczas skanowania IPID Idle\&. +.RE +.SH "TECHNIKI SKANOWANIA PORTÓW" +.PP +Jako początkujący mechanik samochodowy, mogłem godzinami męczyć się z wykonaniem naprawy posiadanymi narzędziami (młotek, taśma izolacyjna, klucz francuski itp\&.)\&. Kiedy popadłem w depresję i w końcu zaprowadziłem mojego gruchota do prawdziwego mechanika, pogrzebał w przepastnej skrzyni z narzędziami i wyciągnął specjalne narzędzie, którym wykonał naprawę błyskawicznie i bez kłopotów\&. Sztuka skanowania polega dokładnie na tym samym\&. Eksperci znają dziesiątki typów skanowania i wybierają jedną adekwatną (lub kombinację kilku) do danego zadania\&. Z drugiej strony niedoświadczeni użytkownicy i script kiddies próbują rozwiązać każdy problem za pomocą domyślnego skanowania SYN\&. Nmap jest darmowy i dostępny dla wszyskich, w związku z tym jedyną barierą jest odpowiednia wiedza\&. To oczywiście bije na głowę świat motoryzacyjny, gdzie trzeba posiadać duże umiejętności, żeby domyślić się, że potrzebne jest bardzo specyficzne narzędzie, ale wtedy potrzeba jeszcze dużo pieniędzy na jego zakup\&. +.PP +Większość typów skanowania jest dostępna tylko dla uprzywilejowanych użytkowników, ponieważ tylko oni mogą wysyłać pakiety raw\&. Takim użytkownikiem w przypadku systemów UNIX jest root\&. Używanie konta administratora w systemach Windows jest zalecane, jednak Nmap przeważnie działa poprawnie z konta zwykłego użytkownika przy zainstalowanej w systemie bibliotece WinPcap\&. Wymóg posiadania uprawnień użytkownika root był poważnym ograniczeniem kiedy pojawił się Nmap w 1997 roku, jako że użytkownicy posiadali dostęp głównie tylko do współdzielonych kont\&. Świat się zmienił\&. Komputery są tańsze, coraz więcej ludzi ma bezpośredni dostęp do Internetu i coraz powszechniejsze stają się komputery z systemami UNIX (włączając Linuxa i MAC OS X)\&. Dostępna jest również Windowsowa wersja Nmapa, co powiększa możliwości jego wykorzystywania\&. Z tych powodów coraz rzadziej zachodzi potrzeba uruchamiania Nmapa z ograniczonych współdzielonych kont\&. Na szczęście większe przywileje użytkowników przekładają się na większą elastyczność i możliwości Nmapa\&. +.PP +Nmap stara się podawać jak najbardziej dokładne wyniki, jednak trzeba mieć na uwadze fakt, że wyniki są oparte na pakietach zwracanych przez badane systemy (lub firewalle je ochraniające)\&. Dlatego też zwracane informacje nie muszą być wiarygodne i mogą wprowadzać Nmapa w błąd\&. Bardzo powszechne są hosty nie zachowujące się zgodnie z RFC w odpowiedzi na zapytania Nmapa\&. Rozwiązaniem są skanowania FIN, Null czy Xmas\&. Tego typu problemy zostały opisane oddzielnie w częściach poświęconych poszczególnym typom skanowania\&. +.PP +Ta sekcja opisuje dziesiątki typów skanowania dostępnych w Nmapie\&. Jednocześnie może być wykorzystywana tylko jedna metoda, za wyjątkiem skanowania UDP (\fB\-sU\fR), które może być łączone z dowolnymi typami skanowania TCP\&. Dla łatwiejszego zapamiętania, opcje skanowania portów posiadają nazwy w formie +\fB\-s\fR\fB\fIC\fR\fR, gdzie +\fIC\fR +jest przeważnie pierwszą dużą literą angielskiej nazwy typu skanowania\&. Wyjątkiem jest przestarzała opcja skanowania FTP bouce (\fB\-b\fR)\&. Domyślnie Nmap wykonuje skanowanie SYN, które jest zastępowane connect(), jeśli użytkownik nie ma odpowiednich uprawnień do wysyłania pakietów raw (co wymaga konta root w systemach UNIX) lub w przypadku skanowania sieci IPv6\&. Z pośród przedstawionych poniżej typów skanowania użytkownicy nie uprzywilejowani mogą jedynie używać typów connect() i FTP bounce\&. +.PP +\fB\-sS\fR (Skanowanie TCP SYN) +.RS 4 +Skanowanie SYN jest domyślną i najpopularniejszą metodą skanowania\&. Jest to spowodowane tym, że może być przeprowadzone szybko, możliwe jest skanowanie tysięcy portów na sekundę w szybkich sieciach nie chronionych systemami zaporowymi\&. Skanowanie SYN jest relatywnie dyskretne i niewidoczne, ponieważ nigdy nie otwiera połączeń do końca\&. Działa to dobrze w stosunku do wszystkich stosów zgodnych z TCP, w przeciwieństwie do udziwnionych, dla których Nmap ma tryby FIN/Null/Xmas, Maimon i Idle\&. SYN pozwala na przejrzyste i wiarygodne rozróżnienie stanów portu pomiędzy +otwartym, +zamkniętym +i +filtrowanym\&. +.sp +Technika ta jest często określana jako skanowanie z połowicznym otwieraniem połączeń (ang\&. half\-open), ponieważ nie otwiera pełnego połączenia TCP\&. Wysyłany jest pakiet SYN, tak jak by miało być otwarte prawdziwe połączenie i czeka na odpowiedź\&. SYN/ACK oaznacza, że port oczekuje na połączenia (jest otwarty), a RST (reset) identyfikuje port jako zamknięty\&. Jeśli odpowiedź nie zostanie otrzymana pomimo kilku prób, port jest oznaczany jako filtrowany\&. Port jest również oznaczany jako filtrowany w przypadku otrzymania komunikatu błędu ICMP unreachable error (typ 3, kody 1, 2, 3, 9, 10 lub 13)\&. +.RE +.PP +\fB\-sT\fR (Skanowanie TCP connect()) +.RS 4 +Skanowanie TCP Connect() jest wybierane domyślne, jeśli SYN nie jest dostęne\&. Ma to miejsce kiedy użytkownik nie posiada uprawnień do wysyłania pakietów raw lub podczas skanowania sieci IPv6\&. Zamiast wysyłać pakiety raw, jak to ma miejsce przy innych typach skanowania, Nmap prosi system operacyjny o zestawienie połączenia z badanym hostem za pomocą wywołania funkcji systemowej +connect()\&. Jest to taki sam wysoki poziom wywołań systemowych, z jakich korzystają przeglądarki internetowe, oprogramowanie Peer2Peer czy inne programy korzystające z połączeń sieciowych\&. Jest to część interfejsu programistycznego znanego jako Berkeley Sockets API\&. Zamiast odczytywać odpowiedzi za pomocą odwołań niskopoziomowych prosto z sieci, Nmap wykorzystuje ten sam wysokopoziomowy interfejs do otrzymania informacji o stanie operacji dla każdej próby połączenia oddzielnie\&. +.sp +Kiedy skanowanie SYN jest dostępne, przeważnie jest lepszym wyborem\&. Nmap ma dużo mniejszą kontrolę nad wywołaniem wysokopoziomowym +connect() +niż nad pakietami raw, co jest dużo mniej efektywne\&. Wywołanie systemowe otwiera pełne połączenie w przeciwieństwie do metody SYN korzystającej z połowicznego połączenia\&. Nie tylko wymaga to więcej czasu i wymaga więcej pakietów do uzyskania takich samych informacji, ale również prawdopodobnie spowoduje zapisanie w logach badanego systemu próby połączenia\&. Nowoczesne systemy detekcji intruzów IDS potrafia wykrywać takie połączenia, ale większość systemów nie posiada odpowiednich systemów alarmowych\&. Wiele usług w typowym systemie UNIX zapisze uwagę do logu systemowego i czasami zagadkowy komunikat błędu, kiedy Nmap połączy się i natychmiast zamknie połączenie bez wysyłania jakichkolwiek danych\&. Naprawdę żałosne usługi przestaną działać po otrzymaniu takiego pakietu, ale nie jest to często spotykane\&. Administrator widzący w logach informacje o wielu próbach nawiązania połączenia z jednego adresu powinien wiedzieć, że jego system był skanowany za pomocą metody connect()\&. +.RE +.PP +\fB\-sU\fR (Skanowanie UDP) +.RS 4 +Większość popularnych usług w sieci Internet wykorzystuje protokół TCP, ale również usługi +\m[blue]\fBUDP\fR\m[]\&\s-2\u[8]\d\s+2 +są często spotykane\&. Najpopularniesze z nich to DNS, SNMP i DHCP (porty 53, 161/162 i 67/68)\&. Ponieważ skanowanie UDP jest ogólnie wolniejsze i trudniejsze niż TCP, wielu audytorów bezpieczeństwa ignoruje te porty\&. Jest to pomyłka, jako że wiele usług UDP jest podatnych na zdalne ataki i atakujący nie ignorują tego protokołu\&. Na szczęście Nmap umożliwia inwentaryzację portów UDP\&. +.sp +Skanowanie UDP jest aktywowane za pomocą opcji +\fB\-sU\fR\&. Może być łączone z innymi typami skanowania TCP, takimi jak SYN (\fB\-sS\fR), dla sprawdzenia obu protokołów w jednym przebiegu\&. +.sp +Skanowanie UDP polega na wysyłaniu pustych (bez danych) nagłówków protokołu UDP do każdego portu docelowego\&. Jeśli w odpowiedzi zostanie zwrócony komunikat ICMP port uchreachable (typ 3, kod 3), port jest uznawany za +zamknięty\&. Inne typy komunikatów ICMP unreachable (typ 3, kody 1, 2, 9, 10 lub 13) oznaczają, że port jest +filtrowany\&. Czasami w odpowiedzi zwrócony zostanie pakiet UDP, co oznacza, że porty jest +otwarty\&. Jeśli pomimo powtarzania transmisji nie zostanie uzyskana żadna odpowiedź, port zostaje zaklasyfikowany jako +otwarty|filtrowany\&. Oznacza to, że port może być otwarty lub filtr pakietów blokuje do niego dostęp\&. Wykorzystanie skanowania wersji usług (\fB\-sV\fR) może pomóc w odróżnieniu portów na prawdę otwartych od filtrowanych\&. +.sp +Największym wyzwaniem przy skanowaniu UDP jest przeprowadzenie go odpowiednio szybko\&. Otwarte i filtrowane porty rzadko wysyłają jakąkolwiek odpowiedź, zmuszając Nmapa do oczekiwania na odpowiedź i ponawiania transmisji na wypadek zagubienia pakietów\&. Zamknięte porty są często jeszcze większym problemem\&. Zwykle wysyłają pakiet ICMP port unreachable, jednak w odróżnieniu od pakietów z flagą RST znanych ze skanowania SYN czy connect, wiele hostów domyślnie limituje szybkość wysyłania pakietów ICMP port unreachable\&. Przykładami mogą być systemy Linux i Solaris\&. Kernel Linuxa w wersji 2\&.4\&.20 limituje ilość pakietów o niedostępności portów do jednego na sekundę (w +net/ipv4/icmp\&.c)\&. +.sp +Nmap potrafi wykrywać limitowanie odpowiedzi i zwalnia odpowiednio proces skanowania dla uniknięcia zaśmiecania sieci niepotrzebnymi pakietami, które i tak nie zostaną wykorzystane\&. Niestety, skanowanie wszystkich 65,536 portów UDP przy limicie Linuxowym jeden pakiet na sekundę powoduje, że skanowanie trwa ponad 18 godzin\&. Sposobami na przyspieszenie są skanowanie wielu hostów równolegle, wykonywanie na początek szybkiego skanowania popularnych portów, skanowanie z poza systemu zaporowego i używanie opcji +\fB\-\-host\-timeout\fR +do pomijania zbyt wolnych hostów\&. +.RE +.PP +\fB\-sN\fR; \fB\-sF\fR; \fB\-sX\fR (Skanowania TCP Null, FIN i Xmas) +.RS 4 +Te typy skanowania (większe możliwości posiada opcja +\fB\-\-scanflags\fR +opisana w dalszej części) wykorzystują nieopisane w +\m[blue]\fBTCP RFC\fR\m[]\&\s-2\u[9]\d\s+2 +kombinacje flag do rozróżnienia pomiędzy stanami portów +otwarty +oraz +zamknięty\&. Strona 65 opisuje, że +„jeśli [docelowy] port jest ZAMKNIĘTY \&.\&.\&. w odpowiedzi na pakiet nie zawierający RST należy wysłać odpowiedź RST\&.\(rq +Następna strona opisuje pakiety wysyłane na porty bez flag SYN, RST lub ACK w następujący sposób: +„coś takiego nie powinno mieć miejsca, jednak jeśli się zdarzy, pomiń taki pakiet\(rq\&. +.sp +Podczas skanowania systemów zgodnych z zapisami w RFC, dowolny pakiet nie zawierający flag SYN, RST lub ACK powinien wywoływać odpowiedź RST w przypadku portu zamkniętego i całkowity brak odpowiedzi w przypadku portu otwartego\&. Tak długo jak żadna z wymienionych flag nie została użyta, wszystkie inne kombinacje flag (FIN, PSH i URG) są prawidłowe\&. Nmap wykorzystuje to do przeprowadzania trzech typów skanowania: +.PP +Skanowanie Null (\fB\-sN\fR) +.RS 4 +Nie ustawia żadnych flag (pole flag w nagłówku tcp zawiera 0)\&. +.RE +.PP +Skanowanie FIN (\fB\-sF\fR) +.RS 4 +Ustawiona flaga FIN\&. +.RE +.PP +Skanowanie Xmas (\fB\-sX\fR) +.RS 4 +Ustawione flagi FIN, PSH i URG, pakiet podświetlony jak choinka\&. +.RE +.sp +Te trzy tryby skanowania są takie same poza ustawionymi flagami w pakietach\&. Jeśli w odpowiedzi zostanie otrzymany pakiet RST, port jest uznawany za +zamknięty, podczas gdy brak odpowiedzi oznacza +otwarty|filtrowany\&. Port uznajemy za +filtrowany, jeśli otrzymany zostanie komunikat ICMP unreachable (typ 3, kod 1, 2, 3, 9, 10 lub 13)\&. +.sp +Główną zaleta tych typów skanowania jest to, że potrafią się one przemykać przez bezstanowe systemy zaporowe i filtrowanie na routerach\&. Inną zaletą jest tylko minimalnie większa wykrywalność niż skanowania SYN\&. Nie można jednak na to liczyć \- większość nowych systemów IDS może zostać skonfigurowana do ich wykrywania\&. Ujemną stroną jest to, że nie wszystkie systemy są zgodne z RFC793\&. Wiele systemów wysyła odpowiedzi RST niezależnie od tego czy port jest otwarty czy nie\&. Powoduje to, że wszystkie porty pojawiają się jako +zamknięty\&. Najczęściej spotykane systemy, które się tak zachowują to Microsoft Windows, wiele urządzeń Cisco, BSDI, i IBM OS/400\&. Skanowania działają jednak dobrze w przypadku większości systemów UNIXowych\&. Kolejnym minusem tych metod jest to, że nie potrafią rozróżnić portów oznaczonych jako +otwarty +od +filtrowany, ujawniając jedynie stan +otwarty|filtrowany\&. +.RE +.PP +\fB\-sA\fR (Skanowanie TCP ACK) +.RS 4 +Ten typ skanowanie jest inny niż omawiane powyżej, bo nigdy nie wykrywa stanów portów +otwarty +(lub nawet +otwarty|filtrowany)\&. Jest wykorzystywany do mapowania reguł filtrowania, do sprawdzania czy fitrowanie jest oparte o stany (stateful) lub nie i które porty są filtrowane\&. +.sp +Pakiety skanowania ACK posiadają tylko flagę ACK (o ile nie została użyta opcja +\fB\-\-scanflags\fR)\&. Podczas skanowania systemów nie posiadających filtrowania, porty o stanach +otwarty +i +zamknięty +zwrócą pakiet RST\&. W obu przypadkach Nmap oznaczy je jako +niefiltrowane, co oznacza, że były osiągalne dla pakietu ACK, ale nie zostało określone, czy posiadają stan +otwarty +czy +zamknięty\&. Porty, które nie odpowiedzą lub odpowiedzą za pomocą komunikatu o błędzie ICMP (typ 3, kody 1, 2, 3, 9, 10 lub 13), zostaną oznaczone jako +filtrowany\&. +.RE +.PP +\fB\-sW\fR (Skanowanie TCP Window) +.RS 4 +Skanowanie Window jest takie samo jak ACK, różnica polega na tym, że potrafi odróżnić porty otwarte od zamkniętych, zamiast zawsze podawać stan +niefiltrowany, kiedy otrzymano flagę RST\&. Jest to realizowane poprzez analizę pola Window pakietu zwrotnego RST\&. Na niektórych systemach, otwarte porty zwracają dodatnią wartość rozmiaru okna (także w pakietach RST), a przy zamkniętych o rozmiarze zero\&. Tak więc zamiast zawsze przedstawiać port jako +niefiltrowany +kiedy w odpowiedzi przyjdzie RST, skanowanie Window oznacza port jako +otwarty +lub +zamknięty, w zależności czy odpowiednio otrzymano w odpowiedzi rozmiar okna o wartości dodatniej lub zero\&. +.sp +Ten typ skanowania polega na szczególnej implementacji stosu TCP, występującej w rzadko spotykanych systemach w internecie, a więc nie można zawsze na niej polegać\&. Zwykle systemy, które nie obsługują tej metody będą zwracały porty oznaczone jako +zamknięty\&. Oczywiście jest również możliwe, że host na prawdę nie ma otwartych portów\&. Jeśli większość przeskanowanych portów ma stan +zamknięty, jednak niektóre (takie jak 22, 25 czy 53) mają stan +filtrowany, system jest podejrzany\&. Czasami systemy potrafią się zachowywać zupełnie przeciwnie\&. Jeśli skanowanie wykaże 1000 otwartych portów i tylko 3 zamknięte lub filtrowane, wtedy te trzy prawdopodobnie są rzeczywiście otwarte\&. +.RE +.PP +\fB\-sM\fR (Skanowanie TCP Maimon) +.RS 4 +Skanowanie Maimon zostało nazwane na cześć jego odkrywcy, Uriela Maimona\&. Opisał tę technikę w Phrack Magazine w wydaniu #49 (Listopad 1996)\&. Nmap, który potrafił wykorzystać tę technikę został wypuszczony dwa wydania później\&. Skanowanie to należy do rodziny Null, FIN i Xmass z tą różnicą, że używa flag FIN/ACK\&. Zgodnie z RFC 793 (TCP), dla takiej kombinacji flag, pakiet RST powinien być wygenerowany niezależnie czy port jest otwarty czy zamknięty\&. Jednakże Uriel zauważył, że wiele systemów opartych na BSD po prostu pomija odpowiedzi, jeśli port jest otwarty\&. +.RE +.PP +\fB\-\-scanflags\fR (Skanowanie TCP z definiowanymi flagami) +.RS 4 +Prawdziwie zaawansowani użytkownicy Nmapa nie mogą być ograniczani ilością oferowanych wbudowanych typów skanowania\&. Opcja +\fB\-\-scanflags\fR +pozwala na projektowanie własnych typów skanowania z wykorzystaniem wybranych flag TCP\&. Cieszcie się podczas wykorzystywania tej techniki do oszukiwania systemów IDS, których twórcy pobieżnie przeglądali dokumentację Nmapa dodając specyficzne reguły! +.sp +Argument opcji +\fB\-\-scanflags\fR +może być numerycznym zapisem flag, np 9 (PSH i FIN), lub dla ułatwienia można wykorzystywać symbliczne nazwy\&. Można podać dowolną kombinację flag +URG, +ACK, +PSH, +RST, +SYN +i +FIN\&. Na przykład +\fB\-\-scanflags URGACKPSHRSTSYNFIN\fR +ustawia wszystkie flagi, choć nie jest to zbyt użyteczna metoda skanowania\&. Kolejność podawania flag nie jest istotna\&. +.sp +Dodatkowo przy podawaniu wybranych flag możliwe jest podanie typu skanowania (takiego jak +\fB\-sA\fR +lub +\fB\-sF\fR)\&. Dodany typ skanowania informuje Nmapa jak ma interpretować otrzymane odpowiedzi\&. Na przykład skanowanie SYN zakłada, że brak odpowiedzi oznacza stan portu +filtrowany, podczas gdy skanowanie FIN potraktuje ten go jako +otwarty|filtrowany\&. Nmap będzie się zachowywał w taki sam sposób jak przy wybranym trybie skanowania, jednak wykorzystane zostaną podane flagi\&. Jeśli bazowy typ skanowania nie zostanie określony, zostanie wykorzystany domyślny typ SYN\&. +.RE +.PP +\fB\-sI <zombie host[:probeport]>\fR (Skanowanie Idle) +.RS 4 +Ta zaawansowana technika skanowania pozwala na prawdziwie ślepe skanowanie TCP (co oznacza, że żaden pakiet nie zostanie wysłany do badanego systemu z prawdziwego adresu IP Nmapa)\&. Zamiast tego wykorzystany zostanie host zombie, o przwidywalnym działaniu stosu TCP polegającym na sekwencyjnym powiększaniu numerów ID pakietów, do uzyskania informacji o otwartych portach w badanym systemie\&. Systemy detekcji intruzów pokażą jako adres atakującego zdefiniowany host zombie (musi spełniać określone warunki)\&. Ten fascynujący typ skanowania jest zbyt skomplikowany żeby go dokładnie opisać w tej dokumentacji, dlatego napisałem oddzielny nieformalny dokument na ten temat ze szczegółowymi informacjami i jest on dostępny pod adresem +\m[blue]\fB\%https://nmap.org/book/idlescan.html\fR\m[]\&. +.sp +Poza tym, że metoda ta jest niespotykanie poufna (z powodu jej ślepej natury), ten typ skanowania pozwala na mapowanie reguł zaufania pomiędzy maszynami bazujących na adresach IP\&. Wyniki zawierają otwarte porty, +\fIz punktu widzenia hosta zombie \fR\&. Tak więc można próbować skanowania z wykorzystaniem różnych hostów zombie, które można traktować jako zaufane (poprzez router/reguły filtrowania pakietów)\&. +.sp +Można po dwukropku dodać numer portu, jeśli chcemy go wykorzystać na hoście zombie do badania zmian IPID\&. W innym przypadku Nmap wykorzysta domyślnie port używany przez tcp ping (80)\&. +.RE +.PP +\fB\-sO\fR (Skanowanie protokołów IP) +.RS 4 +Skanowanie to pozwala na wykrycie listy protokołów IP (TCP, ICMP, IGMP itp), które są dostępne na danym hoście\&. Technicznie nie jest to skanowanie portów, ponieważ sprawdza kolejne numery protokołów, a nie kolejne porty TCP czy UDP\&. Opcja ta nadal używa parametru +\fB\-p\fR +do wybrania numerów protokołów do sprawdzenia, w formacie analogicznym do listy portów\&. Z tego powodu metoda ta została zaklasyfikowana jako skanowanie portów i dlatego znajduje się tutaj\&. +.sp +Poza swoją własną funkcjonalnością, skanowanie protokołów demonstruje potęgę oprogramowania open source\&. Podczas gdy podstawowa idea jest całkiem prosta, nie pomyślałem o jej dodaniu, jak również nie otrzymałem żadnej prośby o dodanie takiej funkcjonalności\&. Latem roku 2000, Gerhard Rieger opracował koncepcję, stworzył odpowiednią poprawkę i wysłał ją na listę dyskusyjną nmap\-hackers\&. Włączyłem ją do drzewa Nmapa i wypuściłem nową wersję następnego dnia\&. Niewiele komercyjnych programów posiada użytkowników na tyle entuzjastycznych, żeby zaprojektować i stworzyć ich własne poprawki! +.sp +Skanowanie protokołów działa w sposób podobny do skanowania UDP, jednak zamiast iteracji po kolejnych numerach portu, w nagłówkach pakietów zmienia się 8\-mio bitowy numer protokołu\&. Nagłówki są przeważnie puste, nie zawierają żadnych danych ani nawet poprawnego dla danego protokołu nagłówka\&. Trzema wyjątkami są TCP, UDP i ICMP\&. Poprawne nagłówki dla tych protokołów są konieczne, ponieważ niektóre systemy nie będą ich potrafiły wysłać oraz dlatego, że Nmap posiada już odpowiednie funkcje do ich tworzenia\&. Zamiast obserwować komunikaty ICMP unreachable, skanowanie protokołów nie polega na komunikatach ICMP +\fIprotocol\fR +unreachable\&. Jeśli Nmap otrzyma jakąkolwiek odpowiedź w jakimkolwiek protokole, ustala stan protokołu jako +otwarty\&. Otrzymanie komunikatu ICMP protocol unreachable (typ 3, kod 2) powoduje oznaczenie protokołu jako +zamknięty\&. Inne komuniakty ICMP protocol unreachable (typ 3, kody 1, 3, 9, 10 lub 13) powodują oznaczenie protokołu jako +filtrowany +(oraz równocześnie potwierdzają, że protokół ICMP jest również +otwarty)\&. Jeśli nie uzyskano odpowiedzi, protokół jest oznaczany jako +otwarty|filtrowany\&. +.RE +.PP +\fB\-b <pośredniczący host ftp>\fR (Skanowanie FTP bounce) +.RS 4 +Interesującą funkcją protokołu FTP (\m[blue]\fBRFC 959\fR\m[]\&\s-2\u[10]\d\s+2) jest wspieranie tak zwanych połączeń proxy\&. Pozwala to użytkownikowi na połączenie z jednym serwerem FTP i poproszenie o wysłanie plików do innego\&. Ta funkcjonalność była przyczyną nadużyć na wielu poziomach, dlatego wiele serwerów porzuciło dla niej wsparcie\&. Jednym z możliwych nadużyć jest sposobność do zmuszenia serwera do skanowania portów na zewnętrznym hoście\&. Wystarczy po prostu poprosić serwer o wysłanie pliku kolejno na każdy interesujący port badanego systemu\&. Uzyskany komunikat o błędzie zwróci informację, czy porty był otwarty czy zamknięty\&. Jest to dobra metoda do omijania systemów zaporowych, ponieważ korporacyjne serwery FTP często są umieszczane w takim miejscu, że mają możliwość komunikacji zarówno z hostami w internecie jak i w sieci lokalnej\&. Nmap obsługuje skanowanie FTP bounce z wykorzystaniem opcji +\fB\-b\fR\&. Opcja przyjmuje argument w postaci +\fInazwa_użytkownika\fR:\fIhasło\fR@\fIserwer\fR:\fIport\fR\&. +\fISerwer\fR +jest nazwą lub adresem IP podatnego serwera FTP\&. Tak jak przy zwykłym adresie URL, można pominąć pola +\fInazwa_użytkownika\fR:\fIhasło\fR, w tym przypadku zostanie wykorzystana domyślna kombinacja dla użytkowników anonimowych (użytkownik +anonymous +hasło:\-wwwuser@)\&. Numer portu (i poprzedzający go dwukropek) również może zostać pominięty, w tym przypadku przy połączeniu z wybranym adresem +\fIserwer\fR, zostanie wykorzystany domyślny port serwera FTP (21)\&. +.sp +Podatność ta była szeroko spotykana w roku 1997, kiedy to Nmap został wypuszczony, jednak z biegiem czasu jej znaczenie bardzo się zmniejszyło\&. Dziurawe serwery FTP nadal się zdarzają, więc warto wyprubować i tę metodę, jeśli inne zawiodą\&. Jeśli potrzebne jest obejście systemu zaporowego, można przeskanować sieć w poszukiwaniu otwartych portów 21 (lub poprzez wyszukanie ftp na innych portach z wykorzystaniem opcji do wykrywania wersji) i wypróbować na wykrytych portach metodę bounce\&. Nmap poinformuje, czy usługa jest podatna czy nie\&. Jeśli chcesz ukrywać swoje działania, nie trzeba (i nie powinno) ograniczać się do hostów z badanej sieci\&. Przed rozpoczęciem skanowania losowych adresów w sieci Internet w poszukiwaniu podatnych wersji serwerów FTP trzeba mieć na uwadze, że wielu administratorów nie bedzie zachwyconych wykorzystywaniem ich serwerów w ten sposób\&. +.RE +.SH "SPECYFIKACJA PORTÓW I KOLEJNOŚCI SKANOWANIA" +.PP +Poza wszystkimi metodami skanowania opisanymi wcześniej, Nmap oferuje opcję pozwalającą na podanie numerów portów do skanowania i określenie, czy skanowanie ma przebiegać w kolejności sekwencyjnej czy losowej\&. Domyślnie Nmap skanuje wszystkie porty do 1024 włącznie oraz wyższe porty wyszczególnione w pliku +nmap\-services\&. +.PP +\fB\-p <zakres portów>\fR (Skanuj tylko wybrane porty) +.RS 4 +Opcja pozwala na zdefiniowanie listy portów do skanowania, zamiast domyślnej\&. Możliwe jest podanie pojedynczych portów jak i zakresów oddzielonych myślnikiem (np\&. 1\-1023)\&. Zakres można również pominąć, co spowoduje użycie całego zakresu (1\-65535)\&. Można więc po prostu podać opcję +\fB\-p\-\fR +do przeskanowania wszystkich portów od 1 do 65535 włącznie\&. Można również podać port zero, ale trzeba to zrobic jawnie\&. W przypadku połączenia tej opcji ze skanowaniem protokołów (\fB\-sO\fR), określa ona numery protokołów do sprawdzenia (0\-255)\&. +.sp +Przy jednoczesnym skanowaniu portów TCP i UDP możliwe jest oddzielne zdefiniowanie portów dla obu protokołów poprzez poprzedzenie numerów znakami odpowiednio +T: +i +U:\&. Jako argument opcji przyjmowany jest ciąg znaków aż do następnej opcji\&. Na przykład, podanie +\fB\-p U:53,111,137,T:21\-25,80,139,8080\fR +spowoduje przeskanowanie portów UDP o numerach 53,111 i 137 oraz podanych portów TCP\&. Przy skanowaniu zarówno portów TCP jak i UDP, nie można zapomnieć podać odpowiednich typów skanowania: +\fB\-sU\fR +oraz przynajmniej jednego TCP (np\&. +\fB\-sS\fR, +\fB\-sF\fR +czy +\fB\-sT\fR)\&. Jeśli nie podano protokołu skanowania, na czas skanowania numery portów zostaną dodane do domyślnej listy portów\&. +.RE +.PP +\fB\-F\fR (Skanowanie Fast (ograniczona ilość portów)) +.RS 4 +Pozwala na określenie, że mają być skanowane tylko porty zawarte w pliku +nmap\-services +z pakietu Nmapa (lub z pliku protokołów dla opcji +\fB\-sO\fR)\&. Opcja ta pozwala na szybsze skanowanie, niż w przypadku wszystkich 65535 portów\&. Ponieważ lista ta zawiera tylko nieco ponad 1200 portów, różnica w szybkości w porównaniu do typowego skanowania TCP (około 1650 portów) nie jest duża\&. Różnica może być większa, jeśli zostanie podany własny, mały plik +nmap\-services +za pomocą opcji +\fB\-\-datadir\fR\&. +.RE +.PP +\fB\-r\fR (Nie używaj losowej kolejności) +.RS 4 +Domyślnie Nmap skanuje porty w kolejności losowej (poza niektórymi najczęściej wykorzystywanymi portami, które są skanowane na początku ze względów wydajnościowych)\&. Takie zachowanie jest normalnie pożądane, jednak można je wyłączyć za pomocą opcji +\fB\-r\fR, wymuszającej sekwencyjną kolejność skanowania\&. +.RE +.SH "DETEKCJA USŁUG I WERSJI" +.PP +Przy skanowaniu zdalnego systemu, Nmap może wykryć otwarte porty takie jak 25/tcp, 80/tcp czy 53/udp\&. Wykorzystując bazę danych zawierającą około 2,200 popularnych usług, znajdującą się w pliku +nmap\-services, Nmap odczyta przypuszczalne nazwy usług dla wykrytych portów \- odpowiednio serwer pocztowy (SMTP), serwer WWW (HTTP) i serwer nazw (DNS)\&. Takie działanie jest zwykle poprawne, większość aplikacji słuchających na porcie 25, to rzeczywiście serwery pocztowe\&. Jednakże, niech Twoja ocena bezpieczeństwa niepolega na tych podpowiedziach! Ludzie mogą i często umieszczają usługi na dziwnych portach\&. +.PP +Nawet jeśli Nmap sie nie myli i hipotetyczny serwer z przykładu powyżej udostępnia usługi SMTP, HTTP i DNS, nie jest to duża ilość informacji na temat tych usług\&. Przeprowadzając testy bezpieczeństwa (lub zwykłą inwentaryzację zasobów) swojej firmy lub klienta, potrzeba uzyskać dokładniejsze informacje na temat usług: jaka aplikacja i w jakiej wersji jest zainstalowana na serwerze SMTP czy DNS\&. Posiadanie tych informacji w znaczący sposób wpływa na możliwość ustalenia podatności danej aplikacji\&. Detekcja wersji pozwala na uzyskanie takiej informacji\&. +.PP +Po tym jak zostaną wykryte za pomocą innych technik skanowania dostępne usługi TCP i UDP, detekcja wersji odpytuje porty w celu określenia dalszych szczegółów na temat aplikacji\&. Baza danych +nmap\-service\-probes +zawiera opisy wielu usług i próbuje dopasować je do uzyskanych informacji\&. Nmap stara się najpierw określić protokół wykorzystywany przez usługę (np\&. ftp, ssh, telnet, http), następnie nazwę aplikacji (np\&. ISC Bind, Apache httpd, Solaris telnetd), wersję usługi, nazwę hosta, typ urządzenia (np\&. drukarka, router), rodzinę systemów operacyjnych (np\&. Windows, Linux) i czasami uzyskuje dodatkowe informacje (takie jak czy X serwer przyjmuje połączenia, obsługiwane wersje protokołu SSH czy nazwę użytkownika KaZaA)\&. Oczywiście większość usług nie dostarczy wszystkich tych informacji\&. Jeśli Nmap został skompilowany z OpenSSL, będzie potrafił łączyć się z serwerami SSL i uzyskiwać informacje od usług ukrytych za szyfrowaną warstwą\&. Kiedy zostaną wykryte usługi RPC, odpowiedni skaner (\fB\-sR\fR) zostanie automatycznie uruchomiony do ustalenia oprogramowania i wersji RPC\&. Z powodu specyfiki UDP, po zakończeniu skanowania niektóre porty pozostają w stanie +otwarty|filtrowany, jako że ten typ skanowania nie potrafi określić, czy port jest otwarty czy filtrowany\&. Skanowanie wersji spróbuje uzyskać odpowiedź od takiego portu (tak jak to robi przy otwartych portach) i jeśli to się uda, zmieni stan na otwarty\&. Porty TCP w stanie +otwarty|filtrowany +są traktowane w ten sam sposób\&. Należy zwrócić uwagę, że opcja +\fB\-A\fR +poza innymi rzeczami włącza wykrywanie wersji\&. Dodatkowa dokumentacja na temat działania detekcji wersji jest dostępna pod adresem +\m[blue]\fB\%https://nmap.org/vscan/\fR\m[]\&. +.PP +Jeśli Nmap otrzyma odpowiedź, ale nie jest w stanie dopasować jej do żadnej znanej usługi, wyświetli specjalny odcisk palca (fingerprint) usługi wraz z adresem URL, pod którym można go następnie wysłać wraz ze stosownym opisem, jeśli jesteśmy pewni jakiej usłudze odpowiada\&. Proszę poświęcić te kilka minut na wysłanie informacji o nieznanych usługach, a będą mogli z tego skorzystać również inni użytkownicy Nmapa\&. Dzięki temu sposobowi wysyłania Nmap rozpoznaje około 3,000 odcisków dla ponad 350 protokołów usług, takich jak smtp, ftp, http itp\&. +.PP +Detekcja wersji jest włączana i kontrolowana następującymi opcjami: +.PP +\fB\-sV\fR (Detekcja wersji usług) +.RS 4 +Włącza detekcję wersji usług, opisaną powyżej\&. Alternatywnie można użyć opcji +\fB\-A\fR +do jednoczesnego włączenia detekcji wersji usług i systemu operacyjnego\&. +.RE +.PP +\fB\-\-allports\fR (Nie pomijaj żadnych portów przy detekcji wersji) +.RS 4 +Domyslnie, skanowanie wersji Nmapa pomija port TCP 9100, ponieważ niektóre drukarki po prostu drukują wszystko, co zostanie przysłane na ten port, powodując wydruk setek stron z zapytaniami HTTP, binarnymi zapytaniami SSL itp\&. Takie zachowanie może zostać wyłączone poprzez modyfikację lub usunięcie dyrektywy +Exclude +w pliku +nmap\-service\-probes, lub poprzez dodanie opcji +\fB\-\-allports\fR, wymuszającej skanowanie wszystkich portów niezależnie od dyrektywy +Exclude\&. +.RE +.PP +\fB\-\-version\-intensity <poziom>\fR (Ustaw poziom skanowania wersji) +.RS 4 +Podczas przeprowadzania skanowania wersji (\fB\-sV\fR), Nmap przeprowadza serię testów, przy czym każdy z nich ma przypisany swój poziom pomiędzy 1 a 9\&. Niskie poziomy działają poprawnie w stosunku do najpopularniejszych usług, wysokie numery obejmują mało popularne\&. Poziom skanowania określa które testy zostaną wykonane\&. Czym wyższy poziom, tym większa szansa na prawidłowe rozpoznanie mało popularnych usług\&. Domyśly poziom to 7\&. Jeśli test zostanie powiązany z wykrytą usługą z pliku +nmap\-service\-probes, określoną dyrektywą +ports, zostanie on wykonany niezależnie od ustalonego poziomu wykrywania wersji\&. Zachowanie takie ma na celu zawsze poprawne wykrywanie domyślnych usług na otwartych portach, wykrywanie serwera DNS na porcie 53, SSL na porcie 443 itp\&. +.RE +.PP +\fB\-\-version\-light\fR (Włącz tryb delikatny) +.RS 4 +Jest wygodniejszym odpowiednikiem ustalającym wartość +\fB\-\-version\-intensity 2\fR\&. Opcja ta pozwala na znaczne przyspieszenie wykrywania wersji, kosztem dokładności\&. +.RE +.PP +\fB\-\-version\-all\fR (Użyj wszystkich testów) +.RS 4 +Odpowiednik opcji +\fB\-\-version\-intensity 9\fR, powodujący wykonanie wszystkich możliwych testów na każdym porcie\&. +.RE +.PP +\fB\-\-version\-trace\fR (Śledzenie aktywności skanowania wersji) +.RS 4 +Opcja włącza opcje śledzenia błędów podczas wykrywania wersji, powodując wyświetlanie dodatkowych informacji na temat prowadzonych działań\&. Opcja ta jest częścią większej +\fB\-\-packet\-trace\fR\&. +.RE +.PP +\fB\-sR\fR (Skanowanie RPC) +.RS 4 +Metoda ta działa w połączeniu z różnymi metodami skanowania portów Nmapa\&. Na wszystkie wykryte wcześniej porty są wysyłane komendy NULL SunRPC i za ich pomocą sprawdzane jest, czy dany port należy do usług RPC\&. Jeśli tak, identyfikowana jest aplikacja i jej wersja\&. Opcja pobiera takie same informacje jak komenda +\fBrpcinfo \-p\fR, nawet jeśli host jest chroniony za pomocą systemu zaporowego (lub TCP wrapperów)\&. Hosty pośrednie zombie nie są obsługiwane przy tym trybie skanowania\&. Opcja jest automatycznie aktywowana jako część wykrywania wersji usług (\fB\-sV\fR)\&. Jako że detekcja wersji jest daleko bardziej uniwersalna, opcja +\fB\-sR\fR +jest wykorzystywana sporadycznie\&. +.RE +.SH "WYKRYWANIE SYSTEMU OPERACYJNEGO" +.PP +Jedna z najbardziej znanych możliwości Nmapa jest zdalna detekcja systemu operacyjnego za pomocą odcisków palca (fingerprint) stosu TCP/IP\&. Nmap wysyła serię pakietów TCP i UDP do zdalnego systemu i analizuje praktycznie każdy bit z uzyskanych odpowiedzi\&. Po wykonaniu dziesiątek testów takich jak próbkowanie ISN TCP, analiza opcji protokołu TCP i kolejności, próbkowanie IPID i kontrola początkowych rozmiarów okna, Nmap porównuje uzyskane wyniki z bazą z pliku +nmap\-os\-fingerprints +zawierającą ponad 1500 znanych odcisków systemów operacyjnych i wyświetla wynik, jeśli udało sie go odnaleźć\&. Każdy odcisk zawiera tekstowy opis systemu operacyjnego, nazwę jego producenta (np\&. Sun), nazwę systemu (np\&. Solaris), generację (np\&. 10) i typ urządzenia (przeznaczenie ogólne, router, switch, konsola do gier itp)\&. +.PP +Jeśli Nmap nie może ustalić systemu i warunki do jego wykrycia są wystarczające (np\&. wykryto przynajmniej jeden otwarty i jeden zamknięty port), Nmap poda adres URL, dzięki któremu, jeśli jesteśmy pewni, możliwe jest wysłanie opisu nieznanego systemu, wraz z jego odciskiem\&. Wykonanie tej operacji przyczynia się do rozbudowy bazy i poprawy wykrywania, na czym korzystają wszyscy użytkownicy\&. +.PP +Detekcja systemu operacyjnego pozwala na uzyskanie innych informacji, które są zbierane podczas tego procesu\&. Jedną z nich jest czas od uruchomienia hosta, co jest uzyskiwane poprzez wykorzystanie opcji TCP timestamp (RFC 1323) do ustalenia kiedy host był restartowany\&. Informacja ta jest podawana tylko wtedy, jeśli host jej dostarcza\&. Inną informacją jest klasyfikacja przewidywalności numerów sekwencyjnych TCP\&. Badane jest prawdopodobieństwo możliwości wstrzyknięcia pakietów w przechwycone połączenie\&. Informacja ta jest przydatna w przypadku testowania połączeń opartych na zaufaniu do adresu IP nadawcy (rlogin, filtry firewalla itp) lub podczas ukrywania źródła ataku\&. Ten typ ataków jest obecnie rzadko wykorzystywany, jednak niektóre systemy są nadal na niego podatne\&. Podawany poziom trudności jest oparty na statystycznych próbkach i może się zmieniać\&. Ogólnie lepiej jest używać angielskich określeń dla poszczególnych klas, takich jak +„worthy challenge\(rq +(stanowiący wyzwanie) lub +„trivial joke\(rq +(trywialny dowcip)\&. Taki sposób raportowania jest dostępny tylko przy domyślnym formacie raportu przy włączonej opcji zwiększającej szczegółowość podawanych informacji (\fB\-v\fR)\&. Jeśli użyto opcji +\fB\-v\fR +w połączeniu z +\fB\-O\fR, podane zostaną informacje o generowaniu numerów sekwencyjnych IPID\&. Większość adresów należy do klasy +„incremental\(rq +(rosnące) co oznacza, że wartość pola ID w nagłówkach pakietów IP jest zmieniana rosnąco w kolejnych pakietach\&. Taki sposób powiększania numerów powoduje podatność na szereg ataków\&. +.PP +Dokument opisujący działanie i używanie detekcji wersji jest dostępny w wielu językach pod adresem +\m[blue]\fB\%https://nmap.org/osdetect/\fR\m[]\&. +.PP +Wykrywanie systemu operacyjnego jest włączane i kontrolowane przez poniższe opcje: +.PP +\fB\-O\fR (Włączenie wykrywania systemu operacyjnego) +.RS 4 +Włącza wykrywanie systemu operacyjnego opisanego powyżej\&. Alternatywnie można używać opcji +\fB\-A\fR, która włącza jednocześnie wykrywanie systemu operacyjnego i wersji usług\&. +.RE +.PP +\fB\-\-osscan\-limit\fR (Limitowanie wykrywania do obiecujących celów) +.RS 4 +Wykrywanie systemu operacyjnego jest dużo bardziej efektywne, jeśli wykryto przynajmniej po jednym otwartym i zamkniętym porcie TCP\&. Użycie tej opcji spowoduje, że Nmap nie będzie próbował określać systemu operacyjnego, jeśli nie zostały spełnione powyższe kryteria\&. Wykorzystanie tego ograniczenia pozwala na znaczne skrócenie czasu, zwłaszcza w połączeniu z opcją +\fB\-P0\fR +przy skanowaniu wielu adresów\&. Opcja ma znaczenie tylko w połączeniu z +\fB\-O\fR +lub +\fB\-A\fR\&. +.RE +.PP +\fB\-\-osscan\-guess\fR; \fB\-\-fuzzy\fR (Zgadywanie wersji systemu operacyjnego) +.RS 4 +Jeśli Nmap nie może jednoznacznie dopasować systemu operacyjnego, czasami może sugerować kilka różnych, zbliżonych do siebie\&. Podobieństwo musi być bardzo duże, żeby Nmap zachował się w ten sposób przy domyślnej konfiguracji\&. Wykorzystanie tej opcji pozwala na większą swobodność przy próbach ustalenia wersji systemu\&. +.RE +.SH "ZALEŻNOŚCI CZASOWE I WYDAJNOŚĆ" +.PP +Zawsze najważniejszym priorytetem przy tworzeniu Nmapa była wysoka wydajność\&. Domyślne skanowanie (\fBnmap \fR\fB\fInazwahosta\fR\fR) hosta w sieci lokalnej zajmuje tylko jedną piątą sekundy\&. Jest to zadowalający czas, jednak przy skanowaniu setek tysięcy adresów sumaryczny czas staje się bardzo duży\&. Dodatkowo niektóre typy skanowania, takie jak skanowanie UDP i detekcja wersji także wpływają negatywnie na czas wykonania, podobnie jak konfiguracja systemów zaporowych, na przykład limitująca ilość pakietów\&. Nmap posiada możliwości równoległego skanowania i odpowiednie zaawansowane algorytmy przyspieszające skanowanie, a użytkownik posiada ogromne możliwości wpływania na to jak są one wykorzystywane\&. Zaawansowani użytkownicy uważnie przeglądający komendy Nmapa, nakazują mu dostarczanie tylko istotnych informacji zgodnie z przyjętymi wymaganiami i założeniami czasowymi\&. +.PP +Techniki przyspieszające skanowanie dotyczą ograniczenia wykonywania mało istotnych testów i częstej zmiany wersji Nmapa na najnowszą (zmiany dotyczące przyszpieszenia pracy są wprowadzane dosyć często)\&. Optymalizacja parametrów dotyczących szybkości skanowania również ma duży wpływ i została opisana poniżej\&. +.PP +\fB\-\-min\-hostgroup <ilość_hostów>\fR; \fB\-\-max\-hostgroup <numhosts>\fR (Zmiana ilości hostów w grupie) +.RS 4 +Nmap posiada możliwość skanowania portów i wersji na wielu hostach równocześnie\&. Jest to realizowane poprzez dzielenie listy adresów docelowych na grupy, które są następnie kolejno skanowane\&. Ogólnie skanowanie większych grup jest bardziej efektywne\&. Wadą tego rozwiązania jest opóźnienie w podawaniu wyników testów do czasu przeskanowania całej grupy\&. Przykładowo, jeśli Nmap rozpoczął skanowanie w grupach po 50 adresów, żadne wyniki nie zostaną wyświetlone (poza informacjami podawanymi przez \-v) do czasu zakończenia skanowania pierwszych 50 adresów\&. +.sp +Domyślnie Nmap stosuje rozwiązanie kompromisowe\&. Rozpoczyna z grupą o rozmiarze 5, co pozwala szybko wyświetlić pierwsze wyniki, a następnie stopniowo powiększa rozmiar grupy aż do maksymalnie 1024\&. Dokładne wykorzystywane rozmiary grup są uzależnione od podania dodatkowych opcji\&. Dla uzyskania większej efektywności Nmap używa większych grup dla skanowań UDP oraz przy skanowaniach TCP dotyczących zaledwie kilku portów\&. +.sp +Jeśli maksymalny rozmiar grupy został określony za pomocą opcji +\fB\-\-max\-hostgroup\fR, Nmap nigdy nie przekroczy tego limitu\&. Analogicznie podanie minimalnego rozmiaru za pomocą +\fB\-\-min\-hostgroup\fR +wymusi stosowanie grup o przynajmniej takim rozmiarze\&. Nmap może użyć mniejszej grupy tylko w przypadku, kiedy ilość adresów do przeskanowania jest mniejsza niż założone minimum\&. Obie wymienione opcje pozwalają na utrzymywanie rozmiaru grupy w podanym przedziale, jednak jest to rzadko potrzebne\&. +.sp +Podstawowym zastosowaniem tych opcji jest podawanie dużego minimalnego rozmiaru grupy tak, żeby pełne skanowanie odbywało się szybciej\&. Często stosowaną wartością jest 256, co pozwala na skanowanie w kawałkach o rozmiarze klasy C\&. Przy skanowaniu wielu portów, stosowanie większych wartości minimalnych przeważnie nie poprawi wydajności\&. W przypadku skanowania małych ilości portów pomocne może być stosowanie grup o rozmiarze 2048 lub nawet większym\&. +.RE +.PP +\fB\-\-min\-parallelism <ilość_prób>\fR; \fB\-\-max\-parallelism <ilość_prób>\fR (Kontrola współbierzności testów) +.RS 4 +Opcja ta kontroluje ilość jednoczesnych dla danej grupy adresów testów i jest wykorzystywana podczas wykrywania hostów i skanowania portów\&. Domyślnie Nmap dobiera idealną ilość testów w zależności od parametrów sieci\&. Jeśli jakiś pakiet zostanie zagubiony, zwalnia i zaczyna wykonywać mniejszą ilość testów równolegle\&. Nmap próbuje powoli przyspieszać, jeśli nie są gubione pakiety\&. Podane opcje pozwalają na określenie minimalnego i maksymalnego limitu ilości jednocześnie wykonywanych testów\&. Normalnie ilość ta może spaść do 1 przy złych warunkach sieciowych lub wzrosnąć do kilkuset w idealnych warunkach\&. +.sp +Najczęściej wykorzystywana jest opcja +\fB\-\-min\-parallelism\fR +do ustawiania wyższej niż 1 wartości przy skanowaniu sieci przy złych warunkach\&. Zmiana tej opcji może być ryzykowna, ponieważ ustawienie zbyt wysokiej wartości może sie odbić na poprawności testów\&. Wykorzystanie jej także pociąga za sobą zmniejszenie możliwości Nmapa w zakresie dynamicznego dostosowywania się do warunków panujących w sieci\&. Ustalenie minimalnej ilości na 10 może być sensowne, jednak powinno być stosowane w ostateczności\&. +.sp +Opcja +\fB\-\-max\-parallelism\fR +jest czasami wykorzystywana do zmuszenia Nmapa do nie przeprowadzania więcej niż jednego testu równolegle, co może być użyteczne w połączeniu z opcją\fB\-\-scan\-delay\fR +(opisaną dalej)\&. +.RE +.PP +\fB\-\-min\-rtt\-timeout <czas>\fR, \fB\-\-max\-rtt\-timeout <czas>\fR, \fB\-\-initial\-rtt\-timeout <czas>\fR (Kontrola czasu oczekiwania na wykonanie testu) +.RS 4 +Nmap posiada mechanizm kontrolujący czas oczekiwania na wynik testu, zanim nie zostanie on ponowiony\&. Czas oczekiwania jest zależny od czasu wykonania poprzednich testów\&. Jeśli opóźnienia w sieci okażą sie duże i zmienne, czas oczekiwania może zwiększyć sie do kilku sekund\&. Początkowa wartość jest dosyć konserwatywna (wysoka) i może taka pozostać w przypadku skanowania nie odpowiadających hostów\&. +.sp +Opcje przyjmują wartości w milisekundach, ale można dodać litery +s, +m +lub +h +odnoszące się odpowiednio do sekund, minut i godzin\&. Podanie niższych wartości +\fB\-\-max\-rtt\-timeout\fR +i +\fB\-\-initial\-rtt\-timeout\fR +niż domyślne, może znacząco skrócić czas skanowania\&. Jest to głównie widoczne w przypadku skanowania bez wykorzystywania pinga (\fB\-P0\fR) oraz przy skanowaniu dobrze filtrowanych sieci\&. Nie można również przesadzać w drugą stronę, ustawienie zbyt małego czasu może przekładać sie na dłuższy czas skanowania przez niepotrzebne retransmisje spowodowane upływem czasu oczekiwania na odpowiedź\&. +.sp +Jeśli wszystkie skanowane hosty są w sieci lokalnej, sensownym agresywnym ustawieniem opcje +\fB\-\-max\-rtt\-timeout\fR +jest 100 milisekund\&. Jeśli skanowany ma być inny segment, warto sprawdzić czasy odpowiedzi dla protokołu ICMP \- za pomocą narzędzia ping lub innego pozwalającego na definiowanie pakietów mogących omijać system zaporowy, takiego jak hping2\&. Interesującą nas wielkością jest maksymalny czas odpowiedzi dla 10 lub więcej pakietów\&. Uzyskany czas może zostać po podwojeniu wykorzystany jako wartość dla +\fB\-\-initial\-rtt\-timeout\fR, a po pomnożeniu przez trzy lub cztery dla +\fB\-\-max\-rtt\-timeout\fR\&. Nie jest zalecane ustawianie maksymalnego rtt poniżej 100ms, niezależnie od czasów pingowania, podobnie większego niż 1000ms\&. +.sp +\fB\-\-min\-rtt\-timeout\fR +jest rzadko wykorzystywaną funkcją, która może być przydatna jeśli komunikacja sieciowa jest tak niepewna, że nawet domyślne ustawienia Nmapa są zbyt agresywne\&. Jako że Nmap redukuje czas oczekiwania tylko do momentu w którym sieć zacznie działać poprawnie, potrzeba dodatkowego wydłużania czasu oczekiwania nie jest normalna i powinna zostać zaraportowana jako błąd na liście dyskusyjnej nmap\-dev\&. +.RE +.PP +\fB\-\-max\-retries <ilość>\fR (Maksymalna ilość prób ponawiania skanowania portów) +.RS 4 +Kiedy Nmap nie otrzyma odpowiedzi na skanowanie portu, może to oznaczać, że port ten jest filtrowany\&. Możliwe jest jednak także, że pakiet testu lub odpowiedzi po prostu zaginął w sieci, albo że host limituje ilość możliwych odpowiedzi w jednostce czasu i właśnie tymczasowo je zablokował\&. Większą pewność uzyskuje się dzieki powtarzaniu testu w przedstawionych przypadkach\&. Jeśli Nmap wykryje problemy z komunikacją sieciową, może ponawiać próbę badania portu wiele razy, zanim sie podda\&. Z jednej strony zwiększa to dokładność testów, z drugiej wydłuża czas ich wykonania\&. Jeśli wydajność jest krytycznym aspektem, skanowania mogą zostać przyspieszone poprzez limitowanie dozwolonej ilości retransmisji\&. Ustawienie opcji +\fB\-\-max\-retries 0\fR +, całkowicie wyłączającej powtarzanie testów jest wykorzystywane sporadycznie\&. +.sp +Domyślnie (bez stosowania opcji +\fB\-T\fR) dozwolone jest maksymalnie 10 powtórzeń\&. Jeśli sieć działa prawidłowo i skanowane hosty nie limitują ilości pakietów, Nmap zwykle wykorzystuje jedną retransmisję\&. Dlatego też większość skanowań nie zostanie dotkniętych zmianą wartości +\fB\-\-max\-retries\fR +na trzy\&. Stosowanie tak niskich wartości pozwala na znaczne przyspieszenie skanowania hostów limitujących ilość odpowiedzi\&. Jeśli Nmap będzie zbyt szybko poddawał się przy skanowaniu portów, część informacji nie zostanie zebrana, dlatego być może warto skorzystać z opcji przerywającej test +\fB\-\-host\-timeout\fR, która dotyczy całego hosta, a nie tylko pojedynczych testów\&. +.RE +.PP +\fB\-\-host\-timeout <czas>\fR (Pomijaj powolne hosty) +.RS 4 +Skanowanie niektórych hostów trwa +\fIbardzo długo\fR\&. Może to być spowodowane niezbyt wydajnym sprzętem sieciowym lub oprogramowaniem, limitowaniem ilości pakietów czy restrykcjami systemu zaporowego\&. Niewielki procent hostów może zabrać większość czasu przeznaczonego na skanowanie\&. Czasami najlepszym rozwiązaniem jest ich pominięcie z wykorzystaniem opcji +\fB\-\-host\-timeout\fR +z parametrem oznaczającym ilość milisekund, jakie jesteśmy w stanie poświęcić na czekanie per host\&. Parametr można również podawać w sekundach, minutach lub godzinach dodając odpowiednio litery +s, +m +lub +h\&. Często dodaję +30m +żeby mieć pewność, że Nmap nie będzie skanował jednego hosta dłużej niż pół godziny\&. Trzeba pamiętać, że Nmap może równolegle w tym czasie skanować inne hosty, więc nie bedzie to czas kompletnie stracony\&. Host który przekroczy czas jest pomijany i nie są dla niego wyświetlane wyniki takie jak lista portów, system operacyjny czy wersje usług\&. +.RE +.PP +\fB\-\-scan\-delay <czas>\fR; \fB\-\-max\-scan\-delay <czas>\fR (Ustaw opóźnienie pomiędzy testami) +.RS 4 +Opcja pozwala na narzucenie czasu w milisekundach jaki musi minąć pomiędzy kolejnymi testami dla badanego hosta\&. Podobnie jak przy innych opcjach pozwalających na określanie czasu, można dodać +s, +m +lub +h +do parametru do określenia go odpowiednio w sekundach, minutach lub godzinach\&. Opcja ta jest szczególnie użyteczna w przypadku systemów limitujących ilość pakietów\&. Solaris zwykle odpowiada na skanowanie UDP poprzez wysyłanie tylko jednego pakietu ICMP na sekundę, więc wysyłanie zapytań szybciej jest zupełnie nie potrzebne\&. Wykorzystanie opcji +\fB\-\-scan\-delay 1s\fR +pozwala na wymuszenie odpowiedniej prędkości skanowania\&. Normalnie Nmap stara się wykryć jaka powinna być optymalna prędkość skanowania dla każdego hosta, jednak ręczne dodanie takiej opcji nie zaszkodzi, o ile znana jest optymalna prędkość\&. +.sp +Kiedy Nmap zwiększa czas opóźnienia, dostosowując go do limitu ilości otrzymywanych odpowiedzi, czas skanowania dramatycznie rośnie\&. Opcja +\fB\-\-max\-scan\-delay\fR +pozwala na ustawienie maksymalnego limitu do którego może być automatycznie zwiększane opóźnienie\&. Ustawienie tej wartości zbyt nisko może spowodować niepotrzebne retransmisje i pominięcie niektórych portów w przypadku hostów ściśle limitujących ilość pakietów\&. +.sp +Inną możliwością wykorzystanie opcji +\fB\-\-scan\-delay\fR +jest omijanie systemów detekcji intruzów (IDS/IPS)\&. +.RE +.PP +\fB\-T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane>\fR (Ustawnienie szablonu zależności czasowych skanowania) +.RS 4 +Opisane wcześniej opcje do zmiany zależności czasowych pozwalają na efektywne i precyzyjne sterowanie skanowaniem, jednak wiele osób uzna je za niepotrzebnie skomplikowane\&. Dodatkowo w wielu przypadkach dobranie odpowiedniej kombinacji parametrów może zająć więcej czasu, niż samo skanowanie\&. Z tego powodu Nmap oferuje prostrze rozwiązanie w postaci sześciu szablonów\&. Ich wybór jest możliwy poprzez wykorzystanie opcji +\fB\-T\fR +z parametrem oznaczającym numer lub nazwę szablonu\&. Dostępne szablony to paranoid (0, paranoidalny), sneaky (1, podstępny), polite (2, grzeczny), normal (3, normalny), aggressive (4, agresywny) i insane (5, szalony)\&. Pierwsze dwa wykorzystywane są do omijania systemów IDS\&. Szablon polite spowalnia skanowanie powodując mniejsze obciążenie łącza i zmniejszające wykorzystanie zasobów w badanym systemie\&. Domyślnie używany jest normal, więc podawanie +\fB\-T3\fR +nic nie zmieni\&. Szablon agresywny przyspiesza skanowanie przy założeniu że korzystamy z szybkiej i nie przeciążonej sieci\&. Insane zakłada wykorzystanie ponad przeciętnie szybkiej sieci lub jeśli chcemy uzyskać dużą szybkość kosztem możliwej utraty dokładności\&. +.sp +Szablony pozwalają poinformować Nmapa jak dużej agresywności od niego oczekujemy przy jednoczesnym pozwoleniu mu na automatyczne dobieranie pozostałych parametrów czasowych\&. Wprowadzane też są inne drobne modyfikacje, do których nie istnieją odzielne opcje\&. Na przykład, +\fB\-T4\fR +zabrania wzrostu dynamicznego opóźnienia skanowania powyżej 10ms dla portów TCP, a w przypadku +\fB\-T5\fR +powyżej 5ms\&. Szablony mogą być używane w połączeniu z innymi opcjami do ustawiania zależności czasowych o ile zostaną umieszczone przed pozostałymi opcjami w linii poleceń (inaczej domyślne ustawienia z szablonu zastąpią ustawione innymi opcjami)\&. Większość dzisiejszych sieci może być z powodzeniem skanowana z wykorzystaniem opcji +\fB\-T4\fR\&. +.sp +Jeśli używasz łącza szerokopasmowego lub sieci ethernet, rekomendowane jest stałe używanie szablonu +\fB\-T4\fR\&. Wiele osób lubi +\fB\-T5\fR, lecz jest ono jak dla mnie trochę za agresywne\&. Ludzie czasami używają +\fB\-T2\fR +ponieważ myślą, że zminiejszają szanse na zawieszenie serwera lub uważają się za bardziej kulturalnych z założenia, często nie zdając sobie sprawy z tego, jak wolne jest +\fB\-T Polite\fR +\- ich skanowania może trwać dziesięć razy dłużej\&. Zawieszanie hostów i problemy z pasmem są rzadko spotykane przy domyślym +\fB\-T3\fR, i ta opcja jest polecana dla ostrożnych skanujących\&. Nie włączanie detekcji wersji jest daleko bardziej efektywnym sposobem na unikanie problemów\&. +.sp +Podczas gdy opcje +\fB\-T0\fR +i +\fB\-T1\fR +mogą być użyteczne przy unikaniu wykrycia przez systemy IDS, są niesamowicie powolne przy skanowaniu setek adresów lub portów\&. Przy tak długich skanowaniach możesz raczej chcieć ustawić ręcznie poszczególne zależności czasowe, niż polegać na predefiniowanych wartościach z +\fB\-T0\fR +i +\fB\-T1\fR\&. +.sp +Głównym efektem działania +\fBT0\fR +jest ograniczenie ilości równolegle przeprowadzanych testów do jednego i wprowadzenie odstępu pomiędzy kolejnymi testami o długości 5 minut\&. Opcje +\fBT1\fR +i +\fBT2\fR +są podobne, ale czakają już tylko odpowiednio 15 i 0\&.4 sekundy pomiędzy testami\&. +\fBT3\fR +jest domyślnym ustawieniem Nmapa włączając w to zrównoleglanie testów\&. +\fBT4\fR +jest odpowiednikiem podania opcji +\fB\-\-max\-rtt\-timeout 1250 \-\-initial\-rtt\-timeout 500 \-\-max\-retries 6\fR +i ustawienia maksymalnego opóźnienia przy skanowaniu TCP na 10 milisekund\&. Opcja +\fBT5\fR +jest alternatywą dla +\fB\-\-max\-rtt\-timeout 300 \-\-min\-rtt\-timeout 50 \-\-initial\-rtt\-timeout 250 \-\-max\-retries 2 \-\-host\-timeout 900000\fR +oraz ustawienia maksymalnego czasu opóźnienia dla skanowania TCP na 5ms\&. +.RE +.SH "FIREWALL/IDS I PODSZYWANIE SIĘ" +.PP +Wielu pionierów ineternetu wykorzystywało globalną otwartą sieć opartą o uniwersalną przestrzeń adresową pozwalającą na tworzenie wirtualnych połączeń pomiędzy dwoma dowolnymi węzłami\&. Pozwalało to hostom na równoprawną komunikację przy której każdy mógł serwować i pobierać dane od drugiego\&. Ludzie mogli uzyskać dostęp do wszystkich swoich systemów z dowolnego miejsca w sieci\&. Wizja nieograniczonej łączności została ograniczona przez wyczerpujące się zapasy wolnych adresów IP i względy bezpieczeństwa\&. We wczesnych latach 90\-tych organizacje zaczęły masowo wprowadzać systemy zaporowe dla ograniczenia możliwości komunikacji\&. Duże sieci zostały otoczone kordonem zabezpieczeń w postaci proxy aplikacyjnych, translacji adresów i filtrowania pakietów\&. Niczym nie ograniczany przepływ informacji ustąpił ścisłym regulacjom dotyczącym dozwolonych dróg komunikacji i treści nimi przesyłanych\&. +.PP +Zabezpieczenia sieciowe takie jak systemy zaporowe mogą bardzo utrudnić uzyskiwanie informacji o sieci i jej architekturze\&. Nmap posiada wiele funkcji pozwalających zrozumieć działanie złożonych sieci i na weryfikacje działania filtrów pakietów i ich zgodności z założeniami\&. Pozwala nawet na omijanie źle zaimplementowanych zabezpieczeń\&. Jednym z najlepszych sposobów na poznanie bezpieczeństwa swojej sieci jest próba jego przełamania\&. Zacznij myśleć jak atakujący, który stosuje techniki z tej części dokumentacji przeciwko Twojej sieci\&. Uruchom skanowania FTP bounce, Idle, dodaj fragmentację pakietów lub spróbuj uruchomić tunel omijający lokalne proxy\&. +.PP +W połączeniu z ograniczeniami aktywności sieciowej, firmy coraz częściej rozpoczynają monitorowanie ruchu sieciowego za pomocą systemów detekcji intruzów (IDS)\&. Wszystkie popularne systemy IDS mają dołączone reguły wykrywające skanowania Nmapa, ponieważ skanowania takie czasami poprzedzają ataki\&. Wiele z tych systemów ostatnio przeistoczyło się w systemy +\fIprewencji\fR +(IPS), które aktywnie przeciwstawiają się niepożądanemu ruchowi\&. Niestety, dla administratorów sieci i producentów systemów IDS, wiarygodne wykrywanie złych intencji poprzez analizę pakietów jest ciężkim orzechem do zgryzienia\&. Cierpliwi atakujący, posiadający odpowiednie umiejętności podparte możliwościami Nmapa zwykle mogą ominąć systemy detekcji intruzów i ich działania nie zostaną wykryte\&. W tym samym czasie administratorzy muszą się zmagać z ogromną ilością fałszywych alarmów dotyczących niepoprawnie zaklasyfikowanej zupełnie niewinnej komunikacji\&. +.PP +Co jakiś czas ktoś sugeruje, że Nmap nie powinien oferować możliwości omijania systemów zaporowych czy systemów IDS\&. Argumentują to możliwością wykorzystania tych funkcji także przez atakujących, a nie tylko przez administratorów podnoszących bezpieczeństwo swoich sieci\&. Problemem jest sama logika, ponieważ atakujący i tak będą wykorzystywali tego typu metody używając innych narzędzi lub samemu wprowadzając odpowiednią funkcjonalność do kodu Nmapa\&. Równocześnie administratorzy będą mieli utrudniony dostęp do odpowiednich narzędzi i ich praca będzie trudniejsza\&. Uruchomienie nowoczesnego, bezpiecznego serwera FTP jest dużo skuteczniejszą metodą ochrony niż ograniczanie dostępności do narzędzi pozwalających na przeprowadzanie ataków FTP bounce\&. +.PP +Nie ma magicznej kuli (lub opcji Nmapa) do przełamywania i obchodzenia systemów zaporowych i IDS\&. Wymaga to umiejętności i doświadczenia\&. Dokładne instrukcje wykraczają poza zakres tej dokumentacji, która jest jedynie listą dostępnych opcji wraz z opisami jak one działają\&. +.PP +\fB\-f\fR (fragmentacja pakietów); \fB\-\-mtu\fR (Używanie wybranego MTU) +.RS 4 +Opcja +\fB\-f\fR +powoduje wykorzystywanie przy skanowaniu (włączając w to skanowanie ping) małych pofragmentowanych pakietów\&. Idea polega na podzieleniu nagłówka TCP na wiele pakietów, co powoduje utrudnienia w ich przetwarzaniu przez filtry pakietów, systemy detekcji intruzów oraz irytujące komplikacje przy ustalaniu co się dzieje\&. Ale uwaga! Wiele programów ma problemy przy obsłudze tego typu pakietów\&. Przestarzały sniffer Sniffit wykonuje nieprawidłową operacje i zostaje zamknięty zaraz po odebraniu już pierwszego z takich pakietów\&. Dodanie tej opcji spowoduje automatyczne dzielenie wszystkich pakietów wysyłanych przez Nmapa na mniejsze o rozmiarze maksymalnie 8 bajtów\&. Przykładowo 20 bajtowy nagłówek TCP zostanie podzielony na 3 pakiety: najpierw dwa po 8 bajtów i ostatni 4 bajty\&. Oczywiście każdy fragment dostaje własny nagłówek IP\&. Dodanie drugiej opcji +\fB\-f\fR +powiększa wykorzystywany rozmiar fragmentów z 8 do 16 (redukując ilość fragmentów)\&. Możliwe jest również podanie własnego rozmiaru za pomocą opcji +\fB\-\-mtu\fR\&. Nie używaj parametru +\fB\-f\fR, jeśli używasz +\fB\-\-mtu\fR\&. Podawany rozmiar musi być wielokrotnością 8\&. W niektórych systemach filtry pakietów nie otrzymują bezpośrednio pakietów, tylko są one wstępnie kolejkowane, tak jak w Linuxie przy ustawieniu opcji CONFIG_IP_ALWAYS_DEFRAG w kernelu, jednak w wielu przypadkach takie opcje nie są włączane ze względów wydajnościowych\&. Opcja taka nie jest również włączana jeśli zachodzi możliwość routowania poszczególnych pakietów różnymi ścieżkami\&. Niektóre systemy operacyjne potrafią defragmentować pakiety wysyłane przez kernel, Linux z iptables i modułem śledzenia połączeń jest jednym z przykładów\&. Uruchamiając skanowanie można podsłuchać za pomocą sniffera takiego jak Ethereal, czy wychodzące pakiety są rzeczywiście pofragmentowane\&. Jeśli system powoduje tego typu problemy, można wypróbować opcje +\fB\-\-send\-eth\fR, która pomija stos TCP/IP i wysyła bezpośrenio ramki ethernetowe\&. +.RE +.PP +\fB\-D <decoy1 [,decoy2][,ME],\&.\&.\&.>\fR (Ukrywaj skanowanie za pomocą innych hostów) +.RS 4 +Powoduje skanowanie, wykrywane jako przychodzące z kilku miejsc równocześnie\&. System IDS może wykryć 5\-10 różnych skanowań z różnych adresów, jednak nie będzie w stanie ocenić który z nich jest prawdziwym źródłem pochodzenia, a które tylko niewinnymi zasłonami\&. Chociaż metoda ta może zostać rozpoznana poprzez śledzenie ścieżki pakietów na routerach i innych aktywnych mechanizmów, ogólnie jest efektywną techniką na ukrywanie swojego adresu IP\&. +.sp +Podwając listę poszczególnych hostów\-zasłon, trzeba je oddzielić przecinkami, można również na tej liście umieścic +ME +oznaczające pozycję własnego adresu IP na liście\&. W przypadku wykorzystania przynajmniej 6\-tej pozycji na liście dla własnego IP, wiele popularnych systemów wykrywających skanowania (na przykład scanlogd firmy Solar Designer) nawet nie pokaże prawdziwego źródła pochodzenia pakietów na liście ataków\&. Jeśli +ME +nie zostanie dodane, Nmap umieści je losowo na liście\&. +.sp +Należy zwrócić uwagę, ze hosty\-przykrywki powinny być dostępne, inaczej będzie można łatwo wykryć host skanujący i że można niechcący dokonać ataku SYN flood na hosty skanowane\&. Bezpieczniej jest używać adresów IP zamiast nazw systemów\-przykrywek, bo nie zostawi to informacji w logach ich serwera nazw\&. +.sp +Przykrywki są używane zarówno przy początkowym skanowaniu ping (z wykorzystaniem ICMP, SYN ACK itp), podczas skanowania portów jak i przy wykrywaniu systemu operacyjnego\&. Technika ta nie działa podczas wykrywania wersji i skanowania metodą connect()\&. +.sp +Używanie zbyt wielu adresów hostów\-przykrywek znacznie spowalnia skanowanie i może nawet spowodować zmniejszenie dokładności\&. Dodatkowo niektórzy dostawcy usług odfiltrowują pakiety podszywające się pod adresy z innych sieci, jednak wielu nie robi tego wcale\&. +.RE +.PP +\fB\-S <adres_ip>\fR (Ustawienie adresu nadawcy) +.RS 4 +W niektórych przypadkach Nmap nie potrafi ustalić właściwego adresu nadawcy (i wyświetli stosowny komunikat)\&. W takim przypadku należy za pomocą opcji +\fB\-S\fR +podać adres lokalnego interfejsu przez który mają być wysyłane pakiety\&. +.sp +Inną możliwością tej opcji jest podmiana adresu nadawcy tak, by cel skanowania uważał, że skanuje go +\fIktoś inny\fR\&. Wyobraź sobie, ze firmę nagle zacznie skanować konkurencja! W przypadku takiego użycia, zwykle będzie wymagana opcja +\fB\-e\fR, a zalecana również +\fB\-P0\fR\&. +.RE +.PP +\fB\-e <interfejs>\fR (Użyj wybranego interfejsu) +.RS 4 +Informuje Nmapa przez który interfejs ma wysyłać i odbierać pakiety\&. Nmap powinien wykryć go automatycznie, ale jeśli mu się nie uda, można to zrobić ręcznie\&. +.RE +.PP +\fB\-\-source\-port <numerportu>;\fR \fB\-g <numerportu>\fR (Używaj podanego portu źródłowego) +.RS 4 +Jednym z najczęściej spotykanych problemów konfiguracyjnych jest ufanie danym przychodzącym z określonego portu źródłowego\&. Łatwo jest zrozumieć, czemu tak się dzieje\&. Administrator instaluje nowiusieńki system zaporowy, którego jedyną wadą są zgłoszenia od niepocieszonych użytkowników, którym nagle przestały działać aplikacje\&. Przykładem może być DNS, ponieważ odpowiedzi na zapytania z zewnętrznych serwerów przestały dochodzić do sieci\&. Innym przykładem jest FTP, przy stosowaniu aktywnych połączeń zewnętrzne serwery próbują utworzyć połączenia powrotne do klienta żądającego przesłania pliku\&. +.sp +Bezpieczne rozwiązanie dla tych problemów istnieje, często w formie aplikacyjnych serwerów proxy lub analizy protokołu przez systemy zaporowe\&. Niestety istnieją również inne łatwiejsze, ale i mniej bezpieczne rozwiązania\&. Wielu administratorów wpada w pułapkę zakładając, że dane przychodzące z portu 53 są zawsze odpowiedziami serwera DNS, a z 20 aktywnymi połączeniami FTP i zezwalając na przechodzenie takiego ruchu przez system zaporowy\&. Często zakładają, że żaden atakujący nie spróbuje wykorzystać takiej luki\&. Zdaża się również, że problem taki zostaje wprowadzony do konfiguracji jako tymczasowe rozwiązanie, jednak zapominają o jego zmianie na bardziej bezpieczne\&. +.sp +Przepracowani administratorzy nie są jedynymi, którzy wpadają w taką pułapkę\&. Wiele komercyjnych produktów jest dostarczanych z podobnymi problemami\&. Zdarzyło się to nawet firmie Microsoft, której filtry IPsec dostarczone z Windows 2000 i XP zawierają regułę wpuszczającą cały ruch TCP i UDP pochodzący z portu 88 (Kerberos)\&. Innym dobrze znanym przykładem jest Zone Alarm personal firewall, który do wersji 2\&.1\&.25 włącznie nie filtrował pakietów UDP z portów 53 (DNS) i 67 (DHCP)\&. +.sp +Nmap oferuje dwie ekwiwalentne opcje +\fB\-g\fR +i +\fB\-\-source\-port\fR +pozwalające na wykorzystanie opisanej wyżej funkcjonalności poprzez podanie numeru portu z którego wysyła dane, o ile jest to tylko możliwe\&. Nmap musi używać różnych numerów portów dla poprawnego działania niektórych testów wykrywających system operacyjny, zapytania DNS również ignorują opcję +\fB\-\-source\-port\fR, ponieważ Nmap wykorzystuje do tego biblioteki systemowe\&. Większość typów skanowania TCP, włączając skanowanie SYN obsługuje tę opcję we wszystkich przypadkach, podobnie jak i UDP\&. +.RE +.PP +\fB\-\-data\-length <rozmiar>\fR (Dodawaj losowe dane do wysyłanych pakietów) +.RS 4 +Domyślnie Nmap wysyła pakiety o minimalnej wielkości zawierające jedynie sam nagłówek\&. Pakiety TCP mają 40 bajtów, a ICMP tylko 28\&. Ta opcja pozwala dołączać do większości pakietów losowe dane o podanym rozmiarze\&. Pakiety używane do detekcji systemu operacyjnego (\fB\-O\fR) pozostają nie zmienione, ale przy większości pakietów ping i skanowania portów opcja ta jest wykorzystywana\&. Powiększanie pakietów spowalnia proces skanowania, jednocześnie czyniąc go mniej podejrzanym\&. +.RE +.PP +\fB\-\-ttl <wartość>\fR (Ustaw czas życia pakietu IP) +.RS 4 +Ustawia czas życia (TTL) pakietów na podaną wartość\&. +.RE +.PP +\fB\-\-randomize\-hosts\fR (Losowanie kolejności skanowania hostów) +.RS 4 +Opcja powoduje włączenie losowania kolejności hostów w każdej grupie do 8096 hostów przed ich skanowaniem\&. Zachowanie takie czyni skanowanie mniej oczywistym dla wielu systemów monitorujących sieci, zwłaszcza w połączeniu z opcją spowalniającą skanowanie\&. Możliwe jest losowanie z jeszcze większych grup, poprzez zmianę stałej PING_GROUP_SZ w pliku +nmap\&.h +i rekompilacji\&. Innym rozwiązaniem jest wygenerowanie listy adresów IP za pomocą opcji lista skanowania (\fB\-sL \-n \-oN \fR\fB\fInazwapliku\fR\fR) i losowemu pomieszaniu adresów na niej za pomocą skryptu Perla, oraz podaniu jej Nmapowi za pomocą opcji +\fB\-iL\fR\&. +.RE +.PP +\fB\-\-spoof\-mac <adres mac, prefiks, lub nazwa producenta >\fR (Podmieniaj adres MAC) +.RS 4 +Podaje Nmapowi adres MAC z użyciem którego będą wysyłane wszystkie pakiety ethernet\&. Opcja włącza również automatycznie +\fB\-\-send\-eth\fR +dla uzyskania pewności wysyłania pakietów na poziomie ethernetu\&. Podany adres MAC może przyjmować wiele postaci\&. Jeśli zostanie podany znak +„0\(rq, Nmap wybierze kompletnie losowy adres MAC na czas trwania danej sesji\&. Podanie parzystej ilości cyfr heksadecymalnych (mogą być oddzielone dwukropkami), spowoduje wykorzystanie jej jako adresu MAC, przy czym jeśli podano mniej niż 12 cyfr szestnastkowych, Nmap wypełni pozostałość 6 bajtów losowymi wartościami\&. Jeśli podany ciąg nie jest 0 lub liczbą heksadecymalną, Nmap poszuka w pliku +nmap\-mac\-prefixes +nazwy producenta zawierającego podany ciąg (duże i małe litery nie są rozróżniane) i jeśli znajdzie, użyje identyfikatora producenta OUI (3 bajty) wypełniając pozostałe 3 bajty losowo\&. Przykłady poprawnych argumentów to +Apple, +0, +01:02:03:04:05:06, +deadbeefcafe, +0020F2, +Cisco +itp\&. +.RE +.PP +\fB\-\-badsum\fR (Wysyłanie pakietów z nieprawidłową sumą kontrolną TCP/UDP) +.RS 4 +Powoduje wstawianie do nagłówków wysyłanych pakietów nieprawidłowych sum kontrolnych\&. Jako że prawie każdy stos IP odrzuci tego typu pakiety, otrzymana odpowiedź najprawdopodobniej pochodzi od systemu zaporowego lub IDS, które nie przejmują się sumami kontrolnymi\&. Dokładniejszy opis tej techniki znajduje się pod adresem +\m[blue]\fB\%https://nmap.org/p60-12.txt\fR\m[] +.RE +.SH "WYJŚCIE" +.PP +Każde narzędzie jest tylko tak dobre, jak wyniki które się za jego pomocą uzyskuje\&. Złożone testy i algorytmy nie są nic warte, jeśli ich wyniki nie są zaprezentowane w odpowiedniej formie\&. Z związku z tym, że użytkownicy Nmapa używają go w różny sposób, także w połączeniu z innymi narzędziami, nie ma jednego formatu, który by wszystkich zadowolił\&. Dlatego też Nmap oferuje kilka formatów, włączając w to tryb interaktywny i tryb XML do lepszej integracji z innymi programami\&. +.PP +Dodatkowo poza różnymi formatami wyjściowymi, Nmap posiada opcje pozwalające na kontrolowanie poziomu szczegółowości dostarczanych informacji oraz komunikatów do śledzenia błędów\&. Wyniki mogą być przekazywane do standardowego wyjścia jak i do plików (w trybie zastępowania lub dołączania)\&. Wygenerowane pliki mogą również być wykorzystywane do wznowienia przerwanych skanowań\&. +.PP +Nmap pozwala na uzyskanie pięciu różnych formatów raportów\&. Domyślny to +format interaktywny +i jest wykorzystywany w połączeniu ze standardowym wyjściem\&. Jest także format +format normalny, podobny do +interaktywnego, jednak wyświetla mniej rutynowych informacji i ostrzeżeń, ponieważ jest raczej przewidziany do poźniejszej analizy, niż do interaktywnego oglądania w trakcie skanowania\&. +.PP +Tryb XML jest jednym z najważniejszych, jako że może zostać przekonwertowany na HTML lub bezporoblemowo przetworzony przez inne programy, takie jak graficzne interfejsy użytkownika lub zaimportowany do bazy danych\&. +.PP +Pozostałe dwa najmniej skomplikowane to format pozwalający na łatwe przetwarzanie za pomocą wyrażeń regularnych (grep), który zawiera większość informacji o hoście w jednej linii, oraz format +sCRiPt KiDDi3 0utPUt\&. +.PP +Podczas gdy format interaktywny jest domyślny i nie posiada dodatkowych opcji, pozostałe cztery formaty używają tej samej składni w postaci jednego argumentu, będącego nazwą pliku do którego mają zostać zapisane wyniki\&. Możliwe jest podawanie wielu formatów jednocześnie, jednak każdy z nich może być podany tylko raz\&. Na przykład, jeśli chcesz zapisać format normalny do późniejszego przegladania i równocześnie XML do przetwarzania przez inne programy, używamy składni +\fB\-oX myscan\&.xml \-oN myscan\&.nmap\fR\&. W przykładach z tej dokumentacji dla ułatwienia używamy prostych nazw, takich jak +myscan\&.xml, jednak w codzinnym użyciu zalecane jest stosowanie nazw bardziej opisowych\&. Nazwy te mogą być dowolnie wybierane, zgodnie z własnymi preferencjami, osobiście preferuję długie nazwy zawierające datę skanowania i słowo lub dwa opisujące skanowanie, umieszczone w katalogu zawierającym nazwę firmy skanowaniej\&. +.PP +Podczas zapisywania wyników do pliku Nmap nadal wyświetla interaktywną formę raportu na standardowe wyjście\&. Przykładowo, komenda +\fBnmap \-oX myscan\&.xml cel\fR +zapisuje wyniki w formacie XML do pliku +myscan\&.xml +równocześnie wyświetlając je w trybie interaktywnym tak, jakby opcja +\fB\-oX\fR +nie była podana\&. Możliwa jest zmiana tego zachowania poprzez podanie znaku myślnika (\-) zamiast nazwy pliku przy wybranym formacie, co spowoduje wyświetlanie go zamiast formy interaktywnej\&. Tak więc komenda +\fBnmap \-oX \- cel\fR +spowoduje wyświetlenie tylko formatu XML na standardowym wyjściu stdout\&. Komunikaty o poważnych błędach sa nadal wyświetlane za pomocą standardowego wyjścia błędów stderr\&. +.PP +Inaczej niż przy innych opcjach, spacja pomiędzy opcją (taką jak +\fB\-oX\fR), a nazwą pliku lub myślnika nie jest wymagana\&. Jeśli spacja zostanie pominięta przy opcjach takich jak +\fB\-oG\-\fR +lub +\fB\-oXscan\&.xml\fR, z powodów kompatybilności wstecznej Nmap zapisze wyniki w formacie normalnym w plikach odpowiednio +G\- +i +Xscan\&.xml\&. +.PP +Nmap posiada również opcje pozwalające na ustalenie poziomu szczegółowości podawanych informacji jak również pozwalające na dołączanie wyników do już istniejących plików\&. Opcje te zostały opisane poniżej\&. +.PP +\fBFormaty wyjściowe Nmapa\fR +.PP +\fB\-oN <nazwapliku>\fR (Format normalny) +.RS 4 +Powoduje zapis w +formacie normalnym +do wskazanego pliku\&. Jak napisano wyżej, format ten różni się nieco od +formatu interaktywnego\&. +.RE +.PP +\fB\-oX <nazwapliku>\fR (Format XML) +.RS 4 +Powoduje zapis w +formacie XML +do wskazanego pliku\&. Nmap dołącza definicje formatu dokumentu (DTD), który pozwala innym programom na weryfikację zawartości tego pliku\&. Funkcja ta jest głównie przeznaczona do wykorzystania przez oprogramowanie dodatkowe, jednak może pomóc w ręcznej analizie zawartych danych\&. DTD opisuje jakie elementy XML mogą być legalnie uzywane w pliku i często podaje jakie wartości mogą przyjmować poszczególne znaczniki\&. Zawsze aktualna DTD wersja jest dostępna pod adresem +\m[blue]\fB\%https://nmap.org/data/nmap.dtd\fR\m[]\&. +.sp +XML jest stabilnym formatem, który może być łatwo przetwarzany przez inne programy\&. Darmowe biblioteki do przetwarzania XML są dostępne dla większości języków programowania, takich jak C/C++, Perl, Python czy Java\&. Napisano nawet wiele procedur dostosowanych specjalnie do potrzeb Nmapa\&. Przykładami są +\m[blue]\fBNmap::Scanner\fR\m[]\&\s-2\u[11]\d\s+2 +i +\m[blue]\fBNmap::Parser\fR\m[]\&\s-2\u[12]\d\s+2 +dla Perla (CPAN)\&. W wiekszości dużych aplikacji korzystających z Nmapa preferowany jest właśnie format XML\&. +.sp +W formacie XML jest również opisany styl XSL, który może zostać wykorzystany do konwersji do HTML\&. Najprostrzym sposobem jest po prostu wczytanie pliku XML do przeglądarki internetowej, takiej jak Firefox czy IE\&. Domyślnie zadziała to tylko na komputerze na którym był uruchamiany Nmap (lub skonfigurowanym podobnie), z powodu umieszczenia ścieżki do pliku +nmap\&.xsl +właściwej dla danego systemu\&. Za pomocą opcji +\fB\-\-webxml\fR +lub +\fB\-\-stylesheet\fR +można utworzyć przenośny raport XML, możliwy do obejrzenia w formacie HTML na każdym komputerze podłączonym do Internetu\&. +.RE +.PP +\fB\-oS <nazwapliku>\fR (Format ScRipT KIdd|3) +.RS 4 +Format script kiddie jest podobny do interaktywnego, jednak jest dodatkowo przetworzony na potrzeby l33t HaXXorZ, którzy nie byli zadowoleni z domyślnego, uporządkowanego formatu Nmapa\&. Osoby bez poczucia humoru powinny wiedzieć przed zarzucaniem mi +„pomagania script kiddies \(rq, że opcja ta jest tylko żartem, a nie pomocą\&. +.RE +.PP +\fB\-oG <nazwapliku>\fR (Format "grepowalny") +.RS 4 +Ten format został opisany jako ostatni, jako że jest już przestarzały\&. Format XML jest dużo lepszy i jest prawie tak samo wygodny dla zaawansowanych użytkowników\&. XML jest standardem, do którego napisano dziesiątki bibliotek, podczas gdy format grepowalny jest moim osobistym wymysłem\&. XML pozwala również na łatwe rozszerzanie o nowe funkcje Nmapa w miarę ich dodawania, podczas gdy w formacie grepowalnym muszą one być pomijane z powodu braku miejsca\&. +.sp +Niezależnie od tego, format ten jest nadal całkiem popularny\&. Jest prostym formatem opisującym każdy host w oddzielnej linii i umożliwiający bardzo proste wyszukiwanie i przetwarzanie za pomocą standardowych narzędzi systemów UNIX takich jak grep, awk, cut, sed, diff i Perl\&. Format ten jest wygodny do szybkiego odnajdywania potrzebnych danych, na przykład hostów z otwartym portem SSH lub używających systemu Solaris i jest to możliwe za pomocą wycinania interesujących informacji za pomocą prostych poleceń awk czy cut\&. +.sp +Format grepowalny składa sie z linii komentarzy (rozpoczynających się od znaku #) i linii wyników\&. Linia wyników składa się z sześciu pól, oddzielonych znakami tabulacji i przecinkami\&. Polami tymi są +Host, +Ports, +Protocols, +Ignored State, +OS, +Seq Index, +IPID +i +Status\&. +.sp +Najważniejszymi z tych pól są najczęściej pola +Ports, które zawierają informacje o interesujących portach, w postaci listy oddzielonej przecinkami\&. Każda pozycja na liście reprezentuje jeden otwarty port i opisuje go siedmioma, oddzielonymi znakami (/) subpolami: +Port number, +State, +Protocol, +Owner, +Service, +SunRPC info +i +Version info\&. +.sp +Tak jak i w przypadku formaty XML, dokładny opis formatu grepowalnego przekracza zakres tej dokumentacji i jest dostępny pod adresem +\m[blue]\fB\%http://www.unspecific.com/nmap-oG-output\fR\m[]\&. +.RE +.PP +\fB\-oA <nazwa>\fR (Wyjście we wszystkich formatach) +.RS 4 +Dla wygody można podać opcję +\fB\-oA\fR\fB\fInazwa\fR\fR +do zapisywania wyników w formacie normalnym, XML i grepowalnym równocześnie\&. Wyniki zostaną zapisane odpowiednio w plikach o nazwach +\fInazwa\fR\&.nmap, +\fInazwa\fR\&.xml i +\fInazwa\fR\&.gnmap\&. Tak jak i w przypadku innych programów, nazwa może zostać poprzedzona scieżką, na przykład +~/nmaplogs/foocorp/ +w systemach UNIX lub +c:\ehacking\esco +pod Windows\&. +.RE +.PP +\fBPoziom szczegółowości i opcje diagnozowania błędów\fR +.PP +\fB\-v\fR (Podwyższenie poziomu raportowania) +.RS 4 +Podwyższenie poziomu raportowania powoduje wyświetlanie przez Nmapa większej ilości informacji na temat postępów skanowania\&. Otwarte porty są pokazywane zaraz po ich wykryciu, podawany jest także przewidywany czas zakończenia skanowania w przypadku kiedy Nmap zakłada, że test potrwa dłużej niż kilka minut\&. Dwukrotne użycie tej opcji powoduje dalsze powiększenie poziomu szczegółowości, trzykrotne i dalsze nie dają już żadnego efektu\&. +.sp +Większość zmian dotyczy trybu interaktywnego, niektóre odnoszą się także do trybu normalnego i script kiddie\&. Pozostałe formaty są przystosowane do przetwarzania przez maszyny, więc Nmap może zawsze podawać szczegółowe informacje bez zmniejszania czytelności dla człowieka\&. Są jednak i drobne różnice w innych formatach, na przykład w formacie grepowalnym linia komentarza zawierająca listę skanowanych hostów jest dodawana tylko w trybie podwyższonej szczegółowości, ze względu na swoją dosyć znaczną długość\&. +.RE +.PP +\fB\-d [poziom]\fR (Ustawianie poziomu śledzenia błędów) +.RS 4 +Jeśli dostępne poziomy szczegółowości nie dostarczają wystarczającej ilości informacji, opcje śledzenia błędów mogą Cię wrecz nimi zasypać! Podobnie jak w przypadku wykorzystania opcji podwyższania szczegółowości (\fB\-v\fR), opcja włączająca umowanie nazwane śledzenie błędów, włączana jest za pomocą parametru (\fB\-d\fR) i możliwe jest jej wielokrotne dodawanie powiększające skutek\&. Alternatywnie można podać poziom jako argument do opcji +\fB\-d\fR\&. Na przykład +\fB\-d9\fR +ustawia poziom na dziewięć\&. Jest to najwyższy możliwy poziom produkujący setki linii, o ile nie jest to proste skanowanie kilku portów i hostów\&. +.sp +Format ten jest użyteczny jeśli podejrzewamy istnienie błędu w Nmapie lub jeśli po prostu chcemy wiedzieć co Nmap robi i czemu\&. Jako że opcja ta jest przeznaczona głównie dla autorów, wyświetlane linie nie zawsze są do końca zrozumiałe\&. Można otrzymać na przykład coś w stylu: +Timeout vals: srtt: \-1 rttvar: \-1 to: 1000000 delta 14987 ==> srtt: 14987 rttvar: 14987 to: 100000\&. Jeśli nie rozumiesz takiego zapisu, możesz go po prostu zignorować, poszukać w kodzie źródłowym lub poprosić o pomoc na liście dyskusyjnej twórców Nmapa (nmap\-dev)\&. Niektóre linie są dosyć czytelne, ale stają się coraz bardziej skomplikowane wraz ze wzrostem poziomu śledzenia błędów\&. +.RE +.PP +\fB\-\-packet\-trace\fR (Śledzenie wysyłanych i odbieranych pakietów) +.RS 4 +Powoduje wyświetlanie przez Nmapa krótkiej informacji na temat każdego wysyłanego i odbieranego pakietu\&. Opcja ta jest często używana podczas śledzenia błędów, ale zawiera również wartościowe informacje dla nowych użytkowników, pozwalające zrozumieć co Nmap robi\&. Uniknięcie wyświetlania tysięcy linii możliwe jest poprzez ograniczenie ilości portów do skanowania, na przykład za pomocą +\fB\-p20\-30\fR\&. Jeśli chcesz zobaczyć tylko to, co dzieje się w trakcie wykrywania wersji, użyj raczej opcji +\fB\-\-version\-trace\fR\&. +.RE +.PP +\fB\-\-iflist\fR (Pokazuj interfejsy i tablicę routingu) +.RS 4 +Wyświetla listę interfejsów i tablice routingu wykryte przez Nmapa\&. Opcja jest przydatna przy śledzeniu błędów w routingu lub niepoprawnym wykrywaniu typów interfejsów (na przykład jeśli Nmap traktuje połączenie PPP jako ethernet)\&. +.RE +.PP +\fBPozostałe opcje\fR +.PP +\fB\-\-append\-output\fR (Dołączaj wyniki do pliku) +.RS 4 +Jeśli zostanie podana nazwa pliku jako argument do opcji takiej jak +\fB\-oX\fR +czy +\fB\-oN\fR, domyślnie poprzednia zawartość pliku zostanie usunęta i zastąpiona nową\&. Jeśli zachodzi potrzeba zachowania poprzedniej zawartości pliku i dołączenie nowych wyników, należy dodać opcję +\fB\-\-append\-output\fR\&. Potraktowane tak zostaną wszystkie podane pliki\&. Opcja nie działa zbyt dobrze z formatem XML, jako że wynikowy plik nie może być pożniej bezbłędnie przetworzony bez ręcznych poprawek\&. +.RE +.PP +\fB\-\-resume <nazwapliku>\fR (Wznowienie przerwanego skanowania) +.RS 4 +Niektóre skanowania Nmapa mogą trwać bardzo długo, nawet kilka dni\&. Problem pojawia się wtedy, kiedy nie jest możliwe ciągłe prowadzenie skanowania, na przykład z powodu potrzeby działania tylko w godzinach pracy, problemów z dostępnością sieci, (nie)przypadkowym restartem komputera na którym działa Nmap lub wykonaniem przez niego nieprawidłowej operacji\&. Użytkownik może również przerwać w każdej chwili skanowanie za pomocą kombinacji +ctrl\-C\&. W takich przypadkach ponowne rozpoczynanie testów od początku może nie być pożądane\&. Na szczęście, jeśli pozostały wyniki przerwanych testów w formacie normalnym (\fB\-oN\fR) lub grepowalnym (\fB\-oG\fR), możliwe jest ich wznowienie od momentu przerwania\&. Służy do tego opcja +\fB\-\-resume\fR +dla której argumentem musi byc nazwa pliku w formacie normalnym lub grepowalnym\&. W tym przypadku nie jest możliwe podawanie żadnych innych opcji, jako że Nmap przetworzy podany plik i odtworzy wcześniej podane opcje\&. Po prostu uruchom +\fBnmap \-\-resume \fR\fB\fInazwapliku\fR\fR, a Nmap dołączy do wskazanego pliku nowe wyniki\&. Opcja ta nie obsługuje formatu XML, jako że łączenie dwóch oddzielnych wynikóę skanowań w jeden plik jest dosyć trudne\&. +.RE +.PP +\fB\-\-stylesheet <ścieżka lub URL>\fR (Styl XSL do transformacji formatu XML) +.RS 4 +Nmap posiada domyślny styl XSL do przeglądania lub konwersji do formatu XML w pliku +nmap\&.xsl\&. Plik wyjściowy XML zawiera dyrektywę +xml\-stylesheet +wskazującą na +nmap\&.xml, ze ścieżką do domyślej lokalizacji tego pliku (lub bierzącego katalogu pod Windows)\&. Dzięki temu wystarczy po prostu załadować plik XML Nmapa do przeglądarki, która sama odczyta sobie plik +nmap\&.xsl +i użyje go do prawidłowego wyświetlenia wyników\&. Możliwe jest również użycie innego stylu poprzez podanie nazwy pliku jako argumentu dla opcji +\fB\-\-stylesheet\fR\&. W tym przypadku konieczne jest podanie pełnej ścieżki lub adresu URL\&. Typowe wywołanie ma postać +\fB\-\-stylesheet https://nmap\&.org/data/nmap\&.xsl\fR\&. Dyrektywa ta nakazuje pobranie najnowszej wersji pliku ze stylem ze strony Insecure\&.Org\&. Opcja +\fB\-\-webxml\fR +robi dokładnie to samo, będąc łatwiejszą do wpisania i zapamiętania\&. Używanie pliku XSL ze strony Insecure\&.Org ułatwia przeglądanie wyników na systemie nie posiadającym zainstalowanego Nmapa (czyli nie posiadającym pliku +nmap\&.xsl)\&. Podawanie adresu URL jest wygodniejsze, jednak domyślnie używany jest plik lokalny ze względu za zachowanie poufności użytkownika\&. +.RE +.PP +\fB\-\-webxml\fR (Użyj stylu ze strony Insecure\&.Org) +.RS 4 +Opcja jest wygodniejszym zapisem analogicznego +\fB\-\-stylesheet https://nmap\&.org/data/nmap\&.xsl\fR\&. +.RE +.PP +\fB\-\-no\-stylesheet\fR (Nie używaj deklaracji stylu XSL w formacie XML) +.RS 4 +Dodanie tej opcji powoduje wyłączenie dołączania stylu XSL do pliku z wynikami w formacie XML\&. Zostaje pominięta dyrektywa +xml\-stylesheet\&. +.RE +.SH "RÓŻNE OPCJE" +.PP +Sekcja ta opisuje istotne (i nie istotne) opcje, które nie pasowały gdzie indziej\&. +.PP +\fB\-6\fR (Włączenie skanowania IPv6) +.RS 4 +Od roku 2002 Nmap obsługuje IPv6, w zakresie jego najpopularniejszych funkcji\&. W szczególności dostępne jest skanowanie ping (tylko TCP), connect() i wykrywanie wersji\&. Składnia opcji jest taka sama jak zwykle, wystarczy tylko dodać opcję +\fB\-6\fR\&. Oczywiście w przypadku podawania adresów zamiast nazw, niezbędne jest podawanie ich zgodnie ze składnią IPv6\&. Jako że adres może wyglądać podobnie do +3ffe:7501:4819:2000:210:f3ff:fe03:14d0, zalecane jest używanie nazw hostów\&. Wyniki poza samym adresem wyglądają tak samo jak i przy innych opcjach\&. +.sp +Adresacja IPv6 nie zawładnęła jeszcze światem, jednak jest często wykorzystywana w niektórych krajach (zwykle azjatyckich) i większość obecnych systemów ją obsługuje\&. Oczywiście do używania IPv6 musi być on prawidłowo skonfigurowany i dostępny zarówno na hoście skanowanym, jak i skanującym\&. Jeśli dostawca usług nie umożliwia uzyskania adresów IP (najczęściej tak właśnie jest), jest dużo dostawców darmowych tuneli, które działają poprawnie z Nmapem\&. Jednymi z lepszych są dostarczane przez BT Exact i Hurricane Electric na +\m[blue]\fB\%http://ipv6tb.he.net/\fR\m[]\&. Tunele 6to4 są innym popularnym i darmowym rozwiązaniem\&. +.RE +.PP +\fB\-A\fR (Agresywne opcje skanowania) +.RS 4 +Włącza dodatkowe zaawansowane i agresywne opcje skanowania\&. Aktualnie są nimi wykrywanie systemu operacyjnego (\fB\-O\fR) i wykrywanie wersji (\fB\-sV\fR)\&. Więcej opcji być może zostanie dodane w przyszłości\&. Głównym celem jest proste włączenie najbardziej popularnych opcji skanowania bez konieczności zapamiętywania wielu parametrów\&. Włączane są tylko opcje włączające określoną funkcjonalność, nie zaś te dotyczące zależności czasowych (takie jak +\fB\-T4\fR) czy poziomu szczegółowości (\fB\-v\fR), które można dodać niezależnie\&. +.RE +.PP +\fB\-\-datadir <nazwakatalogu>\fR (Określenie lokalizacji plików z danymi) +.RS 4 +Podczas pracy Nmap pobiera dodatkowe informacje z plików +nmap\-service\-probes, +nmap\-services, +nmap\-protocols, +nmap\-rpc, +nmap\-mac\-prefixes +i +nmap\-os\-fingerprints\&. Nmap rozpoczyna poszukiwania tych plików od katalogu podanego jako parametr dla opcji +\fB\-\-datadir\fR, jeśli została dodana\&. Jeśli nie znajdzie plików w podanej lokalizacji, poszukuje ich w katalogu określonych w zmiennej środowiskowej NMAPDIR, a następnie w katalogu +~/\&.nmap +dla rzeczywistego i efektywnego UID (tylko systemy POSIX) i katalogu z programem Nmap (tylko Win32)\&. Jeśli i to nie przyniesie skutku, poszukiwane są w lokalizacji podanej przy kompilacji, takiej jak +/usr/local/share/nmap +lub +/usr/share/nmap\&. Na końcu sprawdzany jest aktualny katalog\&. +.RE +.PP +\fB\-\-send\-eth\fR (Używanie niskopoziomowych ramek ethernet) +.RS 4 +Opcja powoduje wysyłanie bezpośrednio ramek niskiego poziomu ethernet (warstwa danych), zamiast poprzez stos IP (warstwa sieci)\&. Domyślnie Nmap wybiera metodę, która jest ogólnie lepsza dla danej platformy, na której jest uruchomiony\&. Gniazda raw (warstwa IP) są efektywniejsze w przypadku systemów UNIX, podczas gdy ramki ethernet są niezbędne w przypadku systemów Windows, od czasu kiedy to Microsoft wyłączył obsługę gniazd raw\&. Jeśli nie ma innej możliwości, Nmap w systemach UNIX wybierze metodę ethernet, pomijając wybraną przez użytkownika i niedostępną opcję\&. +.RE +.PP +\fB\-\-send\-ip\fR (Wysyłaj pakiety raw IP) +.RS 4 +Włącza wysyłanie pakietów przez gniazda raw IP, zamiast przez ramki ethernet\&. Opcja jest przeciwieństwem opisanej wyżej opcji +\fB\-\-send\-eth\fR\&. +.RE +.PP +\fB\-\-privileged\fR (Zakładaj że użytkownik ma odpowiednie uprawnienia) +.RS 4 +Informuje Nmapa, że użytkownik jest wystarczająco uprzywilejowany aby korzystać z wysyłania pakietów za pomocą gniazd raw, podsłuchiwania pakietów i podobnych operacji zwykle wymagających uprwawnień roota w systemach UNIX\&. Domyślnie Nmap przerywa działanie w momencie wykrycia próby wykonania takich operacji i funkcja geteuid() nie zwraca wartości zero\&. Opcja +\fB\-\-privileged\fR +jest użyteczna w systemach Linux posiadających możliwości odpowiedniego przywilejowania użytkowników do przeprowadzania wymienionych operacji\&. Upewnij się, że opcja została podana przed innymi opcjami wymagającymi podwyższonych uprwanień (skanowanie SYN, wykrywanie systemu operacyjnego itp)\&. Zmienna NMAP_PRIVILEGED może zostać ustawiona jako alternatywa dla wykorzystania opcji +\fB\-\-privileged\fR\&. +.RE +.PP +\fB\-V\fR; \fB\-\-version\fR (Wyświetl numer wersji) +.RS 4 +Wyświetla tylko numer wersji Nmapa\&. +.RE +.PP +\fB\-h\fR; \fB\-\-help\fR (Wyświetl pomoc) +.RS 4 +Wyświetla krótki ekran pomocy opisujący najpopularniejsze opcje, podobnie jak uruchomienie Nmapa bez parametrów\&. +.RE +.SH "INTERAKCJA W CZASIE PRACY" +.PP +Podczas pracy Nmapa, przechwytywane są wszystkie naciśnięcia klawiszy\&. Pozwala to na interakcję z programem bez przerywania go lub restartowania\&. Niektóre specjalne klawisze zmieniają opcje, inne wyświetlają status skanowania\&. Konwencja zakłada, że +\fImałe litery zmniejszają\fR +ilość informacji, a +\fIduże litery powiększają\fR\&. Można również nacisnąć \(oq\fI?\fR\(cq dla +.PP +\fBv\fR / \fBV\fR +.RS 4 +Zwiększenia / Zmniejszenia poziomu szczegółowości +.RE +.PP +\fBd\fR / \fBD\fR +.RS 4 +Zwiększenia / Zmniejszenia poziomu śledzenia błędów +.RE +.PP +\fBp\fR / \fBP\fR +.RS 4 +Włączenia / Wyłączenia śledzenia pakietów +.RE +.PP +\fB?\fR +.RS 4 +Wyświetlenia ekranu pomocy +.RE +.PP +Wszystko inne +.RS 4 +Wyświetla status w postaci: +.sp +Stats: 0:00:08 elapsed; 111 hosts completed (5 up), 5 undergoing Service Scan +.sp +Service scan Timing: About 28\&.00% done; ETC: 16:18 (0:00:15 remaining) +.RE +.SH "PRZYKŁADY" +.PP +Poniżej przedstawiono przykłady wykorzystania Nmapa, od prostych i rutynowych do trochę bardziej skomplikowanych i ezoterycznych\&. Przykładowe adresy IP i nazwy domen powinny zostać zastąpione adresami/nazwami z +\fItwojej własnej sieci\fR\&. Nie uważam, że skanowanie portów powinno być nielegalne, jednak niektórzy administratorzy nie tolerują nie autoryzowanego skanowania ich sieci i mogą zgłaszać swoje protesty\&. Uzyskanie zgody jest pierwszym wyzwaniem\&. +.PP +Do celu testów, masz zgodę do skanowania hosta +scanme\&.nmap\&.org\&. Zgoda pozwala jedynie na skanowanie za pomocą Nmapa, nie zaś na testowanie exploitów czy przeprowadzanie ataków typu Denial of Service\&. Dla oszczędności pasma, proszę nie uruchamiaj więcej niż tuzina skanowań tego hosta dziennie\&. W przypadku nadużyć, host zostanie wyłączony, a Nmap będzie zwracał komunikat +Failed to resolve given hostname/IP: scanme\&.nmap\&.org\&. pozwolenie dotyczy także adresów +scanme2\&.nmap\&.org, +scanme3\&.nmap\&.org +i następnych, choć hosty te jeszcze nie istnieją\&. +.PP +\fBnmap \-v scanme\&.nmap\&.org\fR +.PP +Pozwoli na przeskanowanie wszystkich portów TCP adresu +scanme\&.nmap\&.org\&. Opcja +\fB\-v\fR +podwyższy poziom szczegółowości zwracanych informacji\&. +.PP +\fBnmap \-sS \-O scanme\&.nmap\&.org/24\fR +.PP +Uruchamia skanowanie SYN wszystkich 255 hostów znajdujących się w tej samej klasie +„C\(rq, co host scanme\&.nmap\&.org\&. Dodatkowo wykonywana jest próba detekcji systemu operacyjnego dla każdego hosta, który jest aktywny\&. Wymaga to uprawnień użytkownika root, z powodu wykorzystania skanowania SYN i wykrywania systemu operacyjnego\&. +.PP +\fBnmap \-sV \-p 22,53,110,143,4564 198\&.116\&.0\-255\&.1\-127\fR +.PP +Uruchamia enumerację hostów i skanowanie TCP pierwszej połowy każej z 255 możliwych 8\-mio bitowych podsieci klasy B 198\&.116\&. Wykrywane jest działanie usług sshd, DNS, pop3d, imapd i portu 4564\&. Dla każdego z tych portów, który został wykryty jako otwarty przeprowadzane jest wykrywanie wersji działającej aplikacji\&. +.PP +\fBnmap \-v \-iR 100000 \-P0 \-p 80\fR +.PP +Poleca Nmapowi na wybranie 100,000 losowych hostów i przeskanowanie ich w poszukiwaniu serwerów WWW (port 80)\&. Enumeracja hostów jest wyłączona za pomocą opcji +\fB\-P0\fR, ponieważ wysyłanie najpierw pakietów w celu określenia czy host jest aktywny nie ma sensu, jako że i tak jest wykonywany test tylko na jednym porcie per host\&. +.PP +\fBnmap \-P0 \-p80 \-oX logs/pb\-port80scan\&.xml \-oG logs/pb\-port80scan\&.gnmap 216\&.163\&.128\&.20/20\fR +.PP +Skanuje 4096 adresów IP w poszukiwaniu serwerów WWW (bez pingowania ich) i zapisuje wyniki w plikach XML i grepowalnym\&. +.SH "BŁĘDY" +.PP +Jak i jego autor, Nmap nie jest doskonały\&. Możesz jednak pomóc przysyłając raporty dotyczące błędów lub nawet wysyłając własne poprawki\&. Jeśli Nmap nie zachowuje sie w sposób którego oczekujesz, zacznij od aktualizacji do najnowszej wersji dostępnej pod adresem +\m[blue]\fB\%https://nmap.org/\fR\m[]\&. Jeśli problem nadal występuje, wykonaj trochę testów dla określenia czy podobny problem nie został już wykryty i oznaczony\&. Spróbuj poszukać Googlem komunikatu błędu lub poprzeglądaj archiwa listy dyskusyjnej Nmap\-dev pod adresem +\m[blue]\fB\%https://seclists.org/\fR\m[]\&. Przeczytaj również cała dokumentację\&. Jeśli nic nie pomoże, wyślij raport opisujący błąd po angielsku na adres +<dev@nmap\&.org>\&. Proszę dołącz wszystko co udało Ci się ustalić na temat tego problemu, jak również informację o używanej wersji Nmapa i systemie operacyjnym na którym jest uruchamiany\&. Opisy problemów i pytania dotyczące używania Nmapa wysłane na adres dev@nmap\&.org z większym prawdopodobieństwem doczekają sie szybkiej odpowiedzi, niż wysłane bezpośrednio do Fyodora\&. +.PP +Poprawki błędnego kodu są milej widziane, niż opisy błedów\&. Podstawowe instrukcje tworzenia poprawek są opisane na stronie +\m[blue]\fB\%https://nmap.org/data/HACKING\fR\m[]\&. Poprawki mogą być wysyłane na nmap\-dev (rekomendowane) lub bezpośrednio do Fyodora\&. +.SH "AUTOR" +.PP +Fyodor +<fyodor@nmap\&.org> +(\m[blue]\fB\%http://www.insecure.org\fR\m[]) +.PP +Setki ludzi wniosły wartościowy wkład w rozwój Nmapa\&. Szczegóły są zamieszczane w pliku +CHANGELOG, który jest rozpowszechniany z Nmapem i jest również dostępny pod adresem +\m[blue]\fB\%https://nmap.org/changelog.html\fR\m[]\&. +.SH "UWARUNKOWANIA PRAWNE" +.SS "Unofficial Translation Disclaimer / Oświadczenie dotyczące tłumaczenia" +.PP +This is an unnofficial translation of the +\m[blue]\fBNmap license details\fR\m[]\&\s-2\u[13]\d\s+2 +into polish\&. It was not written by Insecure\&.Com LLC, and does not legally state the distribution terms for Nmap \-\- only the original English text does that\&. However, we hope that this translation helps polish speakers understand the Nmap license better\&. +.PP +To jest nieoficjalne tłumaczenie +\m[blue]\fBlicencji Nmapa\fR\m[]\&\s-2\u[13]\d\s+2 +na język polski\&. Nie zostało ono napisane przez Insecure\&.Com LLC, i przez to nie może być uważane za wiążące, tak jak jego angielska wersja, jednakże uważamy, że tłumaczenie to pozwoli lepiej zrozumieć licencję Nmapa\&. +.SS "Prawa autorskie i licencjonowanie Nmap" +.PP +Prawa autorskie (1996\-2005) do programu Nmap Security Scanner posiada Insecure\&.Com LLC\&. Nmap jest także zastrzeżonym znakiem towarowym Insecure\&.Com LLC\&. Ten program jest wolnym oprogramowaniem; możliwa jest jego redystrybucja i/lub modyfikowanie zgodnie z zasadami licencji GNU General Public License opublikowanej przez Free Software Foundation; Wersja 2\&. Gwarantuje ona prawo do używania, modyfikowania i redystrybucji tego oprogramowania pod pewnymi warunkami\&. Jeśli technologia Nmapa jest integrowana z innymi programami, możliwa jest sprzedaż alternatywnych licencji (kontakt +<sales@insecure\&.com>)\&. Wielu producentów skanerów bezpieczeństwa licencjonuje technologie Nmapa takie jak wykrywanie hostów, skanowanie portów, wykrywanie systemów operacyjnych i wykrywanie usług/wersji\&. +.PP +GPL nakłada isotne ograniczenia w stosunku do +„produktów pochodnych \(rq, jednak nie jest jeszcze dostępna dokładna ich definicja\&. Dla uniknięcia nieporozumień zakładamy, że aplikacja jest produktem pochodnym w przypadku gdy spełnia któryś z warunków: +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Integruje kod źródłowy Nmapa +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Odczytuje lub dołącza chronione prawami autorskimi pliki Nmapa, takie jak +nmap\-os\-fingerprints +czy +nmap\-service\-probes\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Uruchamia Nmapa i przetwarza jego wyniki (w odróżnieniu od aplikacji, które uruchamiają Nmapa i wyświetlają nie przetworzone raporty i przez to nie są produktami pochodnymi)\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Integrują/włączają/agregują Nmapa w wykonywalnym instalatorze, tak jak stworzone za pomocą InstallShield\&. +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Wykorzystują bibliotekę lub program wykonujący jedno z powyższych\&. +.RE +.PP +Warunki +„Nmapa\(rq +powinny dotyczyć części i pochodnych programu Nmap\&. Powyższa lista ma na celu klarowne przedstawienie naszej interpretacji programów pochodnych z przykładami\&. Ograniczenia dotyczą tylko przypadków, w których Nmap jest rozpowszechniany razem z programem pochodnym\&. Na przykład nic nie stoi na przeszkodzie napisania i sprzedawania własnego interfejsu do Nmapa\&. Wystarczy rozprowadzać go oddzielnie podając użytkownikom adres +\m[blue]\fB\%https://nmap.org/\fR\m[] +do pobierania Nmapa\&. +.PP +Nie uważamy tego za ograniczenia dodane do GPL, ale jako klarowną interpretację +„programów pochodnych\(rq, jako że dotyczy to naszego produktu opartego na GPL\&. Jest to zbliżone do sposobu w jaki Linus Torvalds opublikował swoją interpretację dotyczącą +„programów pochodnych\(rq, opartych na modułach kernela Linuxa\&. Nasza interpretacja odnosi się tylko do Nmapa \- nie mówimy o żadnym innym produkcie GPL\&. +.PP +Jeśli masz jakiekolwiek pytania dotyczące ograniczeń licencji GPL przy zastosowaniach Nmapa w produktach nie opartych na GPL, chętnie pomożemy\&. Jak wspomniano wyżej, oferujemy także alternatywną licencję do integrowania Nmapa we własnych aplikacjach i urządzeniach\&. Licencje na integrację Nmapa zostały sprzedane wielu producentom oprogramowania związanego z bezpieczeństwem i ogólnie zawierają dożywotnią licencję oraz dostarczają priorytetowego wsparcia technicznego wraz z aktualizacjami i pomagają opłacić dalszy rozwój Nmapa\&. Proszę o kontakt z +<sales@insecure\&.com> +w celu uzyskania dalszych informacji\&. +.PP +Jako specjalny wyjątek dla warunków GPL, Insecure\&.Com LLC zezwala na linkowanie kodu tego programu z dowolną wersją biblioteki OpenSSL, która jest dystrybuowana na licencji identycznej do umieszczonej w pliku Copying\&.OpenSSL oraz na dystrybucję obu w postaci zlinkowanej\&. Musisz przestrzegać licencji GPL we wszystkich aspektach wykorzystania kodu, innym niż OpenSSL\&. Jeśli zmodyfikujesz wspomniany plik, możesz rozszerzyć ten wyjątek o Twoją wersję, ale nie jesteś do tego zobligowany\&. +.PP +Jeśli otrzymałeś(aś) te pliki z pisemną licencją lub kontraktem zmieniającym powyższe zapisy, mają one pierwszeństwo nad umieszczonymi tutaj\&. +.SS "Licencja Creative Commons dla tego podręcznika Nmap" +.PP +Prawa (2005) do tego podręcznika Nmapa posiada Insecure\&.Com LLC\&. Jest on udostępniany w oparciu o wersję 2\&.5 licencji +\m[blue]\fBCreative Commons Attribution License\fR\m[]\&\s-2\u[2]\d\s+2\&. Pozwala ona na redystrybucję i modyfikowanie w potrzebnym zakresie tak długo, jak zostanie podane oryginalne źródło\&. Alternatywnie możesz traktować ten dokument jako udostępniany na takiej samej licencji jak Nmap (opisanej wcześniej)\&. +.SS "Dostępność kodu źródłowego i wkład społeczności" +.PP +Kod źródłowy dla tego programowania jest dostępny, ponieważ uważamy, że użytkownicy mają prawo wiedzieć dokładnie co program robi, zanim go uruchomią\&. Pozwala to także na przeprowadzenie audytu kodu pod kątem bezpieczeństwa (jak dotąd nie wykryto problemu tego typu)\&. +.PP +Kod źródłowy pozwala również na przenoszenie Nmapa na nowe platformy, na poprawianie błędów i dodawanie nowych funkcji\&. Mocno zachęcamy do wysyłania swoich zmian na adres +<fyodor@nmap\&.org> +w celu możliwej integracji z główną dystrybucją\&. Wysłanie tych zmian do Fyodora lub na jedną z list dyskusyjnych dla deweloperów Insecure\&.Org, powoduje przekazanie praw do nielimitowanego, nie wyłącznego prawa do ponownego wykorzystania, modyfikacji i relicencjonowania tego kodu\&. Nmap zawsze będzie dostępny jako Open Source, lecz jest to istotne z powodu dewastujących problemów jakie pojawiały się w innych projektach Free Software (takich jak KDE i NASM)\&. Okazjonalnie licencjonujemy kod do firm trzecich, jak to wspomniano wyżej\&. Jeśli chcesz dodać specjalną licencję dla swojego wkładu, wystarczy dołączyć odpowiednią informację przy wysyłaniu kodu do nas\&. +.SS "Brak gwarancji" +.PP +Program ten jest rozpowszechniany z nadzieją, że będzie użyteczny, jednak BEZ ŻADNEJ GWARANCJI; także bez założonej gwarancji PRZYDATNOŚCI HANDLOWEJ lub PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ\&. Zobacz licencję GNU General Public License dla dalszych szczegółów pod adresem +\m[blue]\fB\%http://www.gnu.org/copyleft/gpl.html\fR\m[], jej polskie nieoficjalne tłumaczenie +\m[blue]\fB\%http://www.gnu.org.pl/text/licencja-gnu.html\fR\m[] +lub w pliku COPYING dołączanym do Nmapa\&. +.PP +Należy również zwrócić uwagę, że Nmap okazjonalnie potrafi spowodować zaprzestanie działania źle napisanych aplikacji, stosu TCP/IP lub nawet całego systemu operacyjnego\&. Jest to bardzo rzadko spotykane, ale ważne jest, aby o tym pamiętać\&. +\fINmap nie powinien być nigdy uruchamiany przeciwko systemom krytycznym\fR, o ile nie jesteś przygotowany(a) na ewentualną przerwę w działaniu\&. Potwierdzamy, że Nmap może spowodować awarię systemów lub sieci i wypieramy się jakiejkolwiek odpowiedzialności za uszkodzenia lub problemy spowodowane przez jego działanie\&. +.SS "Nieodpowiednie użycie" +.PP +Z powodu istnienia niewielkiego ryzyka spowodowania awarii i ponieważ niektóre czarne kapelusze lubią używać Nmapa do wykonania rekonesansu przed atakiem systemu, administratorzy mogą się denerwować i zgłaszać swoje protesty z powodu skanowania ich systemów\&. Z tego powodu, najczęściej zalecane jest uzyskanie odpowiedniej zgody przed wykonaniem nawet delikatnego skanowania sieci\&. +.PP +Z powodów bezpieczeństwa, Nmap nie powinien być nigdy instalowany ze specjalnymi uprawnieniami (np\&. suid root)\&. +.SS "Oprogramowanie firm trzecich" +.PP +Ten produkt zawiera oprogramowanie stworzone przez +\m[blue]\fBApache Software Foundation\fR\m[]\&\s-2\u[14]\d\s+2\&. Zmodyfikowana wersja biblioteki +\m[blue]\fBLibpcap portable packet capture library\fR\m[]\&\s-2\u[15]\d\s+2 +jest dołączana do dystrybucji Nmapa\&. Wersja Nmapa dla systemu Windows wykorzystuje opartą na libpcap bibliotekę +\m[blue]\fBWinPcap\fR\m[]\&\s-2\u[16]\d\s+2 +(zamiast libpcap)\&. Obsługę wyrażeń regularnych zapewnia biblioteka +\m[blue]\fBPCRE\fR\m[]\&\s-2\u[17]\d\s+2, która jest oprogramowaniem open source, napisanym przez Philip Hazel\&. Niektóre funkcje dotyczące niskiego poziomu sieci wykorzystują bibliotekę +\m[blue]\fBLibdnet\fR\m[]\&\s-2\u[18]\d\s+2, napisaną przez Dug Songa\&. Zmodyfikowana jej wersja jest dołączana do dystrybucji Nmapa\&. Nmap może być opcjonalnie linkowany z biblioteką kryptograficzną +\m[blue]\fBOpenSSL\fR\m[]\&\s-2\u[19]\d\s+2, używaną do detekcji wersji SSL\&. Wszystkie opisane w tym paragrafie programy firm trzecich są rozpowszechniane na licencji BSD\&. +.SS "Klasyfikacja eksportowa Stanów Zjednoczonych Ameryki Północnej" +.PP +US Export Control: Insecure\&.Com LLC wierzy, że Nmap kwalifikuje się pod oznaczenie US ECCN (export control classification number) 5D992\&. Kategoria ta jest opisana jako +„Oprogramowanie dotyczące bezpieczeństwa informacji nie objęte 5D002\(rq\&. Jedynym ograniczeniem tej kategorii jest AT (anty\-terroryzm), która odnosi się do większości dóbr i zabrania eksportu do niektórych awanturniczych krajów takich jak Iran czy Północna Korea\&. Z tego powodu Nmap nie wymaga żadnej specjalnej licencji, zgody lub innych autoryzacji rządu USA\&. +.SH "PRZYPISY" +.IP " 1." 4 +oryginalnej dokumentacji Nmapa +.RS 4 +\%https://nmap.org/man/ +.RE +.IP " 2." 4 +Creative Commons Attribution License +.RS 4 +\%http://creativecommons.org/licenses/by/2.5/ +.RE +.IP " 3." 4 +HTML +.RS 4 +\%https://nmap.org/man/pl/ +.RE +.IP " 4." 4 +NROFF +.RS 4 +\%https://nmap.org/data/man-xlate/nmap-pl.1 +.RE +.IP " 5." 4 +XML +.RS 4 +\%https://nmap.org/data/man-xlate/nmap-man-pl.xml +.RE +.IP " 6." 4 +RFC 1122 +.RS 4 +\%http://www.rfc-editor.org/rfc/rfc1122.txt +.RE +.IP " 7." 4 +RFC 792 +.RS 4 +\%http://www.rfc-editor.org/rfc/rfc792.txt +.RE +.IP " 8." 4 +UDP +.RS 4 +\%http://www.rfc-editor.org/rfc/rfc768.txt +.RE +.IP " 9." 4 +TCP RFC +.RS 4 +\%http://www.rfc-editor.org/rfc/rfc793.txt +.RE +.IP "10." 4 +RFC 959 +.RS 4 +\%http://www.rfc-editor.org/rfc/rfc959.txt +.RE +.IP "11." 4 +Nmap::Scanner +.RS 4 +\%http://sourceforge.net/projects/nmap-scanner/ +.RE +.IP "12." 4 +Nmap::Parser +.RS 4 +\%http://www.nmapparser.com +.RE +.IP "13." 4 +Nmap license details +.RS 4 +\%https://nmap.org/man/man-legal.html +.RE +.IP "14." 4 +Apache Software Foundation +.RS 4 +\%http://www.apache.org +.RE +.IP "15." 4 +Libpcap portable packet capture library +.RS 4 +\%http://www.tcpdump.org +.RE +.IP "16." 4 +WinPcap +.RS 4 +\%http://www.winpcap.org +.RE +.IP "17." 4 +PCRE +.RS 4 +\%http://www.pcre.org +.RE +.IP "18." 4 +Libdnet +.RS 4 +\%http://libdnet.sourceforge.net +.RE +.IP "19." 4 +OpenSSL +.RS 4 +\%http://www.openssl.org +.RE |